Alexandre Julliard wrote:
You shouldn't need that, the %left/%right declarations should define the correct precedence already. Why doesn't this work for you?
I was attempting to fix the attached case. The result of the expression evaluation can be seen in the generated _c.c file by searching for "/* Corr desc: constant, val=".
I see that the issue is that the %left and %right declarations aren't in the correct order (and some aren't grouped properly either).
So this bug can indeed be fixed without splitting up expr into multiple rules.
-- Rob Shearman
[ uuid(7a98c250-6808-11cf-b73b-00aa00b677a7), version(1.0) ] interface Tests { struct s { [size_is(2 << 2 * 3)] char *array; }; void Test([in] struct s *s); }