xref: /llvm-project/clang/test/Interpreter/dynamic-library.cpp (revision e037880b8eff2b425ff80ea9d6337fda27a64337)
1 // REQUIRES: host-supports-jit, x86_64-linux
2 
3 // To generate libdynamic-library-test.so :
4 // clang -xc++ -o libdynamic-library-test.so -fPIC -shared
5 //
6 // extern "C" {
7 //
8 // int ultimate_answer = 0;
9 //
10 // int calculate_answer() {
11 //   ultimate_answer = 42;
12 //   return 5;
13 // }
14 //
15 // }
16 
17 // RUN: cat %s | env LD_LIBRARY_PATH=%S/Inputs:$LD_LIBRARY_PATH clang-repl | FileCheck %s
18 
19 extern "C" int printf(const char* format, ...);
20 
21 extern "C" int ultimate_answer;
22 extern "C" int calculate_answer();
23 
24 %lib libdynamic-library-test.so
25 
26 printf("Return value: %d\n", calculate_answer());
27 // CHECK: Return value: 5
28 
29 printf("Variable: %d\n", ultimate_answer);
30 // CHECK-NEXT: Variable: 42
31 
32 %quit
33