X-Git-Url: https://pd.if.org/git/?p=pdclib;a=blobdiff_plain;f=includes%2Fassert.h;h=ffb394803e8e4a04d46c81283184357820ccedcd;hp=44b30b87b7bdbe98281ad086afed1162fb623a4c;hb=d7f375a09a9912bb18ad42f1442fbf64311bfed6;hpb=0bfd3aa28ccec8c35481fe04d1dc82a0f1f522e6 diff --git a/includes/assert.h b/includes/assert.h index 44b30b8..ffb3948 100644 --- a/includes/assert.h +++ b/includes/assert.h @@ -1,4 +1,4 @@ -/* 7.2 Diagnostics +/* Diagnostics This file is part of the Public Domain C Library (PDCLib). Permission is granted to use, modify, and / or redistribute at will. @@ -14,22 +14,28 @@ evaluates to true; * print an error message and terminates the program if NDEBUG is not set AND the parameter expression evaluates to false. - The error message contains the parameter expression, name of the source file + The error message contains the parameter expression, name of the source file (__FILE__), line number (__LINE__), and (from C99 onward) name of the function (__func__). - The header can be included MULTIPLE times, and redefines the macro depending + The header can be included MULTIPLE times, and redefines the macro depending on the current setting of NDEBUG. */ -_PDCLIB_BEGIN_EXTERN_C - #ifndef _PDCLIB_ASSERT_H #define _PDCLIB_ASSERT_H _PDCLIB_ASSERT_H +#ifdef __cplusplus +extern "C" { +#endif + /* Functions _NOT_ tagged noreturn as this hampers debugging */ void _PDCLIB_assert99( char const * const, char const * const, char const * const ); void _PDCLIB_assert89( char const * const ); +#ifdef __cplusplus +} +#endif + #if _PDCLIB_C_VERSION >= 2011 #define static_assert _Static_assert #else @@ -54,7 +60,7 @@ void _PDCLIB_assert89( char const * const ); _PDCLIB_UNREACHABLE; \ } \ } while(0) - + #else #define assert(expression) \ do { if(!(expression)) { \ @@ -66,5 +72,3 @@ void _PDCLIB_assert89( char const * const ); } \ } while(0) #endif - -_PDCLIB_END_EXTERN_C