diff options
author | Bill Wendling <isanbard@gmail.com> | 2013-01-17 21:28:46 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2013-01-17 21:28:46 +0000 |
commit | da29e005781274c390029abe0e596d51478342ab (patch) | |
tree | 5934c319a2be4cebfbbacc8601883394a33c211d /clang/lib/Driver/Tools.cpp | |
parent | ef6b06d73a882c9fddbf4f6af6d46d1c1736bd58 (diff) | |
download | bcm5719-llvm-da29e005781274c390029abe0e596d51478342ab.tar.gz bcm5719-llvm-da29e005781274c390029abe0e596d51478342ab.zip |
Reverting r171325 & r172363. This was causing a mis-compile on the self-hosted LTO build bots.
Okay, here's how to reproduce the problem:
1) Build a Release (or Release+Asserts) version of clang in the normal way.
2) Using the clang & clang++ binaries from (1), build a Release (or
Release+Asserts) version of the same sources, but this time enable LTO ---
specify the `-flto' flag on the command line.
3) Run the ARC migrator tests:
$ arcmt-test --args -triple x86_64-apple-darwin10 -fsyntax-only -x objective-c++ ./src/tools/clang/test/ARCMT/cxx-rewrite.mm
You'll see that the output isn't correct (the whitespace is off).
The mis-compile is in the function `RewriteBuffer::RemoveText' in the
clang/lib/Rewrite/Core/Rewriter.cpp file. When that function and RewriteRope.cpp
are compiled with LTO and the `arcmt-test' executable is regenerated, you'll see
the error. When those files are not LTO'ed, then the output of the `arcmt-test'
is fine.
It is *really* hard to get a testcase out of this. I'll file a PR with what I
have currently.
--- Reverse-merging r172363 into '.':
U include/llvm/Analysis/MemoryBuiltins.h
U lib/Analysis/MemoryBuiltins.cpp
--- Reverse-merging r171325 into '.':
U test/Transforms/InstCombine/objsize.ll
G include/llvm/Analysis/MemoryBuiltins.h
G lib/Analysis/MemoryBuiltins.cpp
llvm-svn: 172756
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
0 files changed, 0 insertions, 0 deletions