about summary refs log tree commit diff homepage
path: root/test/Feature/MakeSymbolicAPI.c
blob: 0ff4b82f206a6c265421a47f1590d238098a9642 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc
// RUN: rm -rf %t.klee-out
// RUN: %klee --output-dir=%t.klee-out %t1.bc 2> %t.stderr.log
// RUN: FileCheck %s -check-prefix=CHECK-WRN --input-file=%t.klee-out/warnings.txt
// RUN: FileCheck %s -check-prefix=CHECK-ERR --input-file=%t.stderr.log

int main() {
  unsigned a, b, c;

  klee_make_symbolic(&a, sizeof(a), "");
// CHECK-WRN: KLEE: WARNING: klee_make_symbolic: renamed empty name to "unnamed"

  klee_make_symbolic(&b, sizeof(b));
// CHECK-WRN: KLEE: WARNING: klee_make_symbolic: deprecated number of arguments (2 instead of 3)
// CHECK-WRN: KLEE: WARNING: klee_make_symbolic: renamed empty name to "unnamed"

  klee_make_symbolic(&c);
// CHECK-ERR: KLEE: ERROR: {{.*}} illegal number of arguments to klee_make_symbolic(void*, size_t, char*)
}