glsl/glcpp: Fixup glcpp tests for redefining a macro with whitespace changes.
authorCarl Worth <cworth@cworth.org>
Thu, 12 Jun 2014 01:02:54 +0000 (18:02 -0700)
committerCarl Worth <cworth@cworth.org>
Wed, 9 Jul 2014 19:05:13 +0000 (12:05 -0700)
commit1d862a0b39dfd2723aac6c64f9a7609c205b3cdc
tree3a1e750d5abdcca7f25187fbf70adf65c947449b
parenta6e9cd14cad555520ad98213adf541a7687a7498
glsl/glcpp: Fixup glcpp tests for redefining a macro with whitespace changes.

Previously, the test suite was expecting the compiler to allow a redefintion
of a macro with whitespace added, but gcc is more strict and allows only for
changes in the amounts of whitespace, (but insists that whitespace exist or
not in exactly the same places).

See: https://gcc.gnu.org/onlinedocs/cpp/Undefining-and-Redefining-Macros.html:

 These definitions are effectively the same:

      #define FOUR (2 + 2)
      #define FOUR         (2    +    2)
      #define FOUR (2 /* two */ + 2)

 but these are not:

      #define FOUR (2 + 2)
      #define FOUR ( 2+2 )
      #define FOUR (2 * 2)
      #define FOUR(score,and,seven,years,ago) (2 + 2)

This change adjusts the existing "redefine-macro-legitimate" test to work with
the more strict understanding, and adds a new "redefine-whitespace" test to
verify that changes in the position of whitespace are flagged as errors.

Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
src/glsl/glcpp/tests/088-redefine-macro-legitimate.c
src/glsl/glcpp/tests/122-redefine-whitespace.c [new file with mode: 0644]
src/glsl/glcpp/tests/122-redefine-whitespace.c.expected [new file with mode: 0644]