llvm-6502/lib
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
..
Analysis Improve ScalarEvolution's nsw and nuw preservation. 2010-06-30 07:16:37 +00:00
Archive Eliminate some unnessary Path::exists() calls. 2010-05-27 20:51:54 +00:00
AsmParser Revert r107205 and r107207. 2010-06-29 22:34:52 +00:00
Bitcode Revert r107205 and r107207. 2010-06-29 22:34:52 +00:00
CodeGen use ArgOperand API 2010-06-30 13:45:50 +00:00
CompilerDriver
ExecutionEngine Handle execution entrypoints with non-integer return types. 2010-06-18 02:01:10 +00:00
Linker Revert r107205 and r107207. 2010-06-29 22:34:52 +00:00
MC Revert r107205 and r107207. 2010-06-29 22:34:52 +00:00
Support Rather than giving SmallPtrSetImpl a member field SmallArray which is magically 2010-06-30 15:02:37 +00:00
System Avoid "variable 'bits' set but not used [-Wunused-but-set-variable]" 2010-06-10 16:23:15 +00:00
Target use ArgOperand API 2010-06-30 13:03:37 +00:00
Transforms use ArgOperand API 2010-06-30 12:42:43 +00:00
VMCore Revert r107205 and r107207. 2010-06-29 22:34:52 +00:00
Makefile