summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-02-19 01:32:20 +0000
committerJohn McCall <rjmccall@apple.com>2010-02-19 01:32:20 +0000
commitd4324148d70f064842c74fedf3cda2234eda915e (patch)
treec28a50be7680d037fe8978afa328fe7e767ac423 /clang/lib/Frontend/CompilerInvocation.cpp
parent5481d329a3441bf45b16402bfead8d6665cf7937 (diff)
downloadbcm5719-llvm-d4324148d70f064842c74fedf3cda2234eda915e.tar.gz
bcm5719-llvm-d4324148d70f064842c74fedf3cda2234eda915e.zip
Re-introduce the ctor/dtor alias optimization, this time hidden behind a
command-line option which defaults off. llvm-svn: 96649
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r--clang/lib/Frontend/CompilerInvocation.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp
index a193ac87030..64a42bc0ec4 100644
--- a/clang/lib/Frontend/CompilerInvocation.cpp
+++ b/clang/lib/Frontend/CompilerInvocation.cpp
@@ -180,6 +180,8 @@ static void CodeGenOptsToArgs(const CodeGenOptions &Opts,
Res.push_back("-mrelocation-model");
Res.push_back(Opts.RelocationModel);
}
+ if (Opts.CXXCtorDtorAliases)
+ Res.push_back("-mconstructor-aliases");
if (!Opts.VerifyModule)
Res.push_back("-disable-llvm-verifier");
}
@@ -789,6 +791,7 @@ static void ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args,
Opts.SoftFloat = Args.hasArg(OPT_msoft_float);
Opts.UnwindTables = Args.hasArg(OPT_munwind_tables);
Opts.RelocationModel = getLastArgValue(Args, OPT_mrelocation_model, "pic");
+ Opts.CXXCtorDtorAliases = Args.hasArg(OPT_mconstructor_aliases);
Opts.MainFileName = getLastArgValue(Args, OPT_main_file_name);
Opts.VerifyModule = !Args.hasArg(OPT_disable_llvm_verifier);
OpenPOWER on IntegriCloud