mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
981eb59138
path::const_iterator claims that it's a bidirectional iterator, but it doesn't satisfy all of the contracts for a bidirectional iterator. For example, n3376 24.2.5 p6 says "If a and b are both dereferenceable, then a == b if and only if *a and *b are bound to the same object", but this doesn't work with how we stash and recreate Components. This means that our use of reverse_iterator on this type is invalid and leads to many of the valgrind errors we're hitting, as explained by Tilmann Scheller here: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140728/228654.html Instead, we admit that path::const_iterator is only an input_iterator, and implement a second input_iterator for path::reverse_iterator (by changing const_iterator::operator-- to reverse_iterator::operator++). All of the uses of this just traverse once over the path in one direction or the other anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214737 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
AIXDataTypesFix.h | ||
AlignOf.h | ||
Allocator.h | ||
ARMBuildAttributes.h | ||
ARMEHABI.h | ||
ARMWinEH.h | ||
ArrayRecycler.h | ||
Atomic.h | ||
BlockFrequency.h | ||
BranchProbability.h | ||
Capacity.h | ||
Casting.h | ||
CBindingWrapping.h | ||
circular_raw_ostream.h | ||
CodeGen.h | ||
COFF.h | ||
CommandLine.h | ||
Compiler.h | ||
Compression.h | ||
ConvertUTF.h | ||
CrashRecoveryContext.h | ||
DataExtractor.h | ||
DataStream.h | ||
DataTypes.h.cmake | ||
DataTypes.h.in | ||
Debug.h | ||
DOTGraphTraits.h | ||
Dwarf.h | ||
DynamicLibrary.h | ||
ELF.h | ||
Endian.h | ||
EndianStream.h | ||
Errc.h | ||
Errno.h | ||
ErrorHandling.h | ||
ErrorOr.h | ||
FileOutputBuffer.h | ||
FileSystem.h | ||
FileUtilities.h | ||
Format.h | ||
FormattedStream.h | ||
GCOV.h | ||
GenericDomTree.h | ||
GenericDomTreeConstruction.h | ||
GraphWriter.h | ||
Host.h | ||
IncludeFile.h | ||
LEB128.h | ||
LICENSE.TXT | ||
LineIterator.h | ||
Locale.h | ||
LockFileManager.h | ||
MachO.h | ||
ManagedStatic.h | ||
MathExtras.h | ||
MD5.h | ||
Memory.h | ||
MemoryBuffer.h | ||
MemoryObject.h | ||
Mutex.h | ||
MutexGuard.h | ||
OnDiskHashTable.h | ||
OutputBuffer.h | ||
Path.h | ||
PluginLoader.h | ||
PointerLikeTypeTraits.h | ||
PrettyStackTrace.h | ||
Process.h | ||
Program.h | ||
RandomNumberGenerator.h | ||
raw_os_ostream.h | ||
raw_ostream.h | ||
Recycler.h | ||
RecyclingAllocator.h | ||
Regex.h | ||
Registry.h | ||
RegistryParser.h | ||
RWMutex.h | ||
SaveAndRestore.h | ||
ScaledNumber.h | ||
Signals.h | ||
SMLoc.h | ||
Solaris.h | ||
SourceMgr.h | ||
SpecialCaseList.h | ||
StreamableMemoryObject.h | ||
StringPool.h | ||
StringRefMemoryObject.h | ||
SwapByteOrder.h | ||
SystemUtils.h | ||
TargetRegistry.h | ||
TargetSelect.h | ||
Threading.h | ||
ThreadLocal.h | ||
Timer.h | ||
TimeValue.h | ||
ToolOutputFile.h | ||
type_traits.h | ||
Unicode.h | ||
UnicodeCharRanges.h | ||
Valgrind.h | ||
Watchdog.h | ||
Win64EH.h | ||
WindowsError.h | ||
YAMLParser.h | ||
YAMLTraits.h |