diff options
author | Eric Christopher <echristo@gmail.com> | 2015-09-25 17:44:31 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gmail.com> | 2015-09-25 17:44:31 +0000 |
commit | 74a7c5dc165376fe45d5ad5b6080bf10df4b72ea (patch) | |
tree | 11e31634e2af20d4d928b053288264fecacdf390 /llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp | |
parent | 0a109000705afd3dacbc1ddec29081d81ca55bae (diff) | |
download | bcm5719-llvm-74a7c5dc165376fe45d5ad5b6080bf10df4b72ea.tar.gz bcm5719-llvm-74a7c5dc165376fe45d5ad5b6080bf10df4b72ea.zip |
The Clang gcc-compatible driver (clang/tools/driver/driver.cpp) has some
logic to select an alternate target based on the executable it was
called as. For instance, if you symlink i686-linux-android-gcc to clang
and invoke it, the driver will act as though it were called with another
argument ("-target i686-linux-android"). This leads to visible effects
even in syntax-only compilations (like the ANDROID preprocessor symbol
being defined).
This behavior is not replicated for tool invocations--for instance,
clang::createInvocationFromCommandLine will not choose an alternate
target based on ArgList[0]. This means that configurations stored in
compilation databases aren't accurately replayed.
This patch separates the logic for selecting a mode flag and target from
the executable name into a new member function on ToolChain. It should
have no functional effects (but will allow other code to reuse the
target/mode selection logic).
Patch by Luke Zarko!
llvm-svn: 248592
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp')
0 files changed, 0 insertions, 0 deletions