8#ifndef INCLUDED_BSLS_ASSERTIMPUTIL
9#define INCLUDED_BSLS_ASSERTIMPUTIL
135#include <bsls_annotation.h>
144#ifdef BSLS_PLATFORM_CMP_SUN
152#define BSLS_ASSERTIMPUTIL_AVOID_STRING_CONSTANTS
163#define BSLS_ASSERTIMPUTIL_DEFAULTFILE __FILE__
164#define BSLS_ASSERTIMPUTIL_FILE BSLS_ASSERTIMPUTIL_DEFAULTFILE
166#define BSLS_ASSERTIMPUTIL_LINE __LINE__
168#ifdef BSLS_PLATFORM_CMP_SUN
174#define BSLS_ASSERTIMPUTIL_AVOID_STRING_CONSTANTS
190#ifdef BSLS_ASSERT_USE_CONTRACTS
197#if !defined(__cpp_contracts_literal_semantics)
198#error BSLS_ASSERT_USE_CONTRACTS requires compiler contract support \
199 (__cpp_contracts_literal_semantics)
202#ifndef BSLS_ASSERT_NORETURN_INVOKE_HANDLER
205#define BSLS_ASSERT_NORETURN_INVOKE_HANDLER
208struct AssertImpUtil_UseContractsCpp20 {
209 static const int s_isAssertUseContracts;
224 bsls_assertimputil_coerce_use_contracts,
234struct AssertImpUtil {
243 static void failByAbort();
248 static void failBySleep();
#define BSLS_ANNOTATION_NORETURN
Definition bsls_annotation.h:383
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
#define BSLS_LINKCOERCION_FORCE_SYMBOL_DEPENDENCY(type, refName, referredSymbol)
Definition bsls_linkcoercion.h:194
Definition bdlt_iso8601util.h:691
AssertImpUtil_UseContractsNo AssertImpUtil_UseContracts
Definition bsls_assertimputil.h:218
Definition bsls_assertimputil.h:215
static const int s_isAssertUseContracts
Definition bsls_assertimputil.h:216