xref: /llvm-project/clang/test/Interpreter/execute.cpp (revision cb7995a1308c1bef396f9a2b2b14472cbdcca755)
1ac6e9e69SJonas Hahnfeld // UNSUPPORTED: system-aix
2ac6e9e69SJonas Hahnfeld 
3c619d4f8SSunho Kim // clang-format off
4f01d45c3SVassil Vassilev // RUN: clang-repl "int i = 10;" 'extern "C" int printf(const char*,...);' \
5f01d45c3SVassil Vassilev // RUN:            'auto r1 = printf("i = %d\n", i);' | FileCheck --check-prefix=CHECK-DRIVER %s
6f01d45c3SVassil Vassilev // CHECK-DRIVER: i = 10
7ac6e9e69SJonas Hahnfeld 
8f01d45c3SVassil Vassilev // RUN: cat %s | clang-repl | FileCheck %s
958c94808SJun Zhang // RUN: cat %s | clang-repl -Xcc -O2 | FileCheck %s
10*cb7995a1SStefan Gränitz // RUN: clang-repl -Xcc -include -Xcc %s | FileCheck %s
11*cb7995a1SStefan Gränitz // RUN: clang-repl -Xcc -fsyntax-only -Xcc -include -Xcc %s
1292f9852fSVassil Vassilev extern "C" int printf(const char *, ...);
1392f9852fSVassil Vassilev int i = 42;
1492f9852fSVassil Vassilev auto r1 = printf("i = %d\n", i);
1592f9852fSVassil Vassilev // CHECK: i = 42
1692f9852fSVassil Vassilev 
1792f9852fSVassil Vassilev struct S { float f = 1.0; S *m = nullptr;} s;
1892f9852fSVassil Vassilev 
1992f9852fSVassil Vassilev auto r2 = printf("S[f=%f, m=0x%llx]\n", s.f, reinterpret_cast<unsigned long long>(s.m));
2092f9852fSVassil Vassilev // CHECK-NEXT: S[f=1.000000, m=0x0]
21cd64a427SJun Zhang 
foo()22cd64a427SJun Zhang inline int foo() { return 42; }
23cd64a427SJun Zhang int r3 = foo();
24