~ 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