diff options
author | Carl Worth <cworth@cworth.org> | 2014-06-26 10:56:41 -0700 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2014-07-29 15:11:50 -0700 |
commit | 12d583b21a7e538d7fa44c3129e95b407d03c01a (patch) | |
tree | 4a422c7cf743ee45b50f6c4d165ecbd086133b2b /src/glsl/glcpp | |
parent | 346d712e87f09b434706ee21de02860f104c1c3c (diff) | |
download | external_mesa3d-12d583b21a7e538d7fa44c3129e95b407d03c01a.zip external_mesa3d-12d583b21a7e538d7fa44c3129e95b407d03c01a.tar.gz external_mesa3d-12d583b21a7e538d7fa44c3129e95b407d03c01a.tar.bz2 |
glsl/glcpp: Add test for a multi-line comment within an #if 0 block
This test is written to exercise a bug which I recently wrote, (but
fortunately caught and fixed before ever committing it).
For the curious:
The bug happened when the NEWLINE_CATCHUP code didn't actually return the
NEWLINE token (due to the skipping). This resulted in the lexer continuing
on through all the subsequent rules while still in the NEWLINE_CATCHUP start
condition, (which then triggered the internal-compiler-error catch-all
rule).
What is intended is for the return of the NEWLINE token to start a new
iteration of the lexer loop, at which time the NEWLINE_CATCHUP-handling code
will reset from the <NEWLINE_CATCHUP> to the <INITIAL> start condition.
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Diffstat (limited to 'src/glsl/glcpp')
-rw-r--r-- | src/glsl/glcpp/tests/138-multi-line-comment-in-if-0.c | 7 | ||||
-rw-r--r-- | src/glsl/glcpp/tests/138-multi-line-comment-in-if-0.c.expected | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/glsl/glcpp/tests/138-multi-line-comment-in-if-0.c b/src/glsl/glcpp/tests/138-multi-line-comment-in-if-0.c new file mode 100644 index 0000000..38967dc --- /dev/null +++ b/src/glsl/glcpp/tests/138-multi-line-comment-in-if-0.c @@ -0,0 +1,7 @@ +#if 0 +/* + * This multi-line comment needs to be 3 lines to test what's intended. + */ +#else +SUCCESS +#endif diff --git a/src/glsl/glcpp/tests/138-multi-line-comment-in-if-0.c.expected b/src/glsl/glcpp/tests/138-multi-line-comment-in-if-0.c.expected new file mode 100644 index 0000000..0d6ef4d --- /dev/null +++ b/src/glsl/glcpp/tests/138-multi-line-comment-in-if-0.c.expected @@ -0,0 +1,7 @@ + + + + + +SUCCESS + |