mesa/tests
Carl Worth 81f01432bd Don't return SPACE tokens unless strictly needed.
This reverts the unconditional return of SPACE tokens from the lexer
from commit 48b94da099 .

That commit seemed useful because it kept the lexer simpler, but the
presence of SPACE tokens is causing lots of extra complication for the
parser itself, (redundant productions other than whitespace
differences, several productions buggy in the case of extra
whitespace, etc.)

Of course, we'd prefer to never have any whitespace token, but that's
not possible with the need to distinguish between "#define foo()" and
"#define foo ()". So we'll accept a little bit of pain in the lexer,
(enough state to support this special-case token), in exchange for
keeping most of the parser blissffully ignorant of whether tokens are
separated by whitespace or not.

This change does mean that our output now differs from that of "gcc -E",
but only in whitespace. So we test with "diff -w now to ignore those
differences.
2010-05-14 17:13:00 -07:00
..
001-define.c Add a very simple test for the pre-processor. 2010-05-10 16:21:10 -07:00
002-define-chain.c Add test for chained #define directives. 2010-05-11 12:29:22 -07:00
003-define-chain-reverse.c Add a couple more tests for chained #define directives. 2010-05-11 12:35:06 -07:00
004-define-recursive.c Add a couple more tests for chained #define directives. 2010-05-11 12:35:06 -07:00
005-define-composite-chain.c Add tests defining a macro to be a literal and another macro. 2010-05-11 12:39:29 -07:00
006-define-composite-chain-reverse.c Add tests defining a macro to be a literal and another macro. 2010-05-11 12:39:29 -07:00
007-define-composite-recursive.c Add tests defining a macro to be a literal and another macro. 2010-05-11 12:39:29 -07:00
008-define-empty.c Add test for an empty definition. 2010-05-12 12:49:07 -07:00
009-undef.c Add test for #undef. 2010-05-12 13:11:23 -07:00
010-undef-re-define.c Add test case to define, undef, and then again define a macro. 2010-05-12 13:14:08 -07:00
011-define-func-empty.c Add tests for the structure of function-like macros. 2010-05-13 09:35:50 -07:00
012-define-func-no-args.c Add tests for the structure of function-like macros. 2010-05-13 09:35:50 -07:00
013-define-func-1-arg-unused.c Add tests for the structure of function-like macros. 2010-05-13 09:35:50 -07:00
014-define-func-2-arg-unused.c Add tests for the structure of function-like macros. 2010-05-13 09:35:50 -07:00
015-define-object-with-parens.c Add some whitespace variations to test 15. 2010-05-14 09:20:13 -07:00
016-define-func-1-arg.c Add tests exercising substitution of arguments in function-like macros. 2010-05-14 09:53:50 -07:00
017-define-func-2-args.c Add tests exercising substitution of arguments in function-like macros. 2010-05-14 09:53:50 -07:00
018-define-func-macro-as-parameter.c Add test where a macro formal parameter is the same as an existing macro. 2010-05-14 09:53:50 -07:00
019-define-func-1-arg-multi.c Add test for function-like macro invocations with multiple-token arguments. 2010-05-14 11:50:27 -07:00
020-define-func-2-arg-multi.c Add test for function-like macro invocations with multiple-token arguments. 2010-05-14 11:50:27 -07:00
021-define-func-compose.c Add test for composed invocation of function-like macros. 2010-05-14 11:50:33 -07:00
022-define-func-arg-with-parens.c Add test invoking a macro with an argument containing (non-macro) parentheses. 2010-05-14 16:51:54 -07:00
023-define-extra-whitespace.c Add test with extra whitespace in macro defintions and invocations. 2010-05-14 17:03:43 -07:00
glcpp-test Don't return SPACE tokens unless strictly needed. 2010-05-14 17:13:00 -07:00