AsmParser: Stop requiring 'name:' when it's not printed

r230877 optimized which fields are written out for `CHECK`-ability, but
apparently missed changing some of them to optional in `LLParser`.

Fixes PR22921.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232400 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan P. N. Exon Smith 2015-03-16 19:01:54 +00:00
parent 8233e8c233
commit 3c0d9fa2d4
7 changed files with 10 additions and 22 deletions

View File

@ -3534,7 +3534,7 @@ bool LLParser::ParseMDCompileUnit(MDNode *&Result, bool IsDistinct) {
bool LLParser::ParseMDSubprogram(MDNode *&Result, bool IsDistinct) {
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED) \
OPTIONAL(scope, MDField, ); \
REQUIRED(name, MDStringField, ); \
OPTIONAL(name, MDStringField, ); \
OPTIONAL(linkageName, MDStringField, ); \
OPTIONAL(file, MDField, ); \
OPTIONAL(line, LineField, ); \
@ -3649,7 +3649,7 @@ bool LLParser::ParseMDTemplateValueParameter(MDNode *&Result, bool IsDistinct) {
bool LLParser::ParseMDGlobalVariable(MDNode *&Result, bool IsDistinct) {
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED) \
OPTIONAL(scope, MDField, ); \
REQUIRED(name, MDStringField, ); \
OPTIONAL(name, MDStringField, ); \
OPTIONAL(linkageName, MDStringField, ); \
OPTIONAL(file, MDField, ); \
OPTIONAL(line, LineField, ); \
@ -3735,7 +3735,7 @@ bool LLParser::ParseMDExpression(MDNode *&Result, bool IsDistinct) {
/// getter: "getFoo", attributes: 7, type: !2)
bool LLParser::ParseMDObjCProperty(MDNode *&Result, bool IsDistinct) {
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED) \
REQUIRED(name, MDStringField, ); \
OPTIONAL(name, MDStringField, ); \
OPTIONAL(file, MDField, ); \
OPTIONAL(line, LineField, ); \
OPTIONAL(setter, MDStringField, ); \

View File

@ -1,4 +0,0 @@
; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s
; CHECK: <stdin>:[[@LINE+1]]:42: error: missing required field 'name'
!0 = !MDGlobalVariable(linkageName: "foo")

View File

@ -1,4 +0,0 @@
; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s
; CHECK: [[@LINE+1]]:38: error: missing required field 'name'
!0 = !MDObjCProperty(setter: "setFoo")

View File

@ -1,4 +0,0 @@
; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s
; CHECK: <stdin>:[[@LINE+1]]:38: error: missing required field 'name'
!0 = !MDSubprogram(linkageName: "foo")

View File

@ -18,5 +18,5 @@
isDefinition: false, variable: i32* @foo,
declaration: !4)
; CHECK: !6 = !MDGlobalVariable(name: "bar", scope: null, isLocal: false, isDefinition: true)
!6 = !MDGlobalVariable(name: "bar")
; CHECK: !6 = !MDGlobalVariable(scope: null, isLocal: false, isDefinition: true)
!6 = !MDGlobalVariable()

View File

@ -14,7 +14,7 @@
!3 = !MDObjCProperty(name: "foo", file: !1, line: 7, setter: "setFoo",
getter: "getFoo", attributes: 7, type: !2)
; CHECK-NEXT: !4 = !MDObjCProperty(name: "foo")
!4 = !MDObjCProperty(name: "foo", file: null, line: 0, setter: "", getter: "",
; CHECK-NEXT: !4 = !MDObjCProperty()
!4 = !MDObjCProperty(name: "", file: null, line: 0, setter: "", getter: "",
attributes: 0, type: null)
!5 = !MDObjCProperty(name: "foo")
!5 = !MDObjCProperty()

View File

@ -23,6 +23,6 @@ declare void @_Z3foov()
flags: DIFlagPrototyped, isOptimized: true, function: void ()* @_Z3foov,
templateParams: !5, declaration: !6, variables: !7)
; CHECK: !9 = !MDSubprogram(name: "bar", scope: null, isLocal: false, isDefinition: true, isOptimized: false)
!9 = !MDSubprogram(name: "bar")
; CHECK: !9 = !MDSubprogram(scope: null, isLocal: false, isDefinition: true, isOptimized: false)
!9 = !MDSubprogram()