~ 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