mesa/tests
Carl Worth 8e82fcb070 Implement (and test) support for macro expansion within conditional expressions.
To do this we have split the existing "HASH_IF expression" into two
productions:

First is HASH_IF pp_tokens which simply constructs a list of tokens.

Then, with that resulting token list, we first evaluate all DEFINED
operator tokens, then expand all macros, and finally start lexing from
the resulting token list. This brings us to the second production,
IF_EXPANDED expression

This final production works just like our previous "HASH_IF
expression", evaluating a constant integer expression.

The new test (54) added for this case now passes.
2010-05-26 11:15:21 -07:00
..
000-content-with-spaces.c Collapse multiple spaces in input down to a single space. 2010-05-25 17:08:07 -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 Remove "unnecessary" whitespace from some tests. 2010-05-20 14:05:37 -07:00
016-define-func-1-arg.c Remove "unnecessary" whitespace from some tests. 2010-05-20 14:05:37 -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 Remove "unnecessary" whitespace from some tests. 2010-05-20 14:05:37 -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 Remove "unnecessary" whitespace from some tests. 2010-05-20 14:05:37 -07:00
024-define-chain-to-self-recursion.c Add test and fix bug leading to infinite recursion. 2010-05-17 10:15:23 -07:00
025-func-macro-as-non-macro.c Fix bug (and add test) for a function-like-macro appearing as a non-macro. 2010-05-17 10:34:29 -07:00
027-define-chain-obj-to-func.c Add several tests where the defined value of a macro is (or looks like) a macro 2010-05-18 22:09:57 -07:00
028-define-chain-obj-to-non-func.c Add several tests where the defined value of a macro is (or looks like) a macro 2010-05-18 22:09:57 -07:00
029-define-chain-obj-to-func-with-args.c Add several tests where the defined value of a macro is (or looks like) a macro 2010-05-18 22:09:57 -07:00
030-define-chain-obj-to-func-compose.c Add several tests where the defined value of a macro is (or looks like) a macro 2010-05-18 22:09:57 -07:00
031-define-chain-func-to-func-compose.c Add several tests where the defined value of a macro is (or looks like) a macro 2010-05-18 22:09:57 -07:00
032-define-func-self-recurse.c Remove "unnecessary" whitespace from some tests. 2010-05-20 14:05:37 -07:00
033-define-func-self-compose.c Remove "unnecessary" whitespace from some tests. 2010-05-20 14:05:37 -07:00
034-define-func-self-compose-non-func.c Fix bug (and test) for an invocation using macro name as a non-macro argument 2010-05-19 07:42:42 -07:00
035-define-func-self-compose-non-func-multi-token-argument.c Remove "unnecessary" whitespace from some tests. 2010-05-20 14:05:37 -07:00
036-define-func-non-macro-multi-token-argument.c Like previous fix, but for object-like macros (and add a test). 2010-05-19 07:57:03 -07:00
037-finalize-unexpanded-macro.c Avoid re-expanding a macro name that has once been rejected from expansion. 2010-05-20 08:01:44 -07:00
038-func-arg-with-commas.c Add support for commas within parenthesized groups in function arguments. 2010-05-20 08:46:54 -07:00
039-func-arg-obj-macro-with-comma.c Add test (and fix) for a function argument of a macro that expands with a comma. 2010-05-20 12:06:33 -07:00
040-token-pasting.c Implement #if, #else, #elif, and #endif with tests. 2010-05-20 22:27:07 -07:00
041-if-0.c Implement #if, #else, #elif, and #endif with tests. 2010-05-20 22:27:07 -07:00
042-if-1.c Implement #if, #else, #elif, and #endif with tests. 2010-05-20 22:27:07 -07:00
043-if-0-else.c Implement #if, #else, #elif, and #endif with tests. 2010-05-20 22:27:07 -07:00
044-if-1-else.c Implement #if, #else, #elif, and #endif with tests. 2010-05-20 22:27:07 -07:00
045-if-0-elif.c Implement #if, #else, #elif, and #endif with tests. 2010-05-20 22:27:07 -07:00
046-if-1-elsif.c Implement #if, #else, #elif, and #endif with tests. 2010-05-20 22:27:07 -07:00
047-if-elif-else.c Implement #if, #else, #elif, and #endif with tests. 2010-05-20 22:27:07 -07:00
048-if-nested.c Implement #if, #else, #elif, and #endif with tests. 2010-05-20 22:27:07 -07:00
049-if-expression-precedence.c Implement #if and friends. 2010-05-26 09:33:23 -07:00
050-if-defined.c Implement #if and friends. 2010-05-26 09:33:23 -07:00
051-if-relational.c Implement all operators specified for GLSL #if expressions (with tests). 2010-05-24 10:37:38 -07:00
052-if-bitwise.c Add test of bitwise operators and octal/hexadecimal literals. 2010-05-24 11:33:07 -07:00
053-if-divide-and-shift.c Fix lexing of "defined" as an operator, not an identifier. 2010-05-26 09:37:14 -07:00
054-if-with-macros.c Implement (and test) support for macro expansion within conditional expressions. 2010-05-26 11:15:21 -07:00
055-define-func-extra-newlines.c Defer test 26 until much later (to test 55). 2010-05-26 08:00:43 -07:00
glcpp-test Implement #if and friends. 2010-05-26 09:33:23 -07:00