Skip to content

Commit 9889e85

Browse files
authored
spec/iasm.dd: Update grammar for GCC asm instructions (#4284)
Parser has accepted both `asm {"string";}` and `asm {(ctfeString);}` for some time now.
1 parent 48f6b69 commit 9889e85

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

spec/iasm.dd

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1354,26 +1354,30 @@ $(GNAME GccAsmInstruction):
13541354
$(GLINK GccGotoAsmInstruction)
13551355

13561356
$(GNAME GccBasicAsmInstruction):
1357-
$(GLINK2 expression, AssignExpression)
1357+
$(GLINK2 expression, GccAsmStringExpression)
13581358

13591359
$(GNAME GccExtAsmInstruction):
1360-
$(GLINK2 expression, AssignExpression) $(D :) $(GLINK GccAsmOperands)$(OPT)
1361-
$(GLINK2 expression, AssignExpression) $(D :) $(GLINK GccAsmOperands)$(OPT) $(D :) $(GLINK GccAsmOperands)$(OPT)
1362-
$(GLINK2 expression, AssignExpression) $(D :) $(GLINK GccAsmOperands)$(OPT) $(D :) $(GLINK GccAsmOperands)$(OPT) $(D :) $(GLINK GccAsmClobbers)$(OPT)
1360+
$(GLINK2 expression, GccAsmStringExpression) $(D :) $(GLINK GccAsmOperands)$(OPT)
1361+
$(GLINK2 expression, GccAsmStringExpression) $(D :) $(GLINK GccAsmOperands)$(OPT) $(D :) $(GLINK GccAsmOperands)$(OPT)
1362+
$(GLINK2 expression, GccAsmStringExpression) $(D :) $(GLINK GccAsmOperands)$(OPT) $(D :) $(GLINK GccAsmOperands)$(OPT) $(D :) $(GLINK GccAsmClobbers)$(OPT)
13631363

13641364
$(GNAME GccGotoAsmInstruction):
1365-
$(GLINK2 expression, AssignExpression) $(D :) $(D :) $(GLINK GccAsmOperands)$(OPT) $(D :) $(GLINK GccAsmClobbers)$(OPT) $(D :) $(GLINK GccAsmGotoLabels)$(OPT)
1365+
$(GLINK2 expression, GccAsmStringExpression) $(D :) $(D :) $(GLINK GccAsmOperands)$(OPT) $(D :) $(GLINK GccAsmClobbers)$(OPT) $(D :) $(GLINK GccAsmGotoLabels)$(OPT)
1366+
1367+
$(GNAME GccAsmStringExpression):
1368+
$(GLINK_LEX StringLiteral)
1369+
$(D $(LPAREN)) $(GLINK2 expression, ConditionalExpression) $(D $(RPAREN))
13661370

13671371
$(GNAME GccAsmOperands):
1368-
$(GLINK GccSymbolicName)$(OPT) $(GLINK_LEX StringLiteral) $(D $(LPAREN)) $(GLINK2 expression, AssignExpression) $(D $(RPAREN))
1369-
$(GLINK GccSymbolicName)$(OPT) $(GLINK_LEX StringLiteral) $(D $(LPAREN)) $(GLINK2 expression, AssignExpression) $(D $(RPAREN)) $(D ,) $(GSELF GccAsmOperands)
1372+
$(GLINK GccSymbolicName)$(OPT) $(GLINK_LEX GccAsmStringExpression) $(D $(LPAREN)) $(GLINK2 expression, AssignExpression) $(D $(RPAREN))
1373+
$(GLINK GccSymbolicName)$(OPT) $(GLINK_LEX GccAsmStringExpression) $(D $(LPAREN)) $(GLINK2 expression, AssignExpression) $(D $(RPAREN)) $(D ,) $(GSELF GccAsmOperands)
13701374

13711375
$(GNAME GccSymbolicName):
13721376
$(D [) $(GLINK_LEX Identifier) $(D ])
13731377

13741378
$(GNAME GccAsmClobbers):
1375-
$(GLINK_LEX StringLiteral)
1376-
$(GLINK_LEX StringLiteral) $(D ,) $(GSELF GccAsmClobbers)
1379+
$(GLINK_LEX GccAsmStringExpression)
1380+
$(GLINK_LEX GccAsmStringExpression) $(D ,) $(GSELF GccAsmClobbers)
13771381

13781382
$(GNAME GccAsmGotoLabels):
13791383
$(GLINK_LEX Identifier)

0 commit comments

Comments
 (0)