~ 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