diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-03-27 17:55:23 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-03-27 17:55:23 +0000 |
commit | 463a0afe15b15d35d0c7dc9750ee3a5a480bcf8c (patch) | |
tree | 74ee2024c3b2e3008582624c5fdd0c6d647baeee /clang/lib/Driver/Tools.cpp | |
parent | 75e0c4b0603c2006111f164c4113c4f26bcdaf64 (diff) | |
download | llvm-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.cpp | 9 |
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); |