From d8d49ba20e58691914a43d54b8b479c8f36cc0c3 Mon Sep 17 00:00:00 2001 From: Hans Wennborg Date: Tue, 25 Mar 2014 17:50:25 +0000 Subject: clang-cl: make /Gy imply -fdata-sections in addition to -ffunction-sections llvm-svn: 204736 --- clang/lib/Driver/Tools.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'clang/lib/Driver/Tools.cpp') diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 49d73f678fc..ef3e00329dd 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -4135,6 +4135,12 @@ void Clang::AddClangCLArgs(const ArgList &Args, ArgStringList &CmdArgs) const { if (!Args.hasArg(options::OPT_frtti, options::OPT_fno_rtti)) CmdArgs.push_back("-fno-rtti"); + // Let -ffunction-sections imply -fdata-sections. + if (Arg * A = Args.getLastArg(options::OPT_ffunction_sections, + options::OPT_fno_function_sections)) + if (A->getOption().matches(options::OPT_ffunction_sections)) + CmdArgs.push_back("-fdata-sections"); + const Driver &D = getToolChain().getDriver(); Arg *MostGeneralArg = Args.getLastArg(options::OPT__SLASH_vmg); Arg *BestCaseArg = Args.getLastArg(options::OPT__SLASH_vmb); -- cgit v1.2.3