xref: /llvm-project/clang/test/Interpreter/execute.cpp (revision cb7995a1308c1bef396f9a2b2b14472cbdcca755)
1 // UNSUPPORTED: system-aix
2 
3 // clang-format off
4 // RUN: clang-repl "int i = 10;" 'extern "C" int printf(const char*,...);' \
5 // RUN:            'auto r1 = printf("i = %d\n", i);' | FileCheck --check-prefix=CHECK-DRIVER %s
6 // CHECK-DRIVER: i = 10
7 
8 // RUN: cat %s | clang-repl | FileCheck %s
9 // RUN: cat %s | clang-repl -Xcc -O2 | FileCheck %s
10 // RUN: clang-repl -Xcc -include -Xcc %s | FileCheck %s
11 // RUN: clang-repl -Xcc -fsyntax-only -Xcc -include -Xcc %s
12 extern "C" int printf(const char *, ...);
13 int i = 42;
14 auto r1 = printf("i = %d\n", i);
15 // CHECK: i = 42
16 
17 struct S { float f = 1.0; S *m = nullptr;} s;
18 
19 auto r2 = printf("S[f=%f, m=0x%llx]\n", s.f, reinterpret_cast<unsigned long long>(s.m));
20 // CHECK-NEXT: S[f=1.000000, m=0x0]
21 
foo()22 inline int foo() { return 42; }
23 int r3 = foo();
24