diff options
author | Chris Lattner <sabre@nondot.org> | 2010-04-13 00:38:24 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-04-13 00:38:24 +0000 |
commit | dc6040b357c49a4798784dbcdb36894c96e445bf (patch) | |
tree | 86db17bb160126e01503ed689d4cae033781b1a6 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 08b0f66d2efe92aff5d61cef7b6ea7471853c0c6 (diff) | |
download | llvm-dc6040b357c49a4798784dbcdb36894c96e445bf.zip llvm-dc6040b357c49a4798784dbcdb36894c96e445bf.tar.gz llvm-dc6040b357c49a4798784dbcdb36894c96e445bf.tar.bz2 |
add frontend support for -fdata-sections and -ffunction-sections,
patch by Sylvere Teissier!
llvm-svn: 101108
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r-- | clang/lib/Frontend/CompilerInvocation.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index 17007b0..b5e5645 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -148,6 +148,10 @@ static void CodeGenOptsToArgs(const CodeGenOptions &Opts, // VerifyModule is only derived. // Inlining is only derived. + if (Opts.DataSections) + Res.push_back("-fdata-sections"); + if (Opts.FunctionSections) + Res.push_back("-ffunction-sections"); if (Opts.AsmVerbose) Res.push_back("-masm-verbose"); if (!Opts.CodeModel.empty()) { @@ -803,6 +807,9 @@ static void ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args, Opts.UnwindTables = Args.hasArg(OPT_munwind_tables); Opts.RelocationModel = getLastArgValue(Args, OPT_mrelocation_model, "pic"); + Opts.FunctionSections = Args.hasArg(OPT_ffunction_sections); + Opts.DataSections = Args.hasArg(OPT_fdata_sections); + Opts.MainFileName = getLastArgValue(Args, OPT_main_file_name); Opts.VerifyModule = !Args.hasArg(OPT_disable_llvm_verifier); } |