https://github.com/aengelke updated https://github.com/llvm/llvm-project/pull/175554
>From 90fbdd8f9f0a7ce90ec07e99fc7aa86d42c0c484 Mon Sep 17 00:00:00 2001 From: Alexis Engelke <[email protected]> Date: Mon, 12 Jan 2026 14:58:36 +0000 Subject: [PATCH 1/2] [CMake] Don't use uninitialized LLVM_REQUIRES_* LLVM_REQUIRES_* are per-target flags that are never set globally. Yet, some files used these (undefined) flags for some logic. This patch emoves these dead checks/unconditionally executes the logic. Note that the referenced *.exports files are empty, so there is no need to make related logic conditional on MSVC. --- clang/examples/LLVMPrintFunctionNames/CMakeLists.txt | 12 ++---------- clang/examples/PrintFunctionNames/CMakeLists.txt | 12 ++---------- llvm/tools/bugpoint-passes/CMakeLists.txt | 9 ++------- offload/unittests/Conformance/lib/CMakeLists.txt | 4 ---- 4 files changed, 6 insertions(+), 31 deletions(-) diff --git a/clang/examples/LLVMPrintFunctionNames/CMakeLists.txt b/clang/examples/LLVMPrintFunctionNames/CMakeLists.txt index 61e7a7842e2f3..fbab0f8773bc8 100644 --- a/clang/examples/LLVMPrintFunctionNames/CMakeLists.txt +++ b/clang/examples/LLVMPrintFunctionNames/CMakeLists.txt @@ -1,13 +1,5 @@ -# If we don't need RTTI or EH, there's no reason to export anything -# from the plugin. -if(NOT MSVC) # MSVC mangles symbols differently, and - # PrintLLVMFunctionNames.export contains C++ symbols. - if(NOT LLVM_REQUIRES_RTTI) - if(NOT LLVM_REQUIRES_EH) - set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/LLVMPrintFunctionNames.exports) - endif() - endif() -endif() +# There's no reason to export anything from the plugin. +set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/LLVMPrintFunctionNames.exports) add_llvm_library(LLVMPrintFunctionNames MODULE LLVMPrintFunctionNames.cpp PLUGIN_TOOL clang) diff --git a/clang/examples/PrintFunctionNames/CMakeLists.txt b/clang/examples/PrintFunctionNames/CMakeLists.txt index 28da363729f3a..3668a3cdccf8e 100644 --- a/clang/examples/PrintFunctionNames/CMakeLists.txt +++ b/clang/examples/PrintFunctionNames/CMakeLists.txt @@ -1,13 +1,5 @@ -# If we don't need RTTI or EH, there's no reason to export anything -# from the plugin. -if( NOT MSVC ) # MSVC mangles symbols differently, and - # PrintFunctionNames.export contains C++ symbols. - if( NOT LLVM_REQUIRES_RTTI ) - if( NOT LLVM_REQUIRES_EH ) - set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/PrintFunctionNames.exports) - endif() - endif() -endif() +# There's no reason to export anything from the plugin. +set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/PrintFunctionNames.exports) add_llvm_library(PrintFunctionNames MODULE PrintFunctionNames.cpp PLUGIN_TOOL clang) diff --git a/llvm/tools/bugpoint-passes/CMakeLists.txt b/llvm/tools/bugpoint-passes/CMakeLists.txt index 60fc1bde51371..53587a51c5081 100644 --- a/llvm/tools/bugpoint-passes/CMakeLists.txt +++ b/llvm/tools/bugpoint-passes/CMakeLists.txt @@ -2,13 +2,8 @@ if( NOT LLVM_BUILD_TOOLS ) set(EXCLUDE_FROM_ALL ON) endif() -# If we don't need RTTI or EH, there's no reason to export anything -# from this plugin. -if( NOT LLVM_REQUIRES_RTTI ) - if( NOT LLVM_REQUIRES_EH ) - set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/bugpoint.exports) - endif() -endif() +# There's no reason to export anything from the plugin. +set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/bugpoint.exports) if(WIN32 OR CYGWIN OR ZOS) set(LLVM_LINK_COMPONENTS Core Support) diff --git a/offload/unittests/Conformance/lib/CMakeLists.txt b/offload/unittests/Conformance/lib/CMakeLists.txt index 8e86f101729ad..0d042ead4b5ac 100644 --- a/offload/unittests/Conformance/lib/CMakeLists.txt +++ b/offload/unittests/Conformance/lib/CMakeLists.txt @@ -3,9 +3,5 @@ add_library(MathTest STATIC target_include_directories(MathTest PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../include") -if(NOT LLVM_REQUIRES_RTTI) - target_compile_options(MathTest PUBLIC -fno-rtti) -endif() - include(FindLibcCommonUtils) target_link_libraries(MathTest PUBLIC LLVMOffload LLVMSupport LLVMDemangle llvm-libc-common-utilities) >From 2d5dcfe6d92a8acdaa5a18e8a247579a340c01d8 Mon Sep 17 00:00:00 2001 From: Alexis Engelke <[email protected]> Date: Mon, 12 Jan 2026 15:28:11 +0000 Subject: [PATCH 2/2] fix offload --- offload/unittests/Conformance/lib/CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/offload/unittests/Conformance/lib/CMakeLists.txt b/offload/unittests/Conformance/lib/CMakeLists.txt index 0d042ead4b5ac..1a917bdd13a4d 100644 --- a/offload/unittests/Conformance/lib/CMakeLists.txt +++ b/offload/unittests/Conformance/lib/CMakeLists.txt @@ -3,5 +3,9 @@ add_library(MathTest STATIC target_include_directories(MathTest PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../include") +if(NOT LLVM_ENABLE_RTTI) + target_compile_options(MathTest PUBLIC -fno-rtti) +endif() + include(FindLibcCommonUtils) target_link_libraries(MathTest PUBLIC LLVMOffload LLVMSupport LLVMDemangle llvm-libc-common-utilities) _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
