~ chicken-core (chicken-5) 946e656f86bf1a0f66ad9416ae8fd6a9b6d95001
commit 946e656f86bf1a0f66ad9416ae8fd6a9b6d95001 Author: felix <felix@call-with-current-continuation.org> AuthorDate: Thu Feb 25 16:58:23 2010 +0100 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Thu Feb 25 16:58:23 2010 +0100 clang-specific changes to chicken.h diff --git a/chicken.h b/chicken.h index d3c25076..a7101e54 100644 --- a/chicken.h +++ b/chicken.h @@ -249,11 +249,15 @@ typedef unsigned __int64 uint64_t; # ifndef __cplusplus # define C_cblock ({ # define C_cblockend }) -# define C_noret __attribute__ ((noreturn)) +# ifdef __clang__ +# define C_noret +# else +# define C_noret __attribute__ ((noreturn)) +# endif # define C_noret_decl(name) # define C_aligned __attribute__ ((aligned)) # endif -# ifdef __i386__ +# if defined(__i386__) && !defined(__clang__) # define C_regparm __attribute__ ((regparm(3))) # endif #elif defined(_MSC_VER) @@ -618,6 +622,8 @@ typedef unsigned __int64 uint64_t; # define C_BUILD_PLATFORM "sun" #elif defined(__MINGW32__) # define C_BUILD_PLATFORM "mingw32" +#elif defined(__clang__) +# define C_BUILD_PLATFORM "clang" #elif defined(__GNUC__) # define C_BUILD_PLATFORM "gnu" #elif defined(__MWERKS__)Trap