libk  Diff

Differences From Artifact [ded1289884]:

To Artifact [46cfa15699]:


    85     85   #		define KVstd c++
    86     86   #		if (__cplusplus >= 201103L)
    87     87   #			define KFstd_cpp11
    88     88   #			define KVstd c++11
    89     89   #		endif /* TODO: add more */
    90     90   #	endif
    91     91   #endif
           92  +
           93  +#ifdef KFstd_c11
           94  +#	define Kassert _Static_assert
           95  +#else
           96  +#	define Kassert(x) { struct { int assertion_failed[(x) ? 1 : -1] }; }
           97  +#endif
    92     98   
    93     99   /* hooo boy. null. that one's got a storied
    94    100    * history across the versions and dialects.
    95    101    * below, we try to find the ideal way to
    96    102    * offer a "null" "keyword" depending on
    97    103    * dialect, version, and whether the user
    98    104    * has asked for macros to be suspended.
................................................................................
   117    123   #	define noreturn [[ noreturn ]]
   118    124   #elif __STDC_VERSION__ >= 201103L
   119    125   #	define noreturn _Noreturn
   120    126   #else
   121    127   #	define noreturn
   122    128   #endif
   123    129   
   124         -noreturn void kstop(longstat code);
          130  +noreturn void kstop(stat_long code);
   125    131   
   126    132   #ifdef KFclean
   127    133   #	undef noreturn
   128    134   #endif
   129    135   
   130    136   #endif