// RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc // RUN: rm -rf %t.klee-out // RUN: %klee --output-dir=%t.klee-out %t1.bc > %t2.out // RUN: grep "types: (52, 37, 2.00, (9,12,15))" %t2.out // RUN: test -f %t.klee-out/test000001.ptr.err #include #include #include struct triple { int first, second, third; }; int test1(int x, ...) { va_list ap; va_start(ap, x); int i32 = va_arg(ap, int); long long i64 = va_arg(ap, long long); double d = va_arg(ap, double); struct triple p = va_arg(ap, struct triple); printf("types: (%d, %lld, %.2f, (%d,%d,%d))\n", i32, i64, d, p.first, p.second, p.third); va_end(ap); } int sum(int N, ...) { int i, res = 0; va_list ap,ap2; va_start(ap, N); for (i=0; i