summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Sonnenberger <joerg@bec.de>2011-05-19 18:42:29 +0000
committerJoerg Sonnenberger <joerg@bec.de>2011-05-19 18:42:29 +0000
commitb487d2d8158cd38bb44a35bf9e81fd3c011b8b49 (patch)
tree9024e82129868ece8e05fb2db1aa4a26f4544d24
parent1b27dac25336bf99098f6e4159c266ea8628a2b6 (diff)
downloadbcm5719-llvm-b487d2d8158cd38bb44a35bf9e81fd3c011b8b49.tar.gz
bcm5719-llvm-b487d2d8158cd38bb44a35bf9e81fd3c011b8b49.zip
Support -fatal-warnings for the assembler frontend
llvm-svn: 131662
-rw-r--r--clang/include/clang/Driver/CC1AsOptions.td3
-rw-r--r--clang/lib/Driver/Tools.cpp3
-rw-r--r--clang/tools/driver/cc1as_main.cpp2
3 files changed, 8 insertions, 0 deletions
diff --git a/clang/include/clang/Driver/CC1AsOptions.td b/clang/include/clang/Driver/CC1AsOptions.td
index 2643c4f0e85..cc418e7353f 100644
--- a/clang/include/clang/Driver/CC1AsOptions.td
+++ b/clang/include/clang/Driver/CC1AsOptions.td
@@ -77,3 +77,6 @@ def relax_all : Flag<"-relax-all">,
def no_exec_stack : Flag<"--noexecstack">,
HelpText<"Mark the file as not needing an executable stack">;
+
+def fatal_warnings : Flag<"-fatal-warnings">,
+ HelpText<"Consider warnings as errors">;
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index 00864370527..c575afb95eb 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -1020,6 +1020,9 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
// Do nothing, this is the default and we don't support anything else.
} else if (Value == "-L") {
CmdArgs.push_back("-msave-temp-labels");
+ } else if (Value == "-fatal-warnings") {
+ CmdArgs.push_back("-mllvm");
+ CmdArgs.push_back("-fatal-assembler-warnings");
} else {
D.Diag(clang::diag::err_drv_unsupported_option_argument)
<< A->getOption().getName() << Value;
diff --git a/clang/tools/driver/cc1as_main.cpp b/clang/tools/driver/cc1as_main.cpp
index ec6ce65a9b8..f449235db4c 100644
--- a/clang/tools/driver/cc1as_main.cpp
+++ b/clang/tools/driver/cc1as_main.cpp
@@ -172,6 +172,8 @@ void AssemblerInvocation::CreateFromArgs(AssemblerInvocation &Opts,
}
}
Opts.LLVMArgs = Args->getAllArgValues(OPT_mllvm);
+ if (Args->hasArg(OPT_fatal_warnings))
+ Opts.LLVMArgs.push_back("-fatal-assembler-warnings");
Opts.OutputPath = Args->getLastArgValue(OPT_o);
if (Arg *A = Args->getLastArg(OPT_filetype)) {
StringRef Name = A->getValue(*Args);
OpenPOWER on IntegriCloud