Build libSupport with -Werror=global-constructors (NFC)
authorMehdi Amini <joker.eph@gmail.com>
Fri, 16 Jul 2021 03:32:59 +0000 (03:32 +0000)
committerMehdi Amini <joker.eph@gmail.com>
Mon, 26 Jul 2021 00:21:09 +0000 (00:21 +0000)
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.

llvm/lib/Support/CMakeLists.txt

index 2242b0e..57058c6 100644 (file)
@@ -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()