llvm-6502/include/llvm/ADT
Duncan Sands 2a8bf425bd 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107285 91177308-0d34-0410-b5e6-96231b3b80d8
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
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
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
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
IntrusiveRefCntPtr.h
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
PriorityQueue.h
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
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
SmallString.h
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
StringSwitch.h
Trie.h
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
ValueMap.h Silence some unused variable warnings. 2010-06-24 20:14:34 +00:00
VectorExtras.h