1*e037880bSAnubhab Ghosh // REQUIRES: host-supports-jit, x86_64-linux 2d978730dSAnubhab Ghosh 37f96ce5eSAnubhab Ghosh // To generate libdynamic-library-test.so : 47f96ce5eSAnubhab Ghosh // clang -xc++ -o libdynamic-library-test.so -fPIC -shared 57f96ce5eSAnubhab Ghosh // 67f96ce5eSAnubhab Ghosh // extern "C" { 77f96ce5eSAnubhab Ghosh // 87f96ce5eSAnubhab Ghosh // int ultimate_answer = 0; 97f96ce5eSAnubhab Ghosh // 107f96ce5eSAnubhab Ghosh // int calculate_answer() { 117f96ce5eSAnubhab Ghosh // ultimate_answer = 42; 127f96ce5eSAnubhab Ghosh // return 5; 137f96ce5eSAnubhab Ghosh // } 147f96ce5eSAnubhab Ghosh // 157f96ce5eSAnubhab Ghosh // } 16d978730dSAnubhab Ghosh 177f96ce5eSAnubhab Ghosh // RUN: cat %s | env LD_LIBRARY_PATH=%S/Inputs:$LD_LIBRARY_PATH clang-repl | FileCheck %s 18d978730dSAnubhab Ghosh 197f96ce5eSAnubhab Ghosh extern "C" int printf(const char* format, ...); 207f96ce5eSAnubhab Ghosh 217f96ce5eSAnubhab Ghosh extern "C" int ultimate_answer; 227f96ce5eSAnubhab Ghosh extern "C" int calculate_answer(); 23d978730dSAnubhab Ghosh 24d978730dSAnubhab Ghosh %lib libdynamic-library-test.so 25d978730dSAnubhab Ghosh 26d978730dSAnubhab Ghosh printf("Return value: %d\n", calculate_answer()); 27d978730dSAnubhab Ghosh // CHECK: Return value: 5 28d978730dSAnubhab Ghosh 29d978730dSAnubhab Ghosh printf("Variable: %d\n", ultimate_answer); 30d978730dSAnubhab Ghosh // CHECK-NEXT: Variable: 42 31d978730dSAnubhab Ghosh 32d978730dSAnubhab Ghosh %quit 33