The Nvidia/AMD binary drivers allow this, as does GCC.
This fixes shader compilation issues in the latest update of
No Mans Sky.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
while (1)
{
+ if (node_a == NULL && node_b == NULL)
+ break;
+
+ /* Ignore trailing whitespace */
+ if (node_a == NULL && node_b->token->type == SPACE) {
+ while (node_b && node_b->token->type == SPACE)
+ node_b = node_b->next;
+ }
+
+ if (node_b == NULL && node_a->token->type == SPACE) {
+ while (node_a && node_a->token->type == SPACE)
+ node_a = node_a->next;
+ }
+
if (node_a == NULL && node_b == NULL)
break;
#define TWO ( 1+1 )
#define FOUR (2 + 2)
#define SIX (3 + 3)
+#define EIGHT (8 + 8)
/* Redefinitions with whitespace in same places, but different amounts, (so no
* error). */
#define FOUR (2 + 2)
#define SIX (3/*comment is whitespace*/+ /* collapsed */ /* to */ /* one */ /* space */ 3)
+/* Trailing whitespace (no error) */
+#define EIGHT (8 + 8)
+
/* Redefinitions with whitespace in different places. Each of these should
* trigger an error. */
#define TWO (1 + 1)
-0:14(9): preprocessor error: Redefinition of macro TWO
+0:18(9): preprocessor error: Redefinition of macro TWO
-0:15(9): preprocessor error: Redefinition of macro FOUR
+0:19(9): preprocessor error: Redefinition of macro FOUR
-0:16(9): preprocessor error: Redefinition of macro SIX
+0:20(9): preprocessor error: Redefinition of macro SIX
+
+
+
+