HLSL: Flatten whole-struct assigns and returns when targeting flattened I/O structs.
diff --git a/hlsl/hlslGrammar.cpp b/hlsl/hlslGrammar.cpp
index bad6034..d0ff3cd 100755
--- a/hlsl/hlslGrammar.cpp
+++ b/hlsl/hlslGrammar.cpp
@@ -1672,7 +1672,7 @@
         return false;
     }
 
-    node = intermediate.addAssign(assignOp, node, rightNode, loc);
+    node = parseContext.handleAssign(loc, assignOp, node, rightNode);
     if (node == nullptr) {
         parseContext.error(loc, "could not create assignment", "", "");
         return false;