1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-18 18:42:46 +02:00
llvm-mirror/lib/Support
Mehdi Amini 60670bde11 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.

The -Werror=global-constructors is only added on platform that have
support for the flag and for which std::mutex does not have a global
destructor. This is ensured by having CMake trying to compile a file
with a global mutex before adding the flag to libSupport.
2021-07-27 04:27:18 +00:00
..
Unix [Support] reorder Threading includes to avoid conflict with FreeBSD headers 2021-07-09 10:39:52 +01:00
Windows Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
AArch64TargetParser.cpp [AArch64] Add target features for Armv9-A Scalable Matrix Extension (SME) 2021-07-12 13:28:10 +00:00
ABIBreak.cpp
Allocator.cpp [Support] Add some missing namespace closure comments. NFCI. 2021-01-28 11:21:35 +00:00
AMDGPUMetadata.cpp [AMDGPU] HSAMD::fromString - replace std::string arg with StringRef. NFCI. 2021-01-26 16:09:39 +00:00
APFixedPoint.cpp
APFloat.cpp [APFloat] convertToDouble/Float can work on shorter types 2021-05-21 11:02:51 +07:00
APInt.cpp [ADT] Remove APInt/APSInt toString() std::string variants 2021-06-11 13:19:15 +01:00
APSInt.cpp
ARMAttributeParser.cpp
ARMBuildAttrs.cpp Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
ARMTargetParser.cpp [ARM] Remove getHWDivName (NFC) 2021-07-23 07:44:23 -07:00
ARMWinEH.cpp [Support] Add some missing namespace closure comments. NFCI. 2021-01-28 11:21:35 +00:00
Atomic.cpp
AutoConvert.cpp [SystemZ][z/OS] Fix return values in AutoConversion functions 2021-05-05 09:43:14 -04:00
BinaryStreamError.cpp
BinaryStreamReader.cpp
BinaryStreamRef.cpp [Support] Add some missing namespace closure comments. NFCI. 2021-01-28 11:21:35 +00:00
BinaryStreamWriter.cpp
BlockFrequency.cpp
BranchProbability.cpp BranchProbability.cpp - add missing implicit cmath header dependency. NFCI. 2021-06-05 21:14:43 +01:00
BuryPointer.cpp Add LLVM_ATTRIBUTE_USED to fix problems which could be exposed by aggressive global pointer variable removal 2021-04-26 13:31:37 -07:00
CachePruning.cpp [ThinLTO] Also prune Thin-* files from the ThinLTO cache 2021-01-19 14:43:49 +01:00
Chrono.cpp
circular_raw_ostream.cpp
CMakeLists.txt Build libSupport with -Werror=global-constructors (NFC) 2021-07-27 04:27:18 +00:00
CodeGenCoverage.cpp
COM.cpp
CommandLine.cpp Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
Compression.cpp
ConvertUTF.cpp
ConvertUTFWrapper.cpp
COPYRIGHT.regex
CrashRecoveryContext.cpp Recommit: Support: add llvm::thread class that supports specifying stack size. 2021-07-08 16:22:26 +01:00
CRC.cpp
DAGDeltaAlgorithm.cpp [Support] Add some missing namespace closure comments. NFCI. 2021-01-28 11:21:35 +00:00
DataExtractor.cpp
Debug.cpp Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
DebugCounter.cpp Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
DebugOptions.h Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
DeltaAlgorithm.cpp
DJB.cpp
DynamicLibrary.cpp [flang] Revert "PoC for Flang Driver Plugins" 2021-07-01 08:27:31 +00:00
ELFAttributeParser.cpp Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
ELFAttributes.cpp
Errno.cpp
Error.cpp
ErrorHandling.cpp
ExtensibleRTTI.cpp
FileCollector.cpp [SystemZ][z/OS][Windows] Add new OF_TextWithCRLF flag and use this flag instead of OF_Text 2021-04-06 07:23:31 -04:00
FileOutputBuffer.cpp Support: Add move semantics to mapped_file_region 2021-04-09 17:56:26 -07:00
FileUtilities.cpp
FoldingSet.cpp
FormattedStream.cpp
FormatVariadic.cpp
GlobPattern.cpp
GraphWriter.cpp Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
Hashing.cpp
Host.cpp [SystemZ] Add support for new cpu architecture - arch14 2021-07-26 16:57:28 +02:00
InitLLVM.cpp
InstructionCost.cpp
IntEqClasses.cpp
IntervalMap.cpp
ItaniumManglingCanonicalizer.cpp [Support] Add some missing namespace closure comments. NFCI. 2021-01-28 11:21:35 +00:00
JSON.cpp
KnownBits.cpp [KnownBits] Rename KnownBits::computeForMul to KnownBits::mul. NFCI. 2021-04-06 10:11:41 +01:00
LEB128.cpp
LineIterator.cpp
Locale.cpp
LockFileManager.cpp
LowLevelType.cpp Add support for zero-sized Scalars as a LowLevelType 2021-07-22 13:47:19 +02:00
ManagedStatic.cpp Fix for memory leak reported by Valgrind 2021-03-16 11:01:31 -07:00
MathExtras.cpp [Support] Add some missing namespace closure comments. NFCI. 2021-01-28 11:21:35 +00:00
MD5.cpp
MemAlloc.cpp
Memory.cpp
MemoryBuffer.cpp [SystemZ][z/OS] Add the functions needed for handling EBCDIC I/O 2021-05-03 08:52:38 -04:00
MemoryBufferRef.cpp
NativeFormatting.cpp NativeFormatting.cpp - add missing implicit MathExtras.h header dependency. NFCI. 2021-06-05 18:05:39 +01:00
OptimizedStructLayout.cpp Fix a bug in OptimizedStructLayout when filling gaps before 2021-07-21 15:47:18 -04:00
Optional.cpp
Parallel.cpp
Path.cpp [SystemZ][z/OS] Pass OpenFlags when creating tmp files 2021-06-08 14:45:34 -04:00
PluginLoader.cpp
PrettyStackTrace.cpp [Support] Add some missing namespace closure comments. NFCI. 2021-01-28 11:21:35 +00:00
Process.cpp [Windows] Use TerminateProcess to exit without running destructors 2021-05-22 23:41:40 +03:00
Program.cpp Re-land [Support] On Windows, take the affinity mask into account 2021-01-14 17:03:22 -05:00
RandomNumberGenerator.cpp Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
raw_os_ostream.cpp
raw_ostream.cpp [SystemZ][z/OS][Windows] Add new functions that set Text/Binary mode for Stdin and Stdout based on OpenFlags 2021-04-16 08:09:19 -04:00
regcomp.c
regengine.inc
regerror.c
regex2.h
regex_impl.h
Regex.cpp
regexec.c
regfree.c
regstrlcpy.c
regutils.h
RISCVAttributeParser.cpp
RISCVAttributes.cpp Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
RWMutex.cpp
ScaledNumber.cpp
ScopedPrinter.cpp [Support] Drop unnecessary const from return types (NFC) 2021-02-03 20:41:16 -08:00
SHA1.cpp [llvm] Use static_assert instead of assert (NFC) 2021-01-22 23:25:05 -08:00
SHA256.cpp [Support] Use static_assert instead of assert (NFC) 2021-02-18 22:46:41 -08:00
Signals.cpp Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
Signposts.cpp Move the definition of LLVM_SUPPORT_XCODE_SIGNPOSTS into llvm-config.h 2021-06-16 14:40:37 -07:00
SmallPtrSet.cpp [ADT] Move DenseMapInfo for ArrayRef/StringRef into respective headers (NFC) 2021-06-03 18:34:36 +02:00
SmallVector.cpp ADT: Fix reference invalidation in SmallVector::emplace_back and assign(N,V) 2021-01-21 12:11:41 -08:00
SourceMgr.cpp
SpecialCaseList.cpp
Statistic.cpp Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
StringExtras.cpp [llvm] Rename StringRef _lower() method calls to _insensitive() 2021-06-25 00:22:01 +03:00
StringMap.cpp Revert "Use the default seed value for djb hash for StringMap" 2021-03-01 14:00:39 +01:00
StringRef.cpp [ADT] Rename StringRef case insensitive methods for clarity 2021-06-25 00:22:00 +03:00
StringSaver.cpp
SuffixTree.cpp
SymbolRemappingReader.cpp
SystemUtils.cpp
TargetParser.cpp [AMDGPU] Add gfx1035 target 2021-06-24 14:32:41 -04:00
TargetRegistry.cpp
TarWriter.cpp
Threading.cpp [Support] reorder Threading includes to avoid conflict with FreeBSD headers 2021-07-09 10:39:52 +01:00
ThreadLocal.cpp
ThreadPool.cpp Recommit: Support: add llvm::thread class that supports specifying stack size. 2021-07-08 16:22:26 +01:00
TimeProfiler.cpp Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
Timer.cpp Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
ToolOutputFile.cpp [Windows] Remove global OF_None flag for Windows in ToolOutputFiles 2021-04-07 14:10:04 -04:00
TrigramIndex.cpp [Support] TrigramIndex::insert - pass std::String argument by const reference. NFCI. 2021-01-23 11:04:00 +00:00
Triple.cpp Temporarily revert the code part of D100981 "Delete le32/le64 targets" 2021-04-22 10:18:44 -07:00
Twine.cpp Consolidate string types into ptr and length representations. 2021-07-20 13:29:57 -07:00
TypeSize.cpp Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
Unicode.cpp
UnicodeCaseFold.cpp
Valgrind.cpp Remove the NotUnderValgrind caching flag 2021-07-26 00:21:09 +00:00
VersionTuple.cpp
VirtualFileSystem.cpp PR51018: Remove explicit conversions from SmallString to StringRef to future-proof against C++23 2021-07-08 13:37:57 -07:00
Watchdog.cpp
WithColor.cpp Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
X86TargetParser.cpp [X86] Support -march=rocketlake 2021-04-13 09:48:13 +08:00
xxhash.cpp
YAMLParser.cpp [llvm] Use isAlpha/isAlnum (NFC) 2021-01-22 23:25:03 -08:00
YAMLTraits.cpp [YAML I/O] Fix bug in emission of empty sequence 2021-01-25 13:35:36 -08:00
Z3Solver.cpp