[WHLSL] parseEffectfulAssignment should not call parseCallExpression directly
authorrmorisset@apple.com <rmorisset@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 14 May 2019 20:35:32 +0000 (20:35 +0000)
committerrmorisset@apple.com <rmorisset@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 14 May 2019 20:35:32 +0000 (20:35 +0000)
https://bugs.webkit.org/show_bug.cgi?id=197890

Reviewed by Myles Maxfield.

callExpression already appears in effSuffix which is in effPrefix which is in effAssignment, so having it directly in effAssignment as well is useless (and ambiguous).
I've already fixed the grammar (https://github.com/gpuweb/WHLSL/commit/a07005f4d692fe3370618dca5db218992b362049), the grammar was always good, this patch is fixing the parser.

* Modules/webgpu/WHLSL/WHLSLParser.cpp:
(WebCore::WHLSL::Parser::parseEffectfulAssignment):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245302 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/Modules/webgpu/WHLSL/WHLSLParser.cpp

index fcf0dbe..5def6e6 100644 (file)
@@ -1,3 +1,16 @@
+2019-05-14  Robin Morisset  <rmorisset@apple.com>
+
+        [WHLSL] parseEffectfulAssignment should not call parseCallExpression directly
+        https://bugs.webkit.org/show_bug.cgi?id=197890
+
+        Reviewed by Myles Maxfield.
+
+        callExpression already appears in effSuffix which is in effPrefix which is in effAssignment, so having it directly in effAssignment as well is useless (and ambiguous).
+        I've already fixed the grammar (https://github.com/gpuweb/WHLSL/commit/a07005f4d692fe3370618dca5db218992b362049), the grammar was always good, this patch is fixing the parser.
+
+        * Modules/webgpu/WHLSL/WHLSLParser.cpp:
+        (WebCore::WHLSL::Parser::parseEffectfulAssignment):
+
 2019-05-14  Ross Kirsling  <ross.kirsling@sony.com>
 
         Unreviewed restoration of non-unified build.
index 5332567..2356273 100644 (file)
@@ -1803,12 +1803,6 @@ auto Parser::parseEffectfulAssignment() -> Expected<UniqueRef<AST::Expression>,
     if (assignment)
         return assignment;
 
-    assignment = backtrackingScope<Expected<UniqueRef<AST::Expression>, Error>>([&]() {
-        return parseCallExpression();
-    });
-    if (assignment)
-        return assignment;
-
     return Unexpected<Error>(assignment.error());
 }