aboutsummaryrefslogtreecommitdiff
path: root/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-08-22 06:43:33 +0000
committerJohn McCall <rjmccall@apple.com>2010-08-22 06:43:33 +0000
commit875ab10245d3bf37252dd822aa1616bb0a391095 (patch)
treee0d71f880cfe63c0978c658fb5ef07d08a972679 /lib/Frontend/CompilerInvocation.cpp
parentcf2c85e76fdafe7e634810a292321a6c8322483d (diff)
Abstract out member-pointer creation. I'm really unhappy about the current
duplication between the constant and non-constant paths in all of this. Implement ARM ABI semantics for member pointer constants and conversion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111772 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend/CompilerInvocation.cpp')
-rw-r--r--lib/Frontend/CompilerInvocation.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/lib/Frontend/CompilerInvocation.cpp b/lib/Frontend/CompilerInvocation.cpp
index f8a56a0bad..7622eb7906 100644
--- a/lib/Frontend/CompilerInvocation.cpp
+++ b/lib/Frontend/CompilerInvocation.cpp
@@ -713,8 +713,10 @@ static void TargetOptsToArgs(const TargetOptions &Opts,
Res.push_back("-target-linker-version");
Res.push_back(Opts.LinkerVersion);
}
- Res.push_back("-cxx-abi");
- Res.push_back(Opts.CXXABI);
+ if (!Opts.CXXABI.empty()) {
+ Res.push_back("-cxx-abi");
+ Res.push_back(Opts.CXXABI);
+ }
for (unsigned i = 0, e = Opts.Features.size(); i != e; ++i) {
Res.push_back("-target-feature");
Res.push_back(Opts.Features[i]);
@@ -1471,10 +1473,6 @@ static void ParseTargetArgs(TargetOptions &Opts, ArgList &Args) {
// Use the host triple if unspecified.
if (Opts.Triple.empty())
Opts.Triple = llvm::sys::getHostTriple();
-
- // Use the Itanium C++ ABI if unspecified.
- if (Opts.CXXABI.empty())
- Opts.CXXABI = "itanium";
}
//