aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2015-03-27 17:55:23 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2015-03-27 17:55:23 +0000
commit463a0afe15b15d35d0c7dc9750ee3a5a480bcf8c (patch)
tree74ee2024c3b2e3008582624c5fdd0c6d647baeee /clang/lib/Driver/Tools.cpp
parent75e0c4b0603c2006111f164c4113c4f26bcdaf64 (diff)
downloadllvm-463a0afe15b15d35d0c7dc9750ee3a5a480bcf8c.zip
llvm-463a0afe15b15d35d0c7dc9750ee3a5a480bcf8c.tar.gz
llvm-463a0afe15b15d35d0c7dc9750ee3a5a480bcf8c.tar.bz2
Don't use unique section names by default if using the integrated as.
This saves some IO and ccache space by not creating long section names. It should work with every ELF linker. llvm-svn: 233393
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r--clang/lib/Driver/Tools.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index ed1bd3e..318cd07 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -3087,8 +3087,10 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
Args.hasArg(options::OPT_dA))
CmdArgs.push_back("-masm-verbose");
- if (!Args.hasFlag(options::OPT_fintegrated_as, options::OPT_fno_integrated_as,
- IsIntegratedAssemblerDefault))
+ bool UsingIntegratedAssembler =
+ Args.hasFlag(options::OPT_fintegrated_as, options::OPT_fno_integrated_as,
+ IsIntegratedAssemblerDefault);
+ if (!UsingIntegratedAssembler)
CmdArgs.push_back("-no-integrated-as");
if (Args.hasArg(options::OPT_fdebug_pass_structure)) {
@@ -3332,7 +3334,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
}
if (!Args.hasFlag(options::OPT_funique_section_names,
- options::OPT_fno_unique_section_names, true))
+ options::OPT_fno_unique_section_names,
+ !UsingIntegratedAssembler))
CmdArgs.push_back("-fno-unique-section-names");
Args.AddAllArgs(CmdArgs, options::OPT_finstrument_functions);