From 0499a9d6889050c4b28c0d6d9ec987831ad7de7e Mon Sep 17 00:00:00 2001 From: Eric Astor Date: Fri, 2 Apr 2021 14:09:39 -0400 Subject: [ms] [llvm-ml] Accept /WX to signal that warnings should be fatal. Define -fatal-warnings to make warnings fatal, and accept /WX as an ML.EXE compatible alias for it. Also make sure that if Warning() returns true, we always treat it as an error. Reviewed By: thakis Differential Revision: https://reviews.llvm.org/D92504 --- llvm/tools/llvm-ml/Opts.td | 4 +++- llvm/tools/llvm-ml/llvm-ml.cpp | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'llvm/tools/llvm-ml') diff --git a/llvm/tools/llvm-ml/Opts.td b/llvm/tools/llvm-ml/Opts.td index a780720..b5ba920 100644 --- a/llvm/tools/llvm-ml/Opts.td +++ b/llvm/tools/llvm-ml/Opts.td @@ -31,6 +31,8 @@ def bitness : LLVMJoined<"m">, Values<"32,64">, HelpText<"Target platform (x86 or x86-64)">; def as_lex : LLVMFlag<"as-lex">, HelpText<"Lex tokens from a .asm file without assembling">; +def fatal_warnings : LLVMFlag<"fatal-warnings">, + HelpText<"Treat warnings as errors">; def filetype : LLVMJoined<"filetype=">, Values<"obj,s,null">, HelpText<"Emit a file with the given type">; def output_att_asm : LLVMFlag<"output-att-asm">, @@ -68,6 +70,7 @@ def safeseh : MLFlag<"safeseh">, def assembly_file : MLJoinedOrSeparate<"Ta">, HelpText<"Assemble source file with name not ending with " "the .asm extension">; +def error_on_warning : MLFlag<"WX">, Alias; def parse_only : MLFlag<"Zs">, HelpText<"Run a syntax-check only">, Alias, AliasArgs<["null"]>; @@ -102,7 +105,6 @@ def listing_title : UnsupportedSeparate<"St">, HelpText<"">; def listing_false_conditionals : UnsupportedFlag<"Sx">, HelpText<"">; def extra_warnings : UnsupportedFlag<"w">, HelpText<"">; def warning_level : UnsupportedJoined<"W">, HelpText<"">; -def error_on_warning : UnsupportedFlag<"WX">, HelpText<"">; def ignore_include_envvar : UnsupportedFlag<"X">, HelpText<"">; def line_number_info : UnsupportedFlag<"Zd">, HelpText<"">; def export_all_symbols : UnsupportedFlag<"Zf">, HelpText<"">; diff --git a/llvm/tools/llvm-ml/llvm-ml.cpp b/llvm/tools/llvm-ml/llvm-ml.cpp index 1733dcd..1292f40 100644 --- a/llvm/tools/llvm-ml/llvm-ml.cpp +++ b/llvm/tools/llvm-ml/llvm-ml.cpp @@ -231,6 +231,7 @@ int main(int Argc, char **Argv) { MCTargetOptions MCOptions; MCOptions.AssemblyLanguage = "masm"; + MCOptions.MCFatalWarnings = InputArgs.hasArg(OPT_fatal_warnings); Triple TheTriple = GetTriple(ProgName, InputArgs); std::string Error; -- cgit v1.1