llvm-6502/lib/Support
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
..
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 Added FoldingSet style 'profiling' support for APSInt. 2008-01-19 04:31:12 +00:00
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 Add regular expression matching support, based on OpenBSD regexec()/regcomp() 2009-08-30 08:24:09 +00:00
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 Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
IsNAN.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
Makefile Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
ManagedStatic.cpp Split the thread-related APIs out into their own file, and add a few more 2009-06-16 17:33:51 +00:00
MemoryBuffer.cpp Rewrite MemoryBuffer::getSTDIN to use read(2) and a SmallVector buffer. 2010-06-25 16:07:18 +00:00
MemoryObject.cpp canonicalize namespace gymnastics 2009-09-09 23:46:42 +00:00
PluginLoader.cpp remove some uses of llvm/Support/Streams.h 2009-08-23 08:43:55 +00:00
PrettyStackTrace.cpp Fix thinko. 2010-06-28 18:33:48 +00:00
raw_os_ostream.cpp Make some methods const. The only interesting change here is that 2009-12-19 01:38:42 +00:00
raw_ostream.cpp Minor code simplification. 2010-05-28 16:50:23 +00:00
regcclass.h Add regular expression matching support, based on OpenBSD regexec()/regcomp() 2009-08-30 08:24:09 +00:00
regcname.h Add regular expression matching support, based on OpenBSD regexec()/regcomp() 2009-08-30 08:24:09 +00:00
regcomp.c Fix may-be-used-uninitialized warning. 2009-09-08 16:14:54 +00:00
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 More MSVC warning fixes: 2009-09-06 12:26:28 +00:00
regex2.h Add regular expression matching support, based on OpenBSD regexec()/regcomp() 2009-08-30 08:24:09 +00:00
regex_impl.h Add regular expression matching support, based on OpenBSD regexec()/regcomp() 2009-08-30 08:24:09 +00:00
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 Add regular expression matching support, based on OpenBSD regexec()/regcomp() 2009-08-30 08:24:09 +00:00
regstrlcpy.c Add regular expression matching support, based on OpenBSD regexec()/regcomp() 2009-08-30 08:24:09 +00:00
regutils.h More MSVC warning fixes: 2009-09-06 12:26:28 +00:00
SlowOperationInformer.cpp remove some uses of llvm/Support/Streams.h 2009-08-23 08:43:55 +00:00
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 Fix refacto reported by Nicolas Geoffray. 2010-01-18 12:40:05 +00:00
StringMap.cpp Pass StringRef by value. 2009-11-06 10:58:06 +00:00
StringPool.cpp Kill off more cerr/cout uses and prune includes a bit. 2009-08-23 11:37:21 +00:00
StringRef.cpp Add StringRef::compare_numeric and use it to sort TableGen register records. 2010-05-26 21:47:28 +00:00
SystemUtils.cpp Fix llvm-extract's "writing bitcode to a terminal" warning, which wasn't 2009-09-11 20:46:33 +00:00
TargetRegistry.cpp Improve JIT error message for users crazy enough to use -march with JIT, and 2009-09-08 23:32:35 +00:00
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