Author: dougk Date: Wed Jul 29 13:39:14 2015 New Revision: 243552 URL: http://llvm.org/viewvc/llvm-project?rev=243552&view=rev Log: Use the AddAllArgs overload which accepts an ArrayRef of OptSpecifier.
Differential Revision: http://reviews.llvm.org/D11599 Modified: cfe/trunk/lib/Driver/Tools.cpp cfe/trunk/test/Driver/cl-response-file.c cfe/trunk/test/Driver/hexagon-toolchain-elf.c cfe/trunk/test/Driver/hexagon-toolchain.c Modified: cfe/trunk/lib/Driver/Tools.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=243552&r1=243551&r2=243552&view=diff ============================================================================== --- cfe/trunk/lib/Driver/Tools.cpp (original) +++ cfe/trunk/lib/Driver/Tools.cpp Wed Jul 29 13:39:14 2015 @@ -412,9 +412,9 @@ void Clang::AddPreprocessingOptions(Comp A->render(Args, CmdArgs); } - Args.AddAllArgs(CmdArgs, options::OPT_D, options::OPT_U); - Args.AddAllArgs(CmdArgs, options::OPT_I_Group, options::OPT_F, - options::OPT_index_header_map); + Args.AddAllArgs(CmdArgs, + {options::OPT_D, options::OPT_U, options::OPT_I_Group, + options::OPT_F, options::OPT_index_header_map}); // Add -Wp, and -Xassembler if using the preprocessor. @@ -5823,11 +5823,9 @@ constructHexagonLinkArgs(Compilation &C, //---------------------------------------------------------------------------- // //---------------------------------------------------------------------------- - Args.AddAllArgs(CmdArgs, options::OPT_T_Group); - Args.AddAllArgs(CmdArgs, options::OPT_e); - Args.AddAllArgs(CmdArgs, options::OPT_s); - Args.AddAllArgs(CmdArgs, options::OPT_t); - Args.AddAllArgs(CmdArgs, options::OPT_u_Group); + Args.AddAllArgs(CmdArgs, + {options::OPT_T_Group, options::OPT_e, options::OPT_s, + options::OPT_t, options::OPT_u_Group}); AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs); @@ -6182,12 +6180,9 @@ void cloudabi::Linker::ConstructJob(Comp const ToolChain::path_list &Paths = ToolChain.getFilePaths(); for (const auto &Path : Paths) CmdArgs.push_back(Args.MakeArgString(StringRef("-L") + Path)); - Args.AddAllArgs(CmdArgs, options::OPT_T_Group); - Args.AddAllArgs(CmdArgs, options::OPT_e); - Args.AddAllArgs(CmdArgs, options::OPT_s); - Args.AddAllArgs(CmdArgs, options::OPT_t); - Args.AddAllArgs(CmdArgs, options::OPT_Z_Flag); - Args.AddAllArgs(CmdArgs, options::OPT_r); + Args.AddAllArgs(CmdArgs, + {options::OPT_T_Group, options::OPT_e, options::OPT_s, + options::OPT_t, options::OPT_Z_Flag, options::OPT_r}); if (D.IsUsingLTO(Args)) AddGoldPlugin(ToolChain, Args, CmdArgs); @@ -6516,13 +6511,11 @@ void darwin::Linker::ConstructJob(Compil // we follow suite for ease of comparison. AddLinkArgs(C, Args, CmdArgs, Inputs); - Args.AddAllArgs(CmdArgs, options::OPT_d_Flag); - Args.AddAllArgs(CmdArgs, options::OPT_s); - Args.AddAllArgs(CmdArgs, options::OPT_t); - Args.AddAllArgs(CmdArgs, options::OPT_Z_Flag); - Args.AddAllArgs(CmdArgs, options::OPT_u_Group); - Args.AddLastArg(CmdArgs, options::OPT_e); - Args.AddAllArgs(CmdArgs, options::OPT_r); + // It seems that the 'e' option is completely ignored for dynamic executables + // (the default), and with static executables, the last one wins, as expected. + Args.AddAllArgs(CmdArgs, {options::OPT_d_Flag, options::OPT_s, options::OPT_t, + options::OPT_Z_Flag, options::OPT_u_Group, + options::OPT_e, options::OPT_r}); // Forward -ObjC when either -ObjC or -ObjC++ is used, to force loading // members of static archive libraries which implement Objective-C classes or @@ -6807,10 +6800,8 @@ void solaris::Linker::ConstructJob(Compi CmdArgs.push_back(Args.MakeArgString("-L" + GCCLibPath)); - Args.AddAllArgs(CmdArgs, options::OPT_L); - Args.AddAllArgs(CmdArgs, options::OPT_T_Group); - Args.AddAllArgs(CmdArgs, options::OPT_e); - Args.AddAllArgs(CmdArgs, options::OPT_r); + Args.AddAllArgs(CmdArgs, {options::OPT_L, options::OPT_T_Group, + options::OPT_e, options::OPT_r}); AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs); @@ -6983,13 +6974,9 @@ void openbsd::Linker::ConstructJob(Compi CmdArgs.push_back( Args.MakeArgString("-L/usr/lib/gcc-lib/" + Triple + "/4.2.1")); - Args.AddAllArgs(CmdArgs, options::OPT_L); - Args.AddAllArgs(CmdArgs, options::OPT_T_Group); - Args.AddAllArgs(CmdArgs, options::OPT_e); - Args.AddAllArgs(CmdArgs, options::OPT_s); - Args.AddAllArgs(CmdArgs, options::OPT_t); - Args.AddAllArgs(CmdArgs, options::OPT_Z_Flag); - Args.AddAllArgs(CmdArgs, options::OPT_r); + Args.AddAllArgs(CmdArgs, {options::OPT_L, options::OPT_T_Group, + options::OPT_e, options::OPT_s, options::OPT_t, + options::OPT_Z_Flag, options::OPT_r}); AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs); @@ -7111,9 +7098,8 @@ void bitrig::Linker::ConstructJob(Compil } } - Args.AddAllArgs(CmdArgs, options::OPT_L); - Args.AddAllArgs(CmdArgs, options::OPT_T_Group); - Args.AddAllArgs(CmdArgs, options::OPT_e); + Args.AddAllArgs(CmdArgs, + {options::OPT_L, options::OPT_T_Group, options::OPT_e}); AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs); @@ -8540,9 +8526,8 @@ void minix::Linker::ConstructJob(Compila CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath("crtn.o"))); } - Args.AddAllArgs(CmdArgs, options::OPT_L); - Args.AddAllArgs(CmdArgs, options::OPT_T_Group); - Args.AddAllArgs(CmdArgs, options::OPT_e); + Args.AddAllArgs(CmdArgs, + {options::OPT_L, options::OPT_T_Group, options::OPT_e}); AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs); @@ -8665,9 +8650,8 @@ void dragonfly::Linker::ConstructJob(Com Args.MakeArgString(getToolChain().GetFilePath("crtbegin.o"))); } - Args.AddAllArgs(CmdArgs, options::OPT_L); - Args.AddAllArgs(CmdArgs, options::OPT_T_Group); - Args.AddAllArgs(CmdArgs, options::OPT_e); + Args.AddAllArgs(CmdArgs, + {options::OPT_L, options::OPT_T_Group, options::OPT_e}); AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs); @@ -8927,8 +8911,7 @@ std::unique_ptr<Command> visualstudio::C // any flag accepted by clang-cl. // These are spelled the same way in clang and cl.exe,. - Args.AddAllArgs(CmdArgs, options::OPT_D, options::OPT_U); - Args.AddAllArgs(CmdArgs, options::OPT_I); + Args.AddAllArgs(CmdArgs, {options::OPT_D, options::OPT_U, options::OPT_I}); // Optimization level. if (Arg *A = Args.getLastArg(options::OPT_fbuiltin, options::OPT_fno_builtin)) @@ -9481,10 +9464,10 @@ void tools::SHAVE::Compiler::ConstructJo assert(II.getType() == types::TY_C || II.getType() == types::TY_CXX); assert(Output.getType() == types::TY_PP_Asm); // Require preprocessed asm. - // Append all -I, -iquote, -isystem paths. - Args.AddAllArgs(CmdArgs, options::OPT_clang_i_Group); + // Append all -I, -iquote, -isystem paths, and defines/undefines. // These are spelled the same way in clang and moviCompile. - Args.AddAllArgs(CmdArgs, options::OPT_D, options::OPT_U); + Args.AddAllArgs(CmdArgs, + {options::OPT_clang_i_Group, options::OPT_D, options::OPT_U}); CmdArgs.push_back("-DMYRIAD2"); CmdArgs.push_back("-mcpu=myriad2"); Modified: cfe/trunk/test/Driver/cl-response-file.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/cl-response-file.c?rev=243552&r1=243551&r2=243552&view=diff ============================================================================== --- cfe/trunk/test/Driver/cl-response-file.c (original) +++ cfe/trunk/test/Driver/cl-response-file.c Wed Jul 29 13:39:14 2015 @@ -7,4 +7,4 @@ // RUN: echo '/I%S\Inputs\cl-response-file\ /DFOO=2' > %t.rsp // RUN: %clang_cl /c -### @%t.rsp -- %s 2>&1 | FileCheck %s -// CHECK: "-D" "FOO=2" "-I" "{{.*}}\\Inputs\\cl-response-file\\" +// CHECK: "-I" "{{.*}}\\Inputs\\cl-response-file\\" "-D" "FOO=2" Modified: cfe/trunk/test/Driver/hexagon-toolchain-elf.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/hexagon-toolchain-elf.c?rev=243552&r1=243551&r2=243552&view=diff ============================================================================== --- cfe/trunk/test/Driver/hexagon-toolchain-elf.c (original) +++ cfe/trunk/test/Driver/hexagon-toolchain-elf.c Wed Jul 29 13:39:14 2015 @@ -461,8 +461,8 @@ // CHECK022: "-L{{.*}}/lib/gcc" // CHECK022: "-L{{.*}}/hexagon/lib/v4" // CHECK022: "-L{{.*}}/hexagon/lib" -// CHECK022: "-Tbss" "0xdead" "-Tdata" "0xbeef" "-Ttext" "0xcafe" // CHECK022: "-s" +// CHECK022: "-Tbss" "0xdead" "-Tdata" "0xbeef" "-Ttext" "0xcafe" // CHECK022: "-t" // CHECK022: "-u" "Foo" "-undefined" "Bar" // CHECK022: "{{[^"]+}}.o" Modified: cfe/trunk/test/Driver/hexagon-toolchain.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/hexagon-toolchain.c?rev=243552&r1=243551&r2=243552&view=diff ============================================================================== --- cfe/trunk/test/Driver/hexagon-toolchain.c (original) +++ cfe/trunk/test/Driver/hexagon-toolchain.c Wed Jul 29 13:39:14 2015 @@ -461,8 +461,8 @@ // CHECK022: "-L{{.*}}/lib/gcc" // CHECK022: "-L{{.*}}/hexagon/lib/v4" // CHECK022: "-L{{.*}}/hexagon/lib" -// CHECK022: "-Tbss" "0xdead" "-Tdata" "0xbeef" "-Ttext" "0xcafe" // CHECK022: "-s" +// CHECK022: "-Tbss" "0xdead" "-Tdata" "0xbeef" "-Ttext" "0xcafe" // CHECK022: "-t" // CHECK022: "-u" "Foo" "-undefined" "Bar" // CHECK022: "{{[^"]+}}.o" _______________________________________________ cfe-commits mailing list cfe-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits