about summary refs log tree commit diff homepage
path: root/test/Feature/DanglingConcreteReadExpr.c
blob: 7b0c981dc9737de354d62a0f7b5f4027ca9d6eb3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
// RUN: rm -rf %t.klee-out
// RUN: %klee --optimize=false --output-dir=%t.klee-out %t1.bc
// RUN: grep "total queries = 2" %t.klee-out/info
#include "klee/klee.h"
#include <assert.h>

int main() {
  unsigned char x, y;

  klee_make_symbolic(&x, sizeof x, "x");
  
  y = x;

  // should be exactly two queries (prove x is/is not 10)
  // eventually should be 0 when we have fast solver
  if (x==10) {
    assert(y==10);
  }

  klee_silent_exit(0);
  return 0;
}