~ chicken-core (chicken-5) 7cc54e2764eb44d6249bf26bc12bc36e0ea0e8a3
commit 7cc54e2764eb44d6249bf26bc12bc36e0ea0e8a3
Author: Peter Bex <peter.bex@xs4all.nl>
AuthorDate: Sun Oct 6 17:01:27 2013 +0200
Commit: Mario Domenech Goulart <mario.goulart@gmail.com>
CommitDate: Thu Oct 17 14:25:04 2013 -0300
Disable paranoid code for clang & C++, due to limited support in g++/clang
Signed-off-by: Mario Domenech Goulart <mario.goulart@gmail.com>
diff --git a/chicken.h b/chicken.h
index 07e4fe8c..88bceb8e 100644
--- a/chicken.h
+++ b/chicken.h
@@ -862,7 +862,8 @@ DECL_C_PROC_p0 (128, 1,0,0,0,0,0,0,0)
# define C_UWORD_MAX UINT_MAX
#endif
-#if DEBUGBUILD && HAVE_STATEMENT_EXPRESSIONS
+/* Clang and G++ support statement expressions, but only in a limited way */
+#if DEBUGBUILD && HAVE_STATEMENT_EXPRESSIONS && !defined(__clang__) && !defined(__cplusplus)
/* These are wrappers around the following idiom:
* assert(SOME_PRED(obj));
* do_something_with(obj);
Trap