diff options
author | John McCall <rjmccall@apple.com> | 2010-08-22 06:43:33 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2010-08-22 06:43:33 +0000 |
commit | 1c456c89dc9792e5dc50ccdfc0b738c888de8ca4 (patch) | |
tree | 57609fbd3ebf83ce657ede53bbbd2a0476d8041e /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 84fa510aa9ee3ee97ded906fe4635c2952596fe9 (diff) | |
download | bcm5719-llvm-1c456c89dc9792e5dc50ccdfc0b738c888de8ca4.tar.gz bcm5719-llvm-1c456c89dc9792e5dc50ccdfc0b738c888de8ca4.zip |
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.
llvm-svn: 111772
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r-- | clang/lib/Frontend/CompilerInvocation.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index f8a56a0badc..7622eb79064 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/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"; } // |