[llvm] 1f71bca - Build libSupport with -Werror=global-constructors (NFC)

Mehdi Amini via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 16 15:25:18 PDT 2021


Author: Mehdi Amini
Date: 2021-07-16T22:25:03Z
New Revision: 1f71bcabb77df482cc0dc7bab90a73e15f3e347b

URL: https://github.com/llvm/llvm-project/commit/1f71bcabb77df482cc0dc7bab90a73e15f3e347b
DIFF: https://github.com/llvm/llvm-project/commit/1f71bcabb77df482cc0dc7bab90a73e15f3e347b.diff

LOG: Build libSupport with -Werror=global-constructors (NFC)

Ensure that libSupport does not carry any static global initializer.
libSupport can be embedded in use cases where we don't want to load all
cl::opt unless we want to parse the command line.
ManagedStatic can be used to enable lazy-initialization of globals.

Added: 
    

Modified: 
    llvm/lib/Support/CMakeLists.txt

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Support/CMakeLists.txt b/llvm/lib/Support/CMakeLists.txt
index 2242b0ec60abc..57058c6704e01 100644
--- a/llvm/lib/Support/CMakeLists.txt
+++ b/llvm/lib/Support/CMakeLists.txt
@@ -1,5 +1,11 @@
 include(GetLibraryName)
 
+# Ensure that libSupport does not carry any static global initializer.
+# libSupport can be embedded in use cases where we don't want to load all
+# cl::opt unless we want to parse the command line.
+# ManagedStatic can be used to enable lazy-initialization of globals.
+add_flag_if_supported("-Werror=global-constructors" WERROR_GLOBAL_CONSTRUCTOR)
+
 if(LLVM_ENABLE_ZLIB)
   set(imported_libs ZLIB::ZLIB)
 endif()


        


More information about the llvm-commits mailing list