diff options
author | Mehdi Amini <joker.eph@gmail.com> | 2021-07-15 23:52:44 +0000 |
---|---|---|
committer | Mehdi Amini <joker.eph@gmail.com> | 2021-07-16 07:38:16 +0000 |
commit | 76374573ce829b083b95b74937a11e9b91f8f45f (patch) | |
tree | d3d4858038abe40a2eb763e04e6c93f8902691af /llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp | |
parent | 8d051d854619956de633047409149cdab1e3319a (diff) | |
download | llvm-76374573ce829b083b95b74937a11e9b91f8f45f.zip llvm-76374573ce829b083b95b74937a11e9b91f8f45f.tar.gz llvm-76374573ce829b083b95b74937a11e9b91f8f45f.tar.bz2 |
Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer
We can build it with -Werror=global-constructors now. This helps
in situation where libSupport is embedded as a shared library,
potential with dlopen/dlclose scenario, and when command-line
parsing or other facilities may not be involved. Avoiding the
implicit construction of these cl::opt can avoid double-registration
issues and other kind of behavior.
Reviewed By: lattner, jpienaar
Differential Revision: https://reviews.llvm.org/D105959
Diffstat (limited to 'llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp')
-rw-r--r-- | llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp b/llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp index 9b01ff5..ef4aec5 100644 --- a/llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp +++ b/llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp @@ -571,7 +571,7 @@ static Expected<Config> parseCommandLine(int Argc, char **Argv) { int main(int Argc, char **Argv) { InitLLVM X(Argc, Argv); - cl::HideUnrelatedOptions({&LibtoolCategory, &ColorCategory}); + cl::HideUnrelatedOptions({&LibtoolCategory, &getColorCategory()}); Expected<Config> ConfigOrErr = parseCommandLine(Argc, Argv); if (!ConfigOrErr) { WithColor::defaultErrorHandler(ConfigOrErr.takeError()); |