From: Douglas Katzman Date: Fri, 11 Sep 2015 21:13:46 +0000 (+0000) Subject: [Shave]: pass -isystem dirs and "-Wa," args to moviAsm X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=572aaf1e4789f2ee8a66eb4db8bb43a5393f8d45;p=clang [Shave]: pass -isystem dirs and "-Wa," args to moviAsm git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247474 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 1a3a22d9ab..b7791880ed 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -9716,13 +9716,14 @@ void tools::SHAVE::Assembler::ConstructJob(Compilation &C, const JobAction &JA, assert(Output.getType() == types::TY_Object); CmdArgs.push_back("-no6thSlotCompression"); - CmdArgs.push_back("-cv:myriad2"); // Chip Version ? + CmdArgs.push_back("-cv:myriad2"); // Chip Version CmdArgs.push_back("-noSPrefixing"); CmdArgs.push_back("-a"); // Mystery option. - for (auto Arg : Args.filtered(options::OPT_I)) { - Arg->claim(); + Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler); + for (const Arg *A : Args.filtered(options::OPT_I, options::OPT_isystem)) { + A->claim(); CmdArgs.push_back( - Args.MakeArgString(std::string("-i:") + Arg->getValue(0))); + Args.MakeArgString(std::string("-i:") + A->getValue(0))); } CmdArgs.push_back("-elf"); // Output format. CmdArgs.push_back(II.getFilename()); diff --git a/test/Driver/shave-toolchain.c b/test/Driver/shave-toolchain.c index 006ce9c1b3..5fa1a172d4 100644 --- a/test/Driver/shave-toolchain.c +++ b/test/Driver/shave-toolchain.c @@ -8,10 +8,11 @@ // As such, we test only for a trailing quote in its rendering. // The same goes for "moviAsm". -// RUN: %clang -target shave -c -### %s -Icommon 2>&1 \ +// RUN: %clang -target shave -c -### %s -isystem somewhere -Icommon -Wa,-yippee 2>&1 \ // RUN: | FileCheck %s -check-prefix=MOVICOMPILE -// MOVICOMPILE: moviCompile" "-DMYRIAD2" "-mcpu=myriad2" "-S" "-I" "common" -// MOVICOMPILE: moviAsm" "-no6thSlotCompression" "-cv:myriad2" "-noSPrefixing" "-a" "-i:common" "-elf" +// MOVICOMPILE: moviCompile" "-DMYRIAD2" "-mcpu=myriad2" "-S" "-isystem" "somewhere" "-I" "common" +// MOVICOMPILE: moviAsm" "-no6thSlotCompression" "-cv:myriad2" "-noSPrefixing" "-a" +// MOVICOMPILE: "-yippee" "-i:somewhere" "-i:common" "-elf" // RUN: %clang -target shave -c -### %s -DEFINE_ME -UNDEFINE_ME 2>&1 \ // RUN: | FileCheck %s -check-prefix=DEFINES