glsl/glcpp: Add test for a multi-line comment within an #if 0 block
authorCarl Worth <cworth@cworth.org>
Thu, 26 Jun 2014 17:56:41 +0000 (10:56 -0700)
committerCarl Worth <cworth@cworth.org>
Tue, 29 Jul 2014 22:11:50 +0000 (15:11 -0700)
commit12d583b21a7e538d7fa44c3129e95b407d03c01a
tree4a422c7cf743ee45b50f6c4d165ecbd086133b2b
parent346d712e87f09b434706ee21de02860f104c1c3c
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>
src/glsl/glcpp/tests/138-multi-line-comment-in-if-0.c [new file with mode: 0644]
src/glsl/glcpp/tests/138-multi-line-comment-in-if-0.c.expected [new file with mode: 0644]