fd36683fe6
Previously, when the parser found a bad statement inside a Block, it would stop processing that Block entirely. This caused our brace matching to fall out of balance. block() would normally only return once the Block's closing brace was consumed, but in this case, the closing brace would still be in the parse stream awaiting consumption even though block() had returned. Now, when a bad statement is found inside a Block, we just ignore it and continue processing. (I tried injecting a poisoned statement as well, to see if it would affect the test results, but they were identical.) This seems to generate somewhat better errors. Change-Id: I8dc781d5602bf99d7610f8280cde8b7c1925cb65 Bug: skia:12868 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/506463 Auto-Submit: John Stiles <johnstiles@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
9 lines
114 B
Plaintext
9 lines
114 B
Plaintext
half4 main(float2 xy) {
|
|
int;
|
|
return half4(0);
|
|
}
|
|
|
|
/*%%*
|
|
expected '(' to begin constructor invocation
|
|
*%%*/
|