Skip to content
Browse files

Added an exit() to JSON_FAIL_MESSAGE to fix "no return" errors.

git-svn-id: https://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk@248 1f120ed1-78a5-a849-adca-83f0a9e25bb6
  • Loading branch information...
1 parent e7d82ca commit dc8e373c1081a181ebb22301a2b0048da67036cf aaronjacobs committed with rjeczalik Jan 8, 2012
Showing with 4 additions and 4 deletions.
  1. +4 −4 jsoncpp/include/json/assertions.h
View
8 jsoncpp/include/json/assertions.h
@@ -19,10 +19,10 @@
#define JSON_ASSERT( condition ) assert( condition );
// The call to assert() will show the failure message in debug builds. In
-// release bugs we write to invalid memory in order to crash hard instead of
-// calling exit(), so that a debugger or crash reporter gets the chance to take
-// over.
-#define JSON_FAIL_MESSAGE( message ) { assert(false && message); strcpy(reinterpret_cast<char*>(666), message); }
+// release bugs we write to invalid memory in order to crash hard, so that a
+// debugger or crash reporter gets the chance to take over. We still call exit()
+// afterward in order to tell the compiler that this macro doesn't return.
+#define JSON_FAIL_MESSAGE( message ) { assert(false && message); strcpy(reinterpret_cast<char*>(666), message); exit(123); }
#endif

0 comments on commit dc8e373

Please sign in to comment.
Something went wrong with that request. Please try again.