1#define EMP1(a)
2#define EMP2(a, b)
3
4#define EXP1(a) = a
5#define EXP2(a, b) = a, b
6
7struct A
8{
9    float4 a EMP1({1,2,3,4});                           // No PP arg errors
10    float4 b EMP2({({{(({1,2,3,4}))}})}, {{1,2,3,4}});  // No PP arg errors
11    float4 c EXP1({1,2,3,4});                           // ERROR: No PP arg errors, but init error
12    float4 d EXP2({({{(({1,2,3,4}))}})}, {{1,2,3,4}});  // ERROR: No PP arg errors, but init error
13};
14
15void main()
16{
17    "a string"
18}
19