glsl/glcpp: Add a catch-all rule for unexpected characters.
authorCarl Worth <cworth@cworth.org>
Thu, 19 Jun 2014 00:03:19 +0000 (17:03 -0700)
committerCarl Worth <cworth@cworth.org>
Tue, 29 Jul 2014 22:11:51 +0000 (15:11 -0700)
commitf9c99aefea85fe23bbe4b7802542eaf8f70d6798
treee559372dc13460b4085fded46142ce02e62175a4
parent4757c74c840460f387a466894baf1c45624467c7
glsl/glcpp: Add a catch-all rule for unexpected characters.

In some of the recent glcpp bug-fixing, we found that glcpp was emitting
unrecognized characters from the input source file to stdout, and dropping
them from the source passed onto the compiler proper.

This was obviously confusing, and totally undesired.

The bogus behavior comes from an implicit default rule in flex, which is
that any unmatched character is implicitly matched and printed to stdout.

To avoid this implicit matching and printing, here we add an explicit
catch-all rule. If this rule ever matches it prints an internal compiler
error. The correct response for any such error is fixing glcpp to handle
the unexpected character in the correct way.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
src/glsl/glcpp/glcpp-lex.l