llvm-6502/include/llvm/Support
Rafael Espindola 670655471d Assert on duplicate registration. Don't depend on function pointer equality.
Before this patch we would assert when building llvm as multiple shared
libraries (cmake's BUILD_SHARED_LIBS). The problem was the line

if (T.AsmStreamerCtorFn == Target::createDefaultAsmStreamer)

which returns false because of -fvisibility-inlines-hidden. It is easy
to fix just this one case, but I decided to try to also make the
registration more strict. It looks like the old logic for ignoring
followup registration was just a temporary hack that outlived its
usefulness.

This patch converts the ifs to asserts, fixes the few cases that were
registering twice and makes sure all the asserts compare with null.

Thanks for Joerg for reporting the problem and reviewing the patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192803 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-16 16:21:40 +00:00
..
AIXDataTypesFix.h
AlignOf.h Incrase the number of parameters for AlignedCharArrayUnion. 2013-01-09 10:39:16 +00:00
Allocator.h [BumpPtrAllocator] Move DefaultSlabAllocator to a member of BumpPtrAllocator, instead of a static variable. 2013-08-28 01:02:21 +00:00
ArrayRecycler.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Atomic.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
BlockFrequency.h Fix typo in comment 2013-07-02 04:15:28 +00:00
BranchProbability.h
CallSite.h Extend 'readonly' and 'readnone' to work on function arguments as well as 2013-07-06 00:29:58 +00:00
Capacity.h
Casting.h Fix a regression I introduced back in r178147. 2013-07-18 02:42:40 +00:00
CBindingWrapping.h Fix file header comment. 2013-05-01 21:01:06 +00:00
CFG.h Fix size_t -> uint warnings with MSVC 64-bit build 2013-07-20 00:20:10 +00:00
circular_raw_ostream.h Use empty parens for empty function parameter list instead of '(void)'. 2012-11-15 16:51:49 +00:00
CodeGen.h This exposes more MCJIT options via the C API: 2013-05-01 22:58:00 +00:00
COFF.h Explicitly request unsigned enum types when desired 2013-09-23 23:26:57 +00:00
CommandLine.h Fix -Wdocumentation warning 2013-07-18 21:00:12 +00:00
Compiler.h Explicitly request unsigned enum types when desired 2013-09-23 23:26:57 +00:00
Compression.h Expose CRC-32 implementation from zlib 2013-08-14 16:03:29 +00:00
ConstantFolder.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
ConstantRange.h Use move semantics if possible to construct ConstantRanges. 2013-07-11 15:37:27 +00:00
ConvertUTF.h [Support] Add a Unicode conversion wrapper from UTF16 to UTF8 2013-07-16 17:14:33 +00:00
CrashRecoveryContext.h
DataExtractor.h Be consistent about the field name - AddressSize, not PointerSize. Add 2013-02-05 23:26:02 +00:00
DataFlow.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
DataStream.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
DataTypes.h.cmake Remove dead or useless header checks from cmake and autoconf 2013-07-26 16:54:23 +00:00
DataTypes.h.in Remove dead or useless header checks from cmake and autoconf 2013-07-26 16:54:23 +00:00
Debug.h
DebugLoc.h Remove trailing spaces. 2013-03-18 23:04:30 +00:00
Disassembler.h
DOTGraphTraits.h ScheduleDAG: colorize the DOT graph and improve formatting. 2013-01-25 07:45:25 +00:00
Dwarf.h Formally added an explicit enum for DWARF TLS support. No functionality change. 2013-10-07 18:39:18 +00:00
DynamicLibrary.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ELF.h [Mips] Add MIPS program header types. 2013-10-06 08:49:41 +00:00
Endian.h Make the host endianness check an integer constant expression. 2013-04-15 14:44:24 +00:00
Errno.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ErrorHandling.h Add a boolean parameter to the llvm::report_fatal_error() function to indicated 2013-03-27 18:27:54 +00:00
ErrorOr.h [Support][ErrorOr] Add support for implicit conversion from error code/condition enums. 2013-02-28 01:44:26 +00:00
FEnv.h Refine fenv.h handling: check if the desired macros exist, before using 2013-03-25 13:13:33 +00:00
FileOutputBuffer.h [Support] Make FileOutputBuffer work on Windows. 2012-12-03 22:09:52 +00:00
FileSystem.h Support/FileSystem.h: Remove a trailing comma in enum file_magic::Impl. 2013-10-15 23:01:44 +00:00
FileUtilities.h Don't use PathV1.h in FileUtilities.h. 2013-06-13 20:41:00 +00:00
Format.h
FormattedStream.h Forward resetColor() et al to the underlying stream. 2013-08-08 00:43:30 +00:00
GCOV.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
GetElementPtrTypeIterator.h Avoid warnings about unused parameters that tend to come up a lot when 2013-06-10 12:09:30 +00:00
GraphWriter.h Convert a use of sys::Path::GetTemporaryDirectory. 2013-06-14 16:43:15 +00:00
Host.h The GNU/HURD is also using the libc. Therefor, endian.h should be included, not machine/endian.h. See full build log https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-3.3&arch=hurd-i386&ver=1%3A3.3~%2Brc3-1~exp1&stamp=1370358869 2013-06-05 09:17:26 +00:00
IncludeFile.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
InstIterator.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
LeakDetector.h
LEB128.h Formatting. 2013-08-01 01:38:16 +00:00
LICENSE.TXT
Locale.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
LockFileManager.h Fix a race condition in the lock-file manager: once the lock file is 2013-01-10 02:01:35 +00:00
MachO.h update mach-o EXPORT_SYMBOL_* names 2013-10-08 00:59:13 +00:00
ManagedStatic.h Make PrettyStackTraceEntry use ManagedStatic for its ThreadLocal. 2013-09-13 22:59:47 +00:00
MathExtras.h Use gnu style builtins in MathExtras.h with clang on Windows 2013-08-06 19:45:27 +00:00
MD5.h Add support for adding the contents of a StringRef to the MD5 hash. 2013-05-31 22:34:56 +00:00
Memory.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MemoryBuffer.h Expand the comment on getOpenFileSlice a bit for more details and consistency 2013-07-23 21:05:21 +00:00
MemoryObject.h Remove the Copied parameter from MemoryObject::readBytes. 2013-05-24 10:54:58 +00:00
Mutex.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MutexGuard.h
NoFolder.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
OutputBuffer.h
PassNameParser.h Provide basic type safety for array_pod_sort comparators. 2013-09-22 14:09:50 +00:00
Path.h Path: Add an in-place version of path::native. 2013-09-11 10:45:21 +00:00
PatternMatch.h Use Intrinsic::ID for the pattern match templates, fixing a signed/unsigned 2013-09-04 05:08:32 +00:00
PluginLoader.h
PointerLikeTypeTraits.h
PredIteratorCache.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
PrettyStackTrace.h
Process.h Revert "Revert "Windows: Add support for unicode command lines"" 2013-10-07 01:00:07 +00:00
Program.h Program.h: Fix \Note into \note. [-Wdocumentation] 2013-10-02 08:14:38 +00:00
raw_os_ostream.h
raw_ostream.h Add a wrapper for open. 2013-07-16 19:44:17 +00:00
Recycler.h Special case Recycler::clear(BumpPtrAllocator). 2013-01-04 22:35:45 +00:00
RecyclingAllocator.h Add an assertion to the fixed-size allocator to ensure that we don't request 2013-08-27 11:20:13 +00:00
Regex.h Introduce Regex::isLiteralERE function. 2013-08-05 17:47:59 +00:00
Registry.h [Support/Registry.h] Include llvm/Support/Compiler.h. 2013-06-27 17:57:40 +00:00
RegistryParser.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
RWMutex.h
SaveAndRestore.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Signals.h Don't use PathV1.h in Signals.h. 2013-06-13 21:16:58 +00:00
SMLoc.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Solaris.h Define BYTE_ORDER on Solaris. 2013-05-21 20:36:13 +00:00
SourceMgr.h Make SourceMgr::PrintMessage() testable and add unit tests 2013-09-27 21:09:25 +00:00
StreamableMemoryObject.h Remove the Copied parameter from MemoryObject::readBytes. 2013-05-24 10:54:58 +00:00
StringPool.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
StringRefMemoryObject.h Remove the Copied parameter from MemoryObject::readBytes. 2013-05-24 10:54:58 +00:00
SwapByteOrder.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
system_error.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
SystemUtils.h Move PrependMainExecutablePath next to its only user. 2013-06-14 15:12:13 +00:00
TargetFolder.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
TargetRegistry.h Assert on duplicate registration. Don't depend on function pointer equality. 2013-10-16 16:21:40 +00:00
TargetSelect.h
Threading.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ThreadLocal.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Timer.h Slight cosmetic fixes 2013-02-26 18:05:31 +00:00
TimeValue.h Fix TimeValue::toWin32Time() to be symmetric to fromWin32Time() and compatible to Win32's FILETIME. 2013-07-16 02:43:51 +00:00
ToolOutputFile.h Add a wrapper for open. 2013-07-16 19:44:17 +00:00
type_traits.h Cleanup the simplify_type implementation. 2013-03-27 16:43:11 +00:00
Unicode.h Move generic isPrint and columnWidth implementations to a separate header/source to allow using both generic and system-dependent versions on win32. 2013-09-04 16:00:12 +00:00
UnicodeCharRanges.h Fix the following error when NDEBUG is defined: 2013-08-29 18:49:35 +00:00
Valgrind.h Fix include guards. 2013-08-20 22:52:02 +00:00
ValueHandle.h Cleanup the simplify_type implementation. 2013-03-27 16:43:11 +00:00
Watchdog.h Add a new watchdog timer interface. The interface does not permit handling timeouts, so 2013-03-26 01:27:52 +00:00
Win64EH.h Implements low-level object file format specific output for COFF and 2013-04-03 18:31:38 +00:00
YAMLParser.h Use only explicit bool conversion operators 2013-05-15 07:36:59 +00:00
YAMLTraits.h Tighten up the yamilizer so it stops eliding empty sequences if the embedded empty sequence is the first key/value in a map which is itself in a sequence. 2013-08-15 23:17:53 +00:00