forked from OSchip/llvm-project
MC: Unknown assembler directives are now hard errors.
Previously, an unsupported/unknown assembler directive issued a warning. That's generally unsafe, and inconsistent with the behaviour of pretty much every system assembler. Now that the MC assemblers are mature enough to be the default on multiple targets, it's reasonable to issue errors for these. For target or platform directives that need to stay warnings, we should add explicit handlers for them in, e.g., ELFAsmParser.cpp, DarwinAsmParser.cpp, et. al., and issue the warning there. rdar://9246275 llvm-svn: 155926
This commit is contained in:
parent
a0c53f147a
commit
758e0cc94a
|
@ -1238,7 +1238,7 @@ bool AsmParser::ParseStatement() {
|
|||
if (!getTargetParser().ParseDirective(ID))
|
||||
return false;
|
||||
|
||||
return Warning(IDLoc, "ignoring directive for now");
|
||||
return Error(IDLoc, "unknown directive");
|
||||
}
|
||||
|
||||
CheckForValidSection();
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
.endmacro
|
||||
|
||||
.macros_off
|
||||
// CHECK-ERRORS: 9:1: warning: ignoring directive for now
|
||||
// CHECK-ERRORS: 9:1: error: unknown directive
|
||||
.test0
|
||||
.macros_on
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: llvm-mc -triple x86_64-apple-darwin10 %s 2> %t.err | FileCheck %s
|
||||
// RUN: not llvm-mc -triple x86_64-apple-darwin10 %s 2> %t.err | FileCheck %s
|
||||
// RUN: FileCheck --check-prefix=CHECK-ERRORS %s < %t.err
|
||||
|
||||
.macro .test0
|
||||
|
@ -9,7 +9,7 @@
|
|||
.endmacro
|
||||
|
||||
.test1
|
||||
// CHECK-ERRORS: <instantiation>:1:1: warning: ignoring directive for now
|
||||
// CHECK-ERRORS: <instantiation>:1:1: error: unknown directive
|
||||
// CHECK-ERRORS-NEXT: macrobody0
|
||||
// CHECK-ERRORS-NEXT: ^
|
||||
// CHECK-ERRORS: <instantiation>:1:1: note: while in macro instantiation
|
||||
|
|
Loading…
Reference in New Issue