1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 20:12:56 +02:00
llvm-mirror/include/llvm/ADT
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
..
APFloat.h make APFloat::toString be const. 2010-03-06 19:20:13 +00:00
APInt.h Add variants of ult, ule, etc. which take a uint64_t RHS, for convenience. 2010-04-08 23:03:40 +00:00
APSInt.h Fix bug where APSInt::operator-- incremented instead of decremented. 2009-02-16 22:39:08 +00:00
BitVector.h Update BitVectorTest.cpp to stay in sync with SmallBitVectorTest.cpp, 2010-04-30 20:50:28 +00:00
DAGDeltaAlgorithm.h Fix a gcc warning: 2010-06-09 03:00:05 +00:00
DeltaAlgorithm.h Fix comment. 2010-02-17 19:26:45 +00:00
DenseMap.h Add includes to get ptrdiff_t. This is needed by gcc-4.6 which has 2010-06-10 10:13:58 +00:00
DenseMapInfo.h Add DenseMapInfo for int. 2010-04-29 18:50:35 +00:00
DenseSet.h Iterator traits and swap. closes PR6548 and PR6549 2010-03-08 20:45:52 +00:00
DepthFirstIterator.h Clean up the minor mess I caused with removing iterator.h. I shall take care of 80-col violations and the FIXME later. (Thanks goodness that I live in another continent, so the monkeypox did not strike me :-) 2009-08-27 06:41:46 +00:00
EquivalenceClasses.h Fixes for Microsoft Visual Studio 2010, from Steven Watanabe! 2010-05-11 06:17:44 +00:00
FoldingSet.h Define ContextualFoldingSet, which stores a context parameter to pass down to 2010-06-11 11:06:44 +00:00
GraphTraits.h 1. Allow SCCIterator to work with GraphT types that are constant. 2009-11-17 10:54:25 +00:00
ilist_node.h Fix const ilist_node::get{Prev,Next}Node() to actually compile. Picky, picky. 2010-05-13 18:35:02 +00:00
ilist.h Add includes to get ptrdiff_t. This is needed by gcc-4.6 which has 2010-06-10 10:13:58 +00:00
ImmutableIntervalMap.h ImmutableIntervalMap: Fix for unqualified lookup into dependent base class, done 2010-02-08 18:08:46 +00:00
ImmutableList.h Remove isPod() from DenseMapInfo, splitting it out to its own 2009-12-15 07:26:43 +00:00
ImmutableMap.h 11.8p1: A nested class is a member and as such has the same access rights as 2010-02-02 01:57:01 +00:00
ImmutableSet.h Fix -Asserts warnings. 2010-04-13 23:34:11 +00:00
IndexedMap.h Public and private corrections, warned about by icc (#304). 2009-09-06 08:55:57 +00:00
IntrusiveRefCntPtr.h Fixed lint errors: 2009-02-20 22:20:18 +00:00
Optional.h Move 'Optional' class from Clang to LLVM/ADT. 2010-04-09 20:25:54 +00:00
OwningPtr.h Remove MaybeOwningPtr. We're going to use reference-counting instead. 2010-04-05 23:53:46 +00:00
PointerIntPair.h Remove isPod() from DenseMapInfo, splitting it out to its own 2009-12-15 07:26:43 +00:00
PointerUnion.h Change PointerUnionX::getFromOpaqueValue() to be declared 'static inline' instead of 'static'. 2010-03-30 16:20:03 +00:00
PostOrderIterator.h eliminate all 80-col violations that I have introduced in my recent checkins (and some others more) 2009-08-27 23:44:33 +00:00
PriorityQueue.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
SCCIterator.h reenable r101565, removing a problematic assertion. 2010-04-17 07:17:19 +00:00
ScopedHashTable.h TopLevelMap[] reference is a pointer. 2010-03-03 20:46:48 +00:00
SetOperations.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
SetVector.h Implement operator== and operator!= for SetVector. 2010-06-05 00:26:02 +00:00
SmallBitVector.h SmallBitVector: Rework find_first/find_next and tweak test to test them (at least on 64 bit platforms). 2010-04-30 13:40:27 +00:00
SmallPtrSet.h Rather than giving SmallPtrSetImpl a member field SmallArray which is magically 2010-06-30 15:02:37 +00:00
SmallSet.h Fix apostrophos. 2009-09-15 15:08:33 +00:00
SmallString.h Allow SmallString to implicitly convert to StringRef. 2009-11-21 02:01:24 +00:00
SmallVector.h disable SmallVectorImpl's copy constructor. This prevents a class 2010-06-15 18:59:43 +00:00
SparseBitVector.h Trivial change to dump() function for SparseBitVector 2010-05-22 05:13:17 +00:00
Statistic.h Add a comment about a thread safety issue in Statistic.h. 2010-06-24 16:31:32 +00:00
STLExtras.h Free DbgScopes in DwarfDebug::endFunction(). Also increased the const-ness of 2010-03-12 17:45:06 +00:00
StringExtras.h utostr isn't going away too soon, try to make it slightly smaller. 2010-04-11 19:00:03 +00:00
StringMap.h Add a method to get a StringMapEntry from a pointer to the string 2010-03-24 00:53:27 +00:00
StringRef.h Add StringRef::compare_numeric and use it to sort TableGen register records. 2010-05-26 21:47:28 +00:00
StringSet.h Remove extra blank line and space. 2009-01-08 06:11:51 +00:00
StringSwitch.h Simplify this class by removing the result cache. 2009-12-11 15:30:07 +00:00
Trie.h Remove forgotten ShortNames in Trie and CompilationGraph 2009-11-30 13:14:13 +00:00
Triple.h Adding the MicroBlaze backend. 2010-02-23 19:15:24 +00:00
Twine.h Implement rdar://7415680 - Twine integer support lacks greatness 2010-05-05 18:40:33 +00:00
UniqueVector.h Removed trailing whitespace. 2009-01-09 19:25:42 +00:00
ValueMap.h Silence some unused variable warnings. 2010-06-24 20:14:34 +00:00
VectorExtras.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00