forked from OSchip/llvm-project
[lld-macho] Implement -fatal_warnings
Differential Revision: https://reviews.llvm.org/D91894
This commit is contained in:
parent
bfd2c216ea
commit
c0e4020c92
|
@ -76,6 +76,10 @@ opt::InputArgList MachOOptTable::parse(ArrayRef<const char *> argv) {
|
|||
cl::ExpandResponseFiles(saver, cl::TokenizeGNUCommandLine, vec);
|
||||
opt::InputArgList args = ParseArgs(vec, missingIndex, missingCount);
|
||||
|
||||
// Handle -fatal_warnings early since it converts missing argument warnings
|
||||
// to errors.
|
||||
errorHandler().fatalWarnings = args.hasArg(OPT_fatal_warnings);
|
||||
|
||||
if (missingCount)
|
||||
error(Twine(args.getArgString(missingIndex)) + ": missing argument");
|
||||
|
||||
|
|
|
@ -610,8 +610,7 @@ def no_application_extension : Flag<["-"], "no_application_extension">,
|
|||
Flags<[HelpHidden]>,
|
||||
Group<grp_rare>;
|
||||
def fatal_warnings : Flag<["-"], "fatal_warnings">,
|
||||
HelpText<"Escalate warnings as errors">,
|
||||
Flags<[HelpHidden]>,
|
||||
HelpText<"Treat warnings as errors">,
|
||||
Group<grp_rare>;
|
||||
def no_eh_labels : Flag<["-"], "no_eh_labels">,
|
||||
HelpText<"In -r mode, suppress .eh labels in the __eh_frame section">,
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
# REQUIRES: x86
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %s -o %t1.o
|
||||
|
||||
# RUN: %lld %t1.o -o /dev/null -single_module 2>&1 \
|
||||
# RUN: | FileCheck -check-prefix=WARNING %s
|
||||
# RUN: not %lld %t1.o -fatal_warnings -o /dev/null -single_module 2>&1 \
|
||||
# RUN: | FileCheck -check-prefix=ERROR %s
|
||||
|
||||
# ERROR: error: Option `-single_module' is deprecated
|
||||
# WARNING: warning: Option `-single_module' is deprecated
|
||||
|
||||
.globl _main
|
||||
_main:
|
Loading…
Reference in New Issue