PP/HLSL: Fix #1424: support comma in nested curly braces for macro arg
diff --git a/Test/hlsl.pp.expand.frag b/Test/hlsl.pp.expand.frag
new file mode 100755
index 0000000..765d17e
--- /dev/null
+++ b/Test/hlsl.pp.expand.frag
@@ -0,0 +1,17 @@
+#define EMP1(a)

+#define EMP2(a, b)

+

+#define EXP1(a) = a

+#define EXP2(a, b) = a, b

+

+struct A

+{

+    float4 a EMP1({1,2,3,4});                           // No PP arg errors

+    float4 b EMP2({({{(({1,2,3,4}))}})}, {{1,2,3,4}});  // No PP arg errors

+    float4 c EXP1({1,2,3,4});                           // ERROR: No PP arg errors, but init error

+    float4 d EXP2({({{(({1,2,3,4}))}})}, {{1,2,3,4}});  // ERROR: No PP arg errors, but init error

+};

+

+void main()

+{

+}