[clang] 7f96ce5 - [clang-repl] Fix dynamic library test to avoid cstdio and linker

Anubhab Ghosh via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 25 20:49:25 PDT 2023


Author: Anubhab Ghosh
Date: 2023-04-26T09:11:09+05:30
New Revision: 7f96ce5e133be54891af177adbf8952d413e0f85

URL: https://github.com/llvm/llvm-project/commit/7f96ce5e133be54891af177adbf8952d413e0f85
DIFF: https://github.com/llvm/llvm-project/commit/7f96ce5e133be54891af177adbf8952d413e0f85.diff

LOG: [clang-repl] Fix dynamic library test to avoid cstdio and linker

Some platforms do not have a working linker present. The goal is to
only test the loading of a shared library in clang-repl. A precompiled
library is used instead.

The cstdio header may also not be present. We only need printf.

Related discussion in D141824

Differential Revision: https://reviews.llvm.org/D148992

Added: 
    clang/test/Interpreter/Inputs/libdynamic-library-test.so

Modified: 
    clang/test/Interpreter/dynamic-library.cpp

Removed: 
    clang/test/Interpreter/Inputs/dynamic-library-test.cpp


################################################################################
diff  --git a/clang/test/Interpreter/Inputs/dynamic-library-test.cpp b/clang/test/Interpreter/Inputs/dynamic-library-test.cpp
deleted file mode 100644
index 1f143ba040cb6..0000000000000
--- a/clang/test/Interpreter/Inputs/dynamic-library-test.cpp
+++ /dev/null
@@ -1,6 +0,0 @@
-int ultimate_answer = 0;
-
-int calculate_answer() {
-  ultimate_answer = 42;
-  return 5;
-}

diff  --git a/clang/test/Interpreter/Inputs/libdynamic-library-test.so b/clang/test/Interpreter/Inputs/libdynamic-library-test.so
new file mode 100755
index 0000000000000..bb7c7b5a54317
Binary files /dev/null and b/clang/test/Interpreter/Inputs/libdynamic-library-test.so 
diff er

diff  --git a/clang/test/Interpreter/dynamic-library.cpp b/clang/test/Interpreter/dynamic-library.cpp
index 145c58bc2ae26..e2bfc81a383a7 100644
--- a/clang/test/Interpreter/dynamic-library.cpp
+++ b/clang/test/Interpreter/dynamic-library.cpp
@@ -1,13 +1,25 @@
 // REQUIRES: host-supports-jit, system-linux
-// UNSUPPORTED: target={{.*-(ps4|ps5)}}
 
-// RUN: %clang -xc++ -o %T/libdynamic-library-test.so -fPIC -shared -DLIBRARY %S/Inputs/dynamic-library-test.cpp
-// RUN: cat %s | env LD_LIBRARY_PATH=%T:$LD_LIBRARY_PATH clang-repl | FileCheck %s
+// To generate libdynamic-library-test.so :
+// clang -xc++ -o libdynamic-library-test.so -fPIC -shared
+//
+// extern "C" {
+//
+// int ultimate_answer = 0;
+// 
+// int calculate_answer() {
+//   ultimate_answer = 42;
+//   return 5;
+// }
+//
+// }
 
-#include <cstdio>
+// RUN: cat %s | env LD_LIBRARY_PATH=%S/Inputs:$LD_LIBRARY_PATH clang-repl | FileCheck %s
 
-extern int ultimate_answer;
-int calculate_answer();
+extern "C" int printf(const char* format, ...);
+
+extern "C" int ultimate_answer;
+extern "C" int calculate_answer();
 
 %lib libdynamic-library-test.so
 


        


More information about the cfe-commits mailing list