FailedChanges

Summary

  1. Revert rL301998: "Fix a bug that -isysroot is completely ignored on Unix" This reverts commit because it broke sanitizer-x86_64-linux-autoconf bot and clang-ppc64be-linux-multistage bot.
  2. Fix use after free in BinaryStream library. This was reported by the ASAN bot, and it turned out to be a fairly fundamental problem with the design of VarStreamArray and the way it passes context information to the extractor. The fix was cumbersome, and I'm not entirely pleased with it, so I plan to revisit this design in the future when I'm not pressed to get the bots green again. For now, this fixes the issue by storing the context information by value instead of by reference, and introduces some impossibly-confusing template magic to make things "work".
Revision 302000 by yamaguchi:
Revert rL301998: "Fix a bug that -isysroot is completely ignored on Unix"

This reverts commit because it broke
sanitizer-x86_64-linux-autoconf bot and
clang-ppc64be-linux-multistage  bot.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Frontend/CompilerInvocation.cpp (diff)llvm-revision.src/cfe/trunk/lib/Frontend/CompilerInvocation.cpp
The file was modified/cfe/trunk/test/Driver/sysroot-flags.c (diff)llvm-revision.src/cfe/trunk/test/Driver/sysroot-flags.c
Revision 301999 by zturner:
Fix use after free in BinaryStream library.

This was reported by the ASAN bot, and it turned out to be
a fairly fundamental problem with the design of VarStreamArray
and the way it passes context information to the extractor.

The fix was cumbersome, and I'm not entirely pleased with it,
so I plan to revisit this design in the future when I'm not
pressed to get the bots green again.  For now, this fixes
the issue by storing the context information by value instead
of by reference, and introduces some impossibly-confusing
template magic to make things "work".
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/DebugInfo/CodeView/CVRecord.h (diff)llvm-revision.src/llvm/trunk/include/llvm/DebugInfo/CodeView/CVRecord.h
The file was modified/llvm/trunk/include/llvm/DebugInfo/CodeView/ModuleDebugFileChecksumFragment.h (diff)llvm-revision.src/llvm/trunk/include/llvm/DebugInfo/CodeView/ModuleDebugFileChecksumFragment.h
The file was modified/llvm/trunk/include/llvm/DebugInfo/CodeView/ModuleDebugFragmentRecord.h (diff)llvm-revision.src/llvm/trunk/include/llvm/DebugInfo/CodeView/ModuleDebugFragmentRecord.h
The file was modified/llvm/trunk/include/llvm/DebugInfo/CodeView/ModuleDebugInlineeLinesFragment.h (diff)llvm-revision.src/llvm/trunk/include/llvm/DebugInfo/CodeView/ModuleDebugInlineeLinesFragment.h
The file was modified/llvm/trunk/include/llvm/DebugInfo/CodeView/ModuleDebugLineFragment.h (diff)llvm-revision.src/llvm/trunk/include/llvm/DebugInfo/CodeView/ModuleDebugLineFragment.h
The file was modified/llvm/trunk/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptor.h (diff)llvm-revision.src/llvm/trunk/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptor.h
The file was modified/llvm/trunk/include/llvm/Support/BinaryStreamArray.h (diff)llvm-revision.src/llvm/trunk/include/llvm/Support/BinaryStreamArray.h
The file was modified/llvm/trunk/include/llvm/Support/BinaryStreamReader.h (diff)llvm-revision.src/llvm/trunk/include/llvm/Support/BinaryStreamReader.h
The file was modified/llvm/trunk/lib/DebugInfo/CodeView/ModuleDebugFileChecksumFragment.cpp (diff)llvm-revision.src/llvm/trunk/lib/DebugInfo/CodeView/ModuleDebugFileChecksumFragment.cpp
The file was modified/llvm/trunk/lib/DebugInfo/CodeView/ModuleDebugInlineeLinesFragment.cpp (diff)llvm-revision.src/llvm/trunk/lib/DebugInfo/CodeView/ModuleDebugInlineeLinesFragment.cpp
The file was modified/llvm/trunk/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp (diff)llvm-revision.src/llvm/trunk/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp
The file was modified/llvm/trunk/unittests/Support/BinaryStreamTest.cpp (diff)llvm-revision.src/llvm/trunk/unittests/Support/BinaryStreamTest.cpp