[clang] 29b7295 - [clang][cmake] Sanitize CLANG_BOLT values (#126768)

via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 13 22:20:33 PST 2025


Author: serge-sans-paille
Date: 2025-02-14T06:20:30Z
New Revision: 29b7295d3a67ae236e99312efefb7c04753434ef

URL: https://github.com/llvm/llvm-project/commit/29b7295d3a67ae236e99312efefb7c04753434ef
DIFF: https://github.com/llvm/llvm-project/commit/29b7295d3a67ae236e99312efefb7c04753434ef.diff

LOG: [clang][cmake] Sanitize CLANG_BOLT values (#126768)

This avoids failing later in the build process.

Added: 
    

Modified: 
    clang/tools/driver/CMakeLists.txt

Removed: 
    


################################################################################
diff  --git a/clang/tools/driver/CMakeLists.txt b/clang/tools/driver/CMakeLists.txt
index ad336fcc45b60..5d7962769014a 100644
--- a/clang/tools/driver/CMakeLists.txt
+++ b/clang/tools/driver/CMakeLists.txt
@@ -23,10 +23,14 @@ if(CLANG_PLUGIN_SUPPORT)
   set(support_plugins SUPPORT_PLUGINS)
 endif()
 
+set(CLANG_BOLT_ALLOWLIST INSTRUMENT PERF LBR)
 set(CLANG_BOLT OFF CACHE STRING "Apply BOLT optimization to Clang. \
-  May be specified as Instrument or Perf or LBR to use a particular profiling \
+May be specified as one of ${CLANG_BOLT_ALLOWLIST} to use a particular profiling \
   mechanism.")
 string(TOUPPER "${CLANG_BOLT}" CLANG_BOLT)
+if (CLANG_BOLT AND NOT CLANG_BOLT IN_LIST CLANG_BOLT_ALLOWLIST)
+    message(FATAL_ERROR "Specified CLANG_BOLT value '${CLANG_BOLT}' is not one of ${CLANG_BOLT_ALLOWLIST}.")
+endif()
 
 if (CLANG_BOLT AND NOT LLVM_BUILD_INSTRUMENTED)
   set(CLANG_BOLT_DEPS clear-bolt-fdata llvm-bolt llvm-readobj)


        


More information about the cfe-commits mailing list