about summary refs log tree commit diff homepage
diff options
context:
space:
mode:
-rw-r--r--test/CXX/StaticDestructor.cpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/test/CXX/StaticDestructor.cpp b/test/CXX/StaticDestructor.cpp
index 090ae761..172d9f94 100644
--- a/test/CXX/StaticDestructor.cpp
+++ b/test/CXX/StaticDestructor.cpp
@@ -1,21 +1,18 @@
-// don't optimize this, llvm likes to turn the *p into unreachable
-
 // RUN: %clangxx %s -emit-llvm -g %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
-// RUN: %klee --output-dir=%t.klee-out --optimize=false --libc=klee --write-no-tests %t1.bc 2> %t1.log
+// RUN: %klee --output-dir=%t.klee-out --libc=klee %t1.bc 2> %t1.log
 // RUN: FileCheck --input-file %t1.log %s
 
 #include <cassert>
 
 class Test {
-  int *p;
+  int x;
 
 public:
-  Test() : p(0) {}
+  Test() : x(13) {}
   ~Test() {
-    assert(!p);
-    // CHECK: :[[@LINE+1]]: memory error
-    assert(*p == 10); // crash here
+    // CHECK: :[[@LINE+1]]: divide by zero
+    x = x / (x - 13);
   }
 };