File tree 2 files changed +19
-26
lines changed
2 files changed +19
-26
lines changed Original file line number Diff line number Diff line change @@ -5629,27 +5629,20 @@ MCAsmMacro *AsmParser::parseMacroLikeBody(SMLoc DirectiveLoc) {
5629
5629
return nullptr ;
5630
5630
}
5631
5631
5632
- if (Lexer.is (AsmToken::Identifier) &&
5633
- (getTok ().getIdentifier () == " .rep" ||
5634
- getTok ().getIdentifier () == " .rept" ||
5635
- getTok ().getIdentifier () == " .irp" ||
5636
- getTok ().getIdentifier () == " .irpc" )) {
5637
- ++NestLevel;
5638
- }
5639
-
5640
- // Otherwise, check whether we have reached the .endr.
5641
- if (Lexer.is (AsmToken::Identifier) && getTok ().getIdentifier () == " .endr" ) {
5642
- if (NestLevel == 0 ) {
5643
- EndToken = getTok ();
5644
- Lex ();
5645
- if (Lexer.isNot (AsmToken::EndOfStatement)) {
5646
- printError (getTok ().getLoc (),
5647
- " unexpected token in '.endr' directive" );
5648
- return nullptr ;
5632
+ if (Lexer.is (AsmToken::Identifier)) {
5633
+ StringRef Ident = getTok ().getIdentifier ();
5634
+ if (Ident == " .rep" || Ident == " .rept" || Ident == " .irp" ||
5635
+ Ident == " .irpc" ) {
5636
+ ++NestLevel;
5637
+ } else if (Ident == " .endr" ) {
5638
+ if (NestLevel == 0 ) {
5639
+ EndToken = getTok ();
5640
+ Lex ();
5641
+ if (!parseEOL ())
5642
+ break ;
5649
5643
}
5650
- break ;
5644
+ --NestLevel ;
5651
5645
}
5652
- --NestLevel;
5653
5646
}
5654
5647
5655
5648
// Otherwise, scan till the end of the statement.
Original file line number Diff line number Diff line change 13
13
// CHECK: .long 1
14
14
// CHECK: .long 1
15
15
16
- // CHECK: .long 0
17
- // CHECK: .long 0
18
- // CHECK: .long 0
19
-
20
- // CHECK: .long 0
21
- // CHECK: .long 0
22
- // CHECK: .long 0
16
+ // CHECK: .long 0
17
+ // CHECK-NEXT : .long 0
18
+ // CHECK-NEXT : .long 0
19
+ // CHECK-NEXT: .long 0
20
+ // CHECK-NEXT : .long 0
21
+ // CHECK-NEXT : .long 0
22
+ // CHECK-EMPTY:
You can’t perform that action at this time.
0 commit comments