[isl++] abort() on assertion violation.
authorMichael Kruse <llvm@meinersbur.de>
Fri, 20 Apr 2018 18:59:13 +0000 (18:59 +0000)
committerMichael Kruse <llvm@meinersbur.de>
Fri, 20 Apr 2018 18:59:13 +0000 (18:59 +0000)
Before this patch, ISL_ASSERT only printed an error message to stderr.
This can be easily missed if the program continues or just fails later.
To fail-early and help error diagnostics (e.g. using bugpoint), call
abort() when an assertion does not hold.

I seem to just have forgotten to add this abort() when I originally
proposed the ISL_ASSERT macro.

Suggested-By: Eli Friedman <efriedma@codeaurora.org>
Differential Revision: https://reviews.llvm.org/D45171

llvm-svn: 330467

polly/lib/External/isl/include/isl/isl-noexceptions.h

index 1bb0d64..9f031b1 100644 (file)
@@ -38,6 +38,7 @@ inline namespace noexceptions {
     fputs("Assertion \"" #test "\" failed at " __FILE__      \
       ":" ISLPP_STRINGIZE(__LINE__) "\n  " message "\n",     \
       stderr);                                               \
+    abort();                                                 \
   } while (0)
 
 class boolean {