diff options
author | Carl Worth <[email protected]> | 2010-05-29 05:07:24 -0700 |
---|---|---|
committer | Carl Worth <[email protected]> | 2010-05-29 05:07:24 -0700 |
commit | 631016946ca8134244c4e58bef6863d204b1119b (patch) | |
tree | 5d6eb18bcb55307c2306bf1685f07c5d4818b990 | |
parent | 681afbc855c86df8c3521ccdfadb7f16b9729baa (diff) |
Fix pass-through of '=' and add a test for it.
Previously '=' was not included in our PUNCTUATION regeular expression,
but it *was* excldued from our OTHER regular expression, so we were
getting the default (and hamful) lex action of just printing it.
The test we add here is named "punctuator" with the idea that we can
extend it as needed for other punctuator testing.
-rw-r--r-- | glcpp-lex.l | 2 | ||||
-rw-r--r-- | glcpp-parse.y | 1 | ||||
-rw-r--r-- | tests/071-punctuator.c | 1 |
3 files changed, 3 insertions, 1 deletions
diff --git a/glcpp-lex.l b/glcpp-lex.l index 70d47d24975..52269c6b306 100644 --- a/glcpp-lex.l +++ b/glcpp-lex.l @@ -38,7 +38,7 @@ NEWLINE [\n] HSPACE [ \t] HASH ^{HSPACE}*#{HSPACE}* IDENTIFIER [_a-zA-Z][_a-zA-Z0-9]* -PUNCTUATION [][(){}.&*~!/%<>^|;,+-] +PUNCTUATION [][(){}.&*~!/%<>^|;,=+-] OTHER [^][(){}.&*~!/%<>^|;,=#[:space:]+-]+ DECIMAL_INTEGER [1-9][0-9]*[uU]? diff --git a/glcpp-parse.y b/glcpp-parse.y index c89d7bf159c..01ca08ec740 100644 --- a/glcpp-parse.y +++ b/glcpp-parse.y @@ -426,6 +426,7 @@ operator: | OR { $$ = OR; } | ';' { $$ = ';'; } | ',' { $$ = ','; } +| '=' { $$ = '='; } | PASTE { $$ = PASTE; } | DEFINED { $$ = DEFINED; } ; diff --git a/tests/071-punctuator.c b/tests/071-punctuator.c new file mode 100644 index 00000000000..959d6825988 --- /dev/null +++ b/tests/071-punctuator.c @@ -0,0 +1 @@ +a = b |