[flang] Fix parsing ambiguity with pointer assignment statements
authorpeter klausler <pklausler@nvidia.com>
Tue, 4 Sep 2018 16:57:54 +0000 (09:57 -0700)
committerpeter klausler <pklausler@nvidia.com>
Tue, 4 Sep 2018 18:55:27 +0000 (11:55 -0700)
Original-commit: flang-compiler/f18@42eb1b140d40389e1ec13bdf87e4ff3a2b21ed2b
Reviewed-on: https://github.com/flang-compiler/f18/pull/172

flang/lib/parser/grammar.h

index 4a2220d..a29354f 100644 (file)
@@ -359,6 +359,7 @@ TYPE_CONTEXT_PARSER("internal subprogram part"_en_US,
 // R1163 fail-image-stmt -> FAIL IMAGE
 TYPE_PARSER(first(construct<ActionStmt>(indirect(Parser<AllocateStmt>{})),
     construct<ActionStmt>(indirect(assignmentStmt)),
+    construct<ActionStmt>(indirect(pointerAssignmentStmt)),
     construct<ActionStmt>(indirect(Parser<BackspaceStmt>{})),
     construct<ActionStmt>(indirect(Parser<CallStmt>{})),
     construct<ActionStmt>(indirect(Parser<CloseStmt>{})),
@@ -378,7 +379,6 @@ TYPE_PARSER(first(construct<ActionStmt>(indirect(Parser<AllocateStmt>{})),
     construct<ActionStmt>(indirect(Parser<LockStmt>{})),
     construct<ActionStmt>(indirect(Parser<NullifyStmt>{})),
     construct<ActionStmt>(indirect(Parser<OpenStmt>{})),
-    construct<ActionStmt>(indirect(pointerAssignmentStmt)),
     construct<ActionStmt>(indirect(Parser<PrintStmt>{})),
     construct<ActionStmt>(indirect(Parser<ReadStmt>{})),
     construct<ActionStmt>(indirect(Parser<ReturnStmt>{})),