1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/lib/Support
Duncan Sands de6d3111d0 Rather than giving SmallPtrSetImpl a member field SmallArray which is magically
replaced by a bigger array in SmallPtrSet (by overridding it), instead just use a
pointer to the start of the storage, and have SmallPtrSet pass in the value to use.
This has the disadvantage that SmallPtrSet becomes bigger by one pointer.  It has
the advantage that it no longer uses tricky C++ rules, and is clearly correct while
I'm not sure the previous version was.  This was inspired by g++-4.6 pointing out
that SmallPtrSetImpl was writing off the end of SmallArray, which it was.  Since
SmallArray is replaced with a bigger array in SmallPtrSet, the write was still to
valid memory.  But it was writing off the end of the declared array type - sounds
kind of dubious to me, like it sounded dubious to g++-4.6.  Maybe g++-4.6 is wrong
and this construct is perfectly valid and correctly compiled by all compilers, but
I think it is better to avoid the whole can of worms by avoiding this construct.

llvm-svn: 107285
2010-06-30 15:02:37 +00:00
..
Allocator.cpp BumpPtrAllocator::Reset() doesn't need to allocate anything. (Thanks, Jakob) 2010-04-13 16:38:06 +00:00
APFloat.cpp Fix minor style issues. 2010-03-24 19:38:02 +00:00
APInt.cpp improve portability to systems that don't have round, patch by 2010-05-15 17:11:55 +00:00
APSInt.cpp
circular_raw_ostream.cpp clean this up, fix std::min ambiguity on some platforms. 2010-04-09 20:43:54 +00:00
CMakeLists.txt ADT: Add DAGDeltaAlgorithm, which is a DAG minimization algorithm built on top of the standard 'delta debugging' algorithm. 2010-06-08 16:21:22 +00:00
CommandLine.cpp Add new configure option, --disable-timestamps, intended to turn off anything which would mess up binary/object comparisons. Currently: 2010-05-10 20:11:56 +00:00
ConstantRange.cpp Fix a typo that several people pointed out. Also, address the case of 2010-01-26 15:56:18 +00:00
COPYRIGHT.regex
DAGDeltaAlgorithm.cpp Use const_iterator where appropriate. 2010-06-08 17:21:57 +00:00
Debug.cpp Fix a bunch of namespace polution. 2010-04-15 17:08:50 +00:00
DeltaAlgorithm.cpp DeltaAlgorithm: Tweak split to split by first/second half instead of even/odd, since adjacent changes are more likely to be related. 2010-06-08 16:21:26 +00:00
Dwarf.cpp Add the entire range of DW_OP_lit[0..31], DW_OP_reg[0..31], and 2010-06-17 01:23:24 +00:00
ErrorHandling.cpp Run interrupt routines as part of report_fatal_error, since we are failing 2010-05-08 02:10:36 +00:00
FileUtilities.cpp fpcmp: Fix bug where fpcmp wouldn't early exit when files obviously differ and 2010-06-15 19:20:30 +00:00
FoldingSet.cpp Use calloc instead of new/memset, it is more efficient when the set is very large. 2010-06-19 17:00:31 +00:00
FormattedStream.cpp Fix various doxygen warnings. 2010-02-22 04:10:52 +00:00
GraphWriter.cpp reduce indentation 2010-04-18 03:35:23 +00:00
IsInf.cpp
IsNAN.cpp
Makefile
ManagedStatic.cpp
MemoryBuffer.cpp Rewrite MemoryBuffer::getSTDIN to use read(2) and a SmallVector buffer. 2010-06-25 16:07:18 +00:00
MemoryObject.cpp
PluginLoader.cpp
PrettyStackTrace.cpp Fix thinko. 2010-06-28 18:33:48 +00:00
raw_os_ostream.cpp
raw_ostream.cpp Minor code simplification. 2010-05-28 16:50:23 +00:00
regcclass.h
regcname.h
regcomp.c
regengine.inc Various MSVC warning fixes about truncated 64 bit shifts and const pointers passed to free. 2010-04-08 15:25:57 +00:00
regerror.c
regex2.h
regex_impl.h
Regex.cpp Add Regex::sub, for doing regular expression substitution with backreferences. 2010-02-17 20:08:42 +00:00
regexec.c Push const through the regex engine. Fixes some of the warnings in PR6616. 2010-04-05 17:50:20 +00:00
regfree.c
regstrlcpy.c
regutils.h
SlowOperationInformer.cpp
SmallPtrSet.cpp Rather than giving SmallPtrSetImpl a member field SmallArray which is magically 2010-06-30 15:02:37 +00:00
SmallVector.cpp Use realloc instead of malloc+memcpy when growing a POD SmallVector. A smart 2010-06-08 11:44:30 +00:00
SourceMgr.cpp enhance SMDiagnostic to also maintain a pointer to the SourceMgr. 2010-04-06 18:06:18 +00:00
Statistic.cpp Introduce namespace-scope functions to enable LLVM statistics without 2010-03-30 17:32:08 +00:00
StringExtras.cpp
StringMap.cpp
StringPool.cpp
StringRef.cpp Add StringRef::compare_numeric and use it to sort TableGen register records. 2010-05-26 21:47:28 +00:00
SystemUtils.cpp
TargetRegistry.cpp
Timer.cpp Give NamedRegionTimer an Enabled flag, allowing all its clients to 2010-06-18 15:56:31 +00:00
Triple.cpp Fix comment typo. 2010-03-24 09:05:14 +00:00
Twine.cpp Implement rdar://7415680 - Twine integer support lacks greatness 2010-05-05 18:40:33 +00:00