aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Driver/Compilation.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-09-09 18:36:01 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-09-09 18:36:01 +0000
commitb5d86bbd76be9f5581116f8c9c58742b923f9ca4 (patch)
tree1f367f34b9437cc65f8a7e02b6c6dddf4035eb5f /clang/lib/Driver/Compilation.cpp
parent1bad7f222a7773a8fd8a01774ad867191f581f7d (diff)
downloadllvm-b5d86bbd76be9f5581116f8c9c58742b923f9ca4.zip
llvm-b5d86bbd76be9f5581116f8c9c58742b923f9ca4.tar.gz
llvm-b5d86bbd76be9f5581116f8c9c58742b923f9ca4.tar.bz2
Push bound architecture name into Compilation::getArgsForToolChain.
llvm-svn: 81365
Diffstat (limited to 'clang/lib/Driver/Compilation.cpp')
-rw-r--r--clang/lib/Driver/Compilation.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/clang/lib/Driver/Compilation.cpp b/clang/lib/Driver/Compilation.cpp
index ad3cb8d..f6e1885 100644
--- a/clang/lib/Driver/Compilation.cpp
+++ b/clang/lib/Driver/Compilation.cpp
@@ -31,8 +31,9 @@ Compilation::~Compilation() {
delete Args;
// Free any derived arg lists.
- for (llvm::DenseMap<const ToolChain*, DerivedArgList*>::iterator
- it = TCArgs.begin(), ie = TCArgs.end(); it != ie; ++it)
+ for (llvm::DenseMap<std::pair<const ToolChain*, const char*>,
+ DerivedArgList*>::iterator it = TCArgs.begin(),
+ ie = TCArgs.end(); it != ie; ++it)
delete it->second;
// Free the actions, if built.
@@ -41,11 +42,12 @@ Compilation::~Compilation() {
delete *it;
}
-const DerivedArgList &Compilation::getArgsForToolChain(const ToolChain *TC) {
+const DerivedArgList &Compilation::getArgsForToolChain(const ToolChain *TC,
+ const char *BoundArch) {
if (!TC)
TC = &DefaultToolChain;
- DerivedArgList *&Entry = TCArgs[TC];
+ DerivedArgList *&Entry = TCArgs[std::make_pair(TC, BoundArch)];
if (!Entry)
Entry = TC->TranslateArgs(*Args);