mirror of
https://github.com/intel/llvm.git
synced 2026-02-06 06:31:50 +08:00
[Shave]: add a -MT option to moviCompile if there wasn't one
Differential Revision: http://reviews.llvm.org/D12622 llvm-svn: 247052
This commit is contained in:
@@ -9669,15 +9669,27 @@ void tools::SHAVE::Compiler::ConstructJob(Compilation &C, const JobAction &JA,
|
||||
// Append all -I, -iquote, -isystem paths, defines/undefines,
|
||||
// 'f' flags, optimize flags, and warning options.
|
||||
// These are spelled the same way in clang and moviCompile.
|
||||
Args.AddAllArgs(CmdArgs,
|
||||
{options::OPT_I_Group, options::OPT_clang_i_Group,
|
||||
options::OPT_D, options::OPT_U,
|
||||
options::OPT_f_Group,
|
||||
options::OPT_f_clang_Group,
|
||||
options::OPT_g_Group,
|
||||
options::OPT_M_Group,
|
||||
options::OPT_O_Group,
|
||||
options::OPT_W_Group});
|
||||
Args.AddAllArgs(CmdArgs, {options::OPT_I_Group, options::OPT_clang_i_Group,
|
||||
options::OPT_D, options::OPT_U,
|
||||
options::OPT_f_Group, options::OPT_f_clang_Group,
|
||||
options::OPT_g_Group, options::OPT_M_Group,
|
||||
options::OPT_O_Group, options::OPT_W_Group});
|
||||
|
||||
// If we're producing a dependency file, and assembly is the final action,
|
||||
// then the name of the target in the dependency file should be the '.o'
|
||||
// file, not the '.s' file produced by this step. For example, instead of
|
||||
// /tmp/mumble.s: mumble.c .../someheader.h
|
||||
// the filename on the lefthand side should be "mumble.o"
|
||||
if (Args.getLastArg(options::OPT_MF) && !Args.getLastArg(options::OPT_MT) &&
|
||||
C.getActions().size() == 1 &&
|
||||
C.getActions()[0]->getKind() == Action::AssembleJobClass) {
|
||||
Arg *A = Args.getLastArg(options::OPT_o);
|
||||
if (A) {
|
||||
CmdArgs.push_back("-MT");
|
||||
CmdArgs.push_back(Args.MakeArgString(A->getValue()));
|
||||
}
|
||||
}
|
||||
|
||||
CmdArgs.push_back("-fno-exceptions"); // Always do this even if unspecified.
|
||||
|
||||
CmdArgs.push_back(II.getFilename());
|
||||
|
||||
@@ -26,3 +26,7 @@
|
||||
// RUN: -ffunction-sections 2>&1 | FileCheck %s -check-prefix=PASSTHRU_OPTIONS
|
||||
// PASSTHRU_OPTIONS: "-g" "-fno-inline-functions" "-fno-inline-functions-called-once"
|
||||
// PASSTHRU_OPTIONS: "-Os" "-Wall" "-MF" "dep.d" "-ffunction-sections"
|
||||
|
||||
// RUN: %clang -target shave -c %s -o foo.o -### -MD -MF dep.d 2>&1 \
|
||||
// RUN: | FileCheck %s -check-prefix=MDMF
|
||||
// MDMF: "-S" "-MD" "-MF" "dep.d" "-MT" "foo.o"
|
||||
|
||||
Reference in New Issue
Block a user