preprocessor: do not destroy double slash escaped identifiers
authorThomas Sailer <sailer@tsailer.ch>
Wed, 25 Aug 2021 19:34:26 +0000 (21:34 +0200)
committerZachary Snow <zachary.j.snow@gmail.com>
Thu, 16 Dec 2021 01:06:02 +0000 (18:06 -0700)
commit4cd2f03e36d09f936d39f8499e26fb0a2bc897f9
tree9a18d32ec0ab99f5e197fd3fc00b152b7867b66c
parent477eeefd9b6c1c98ee5d41cdf407011cf40794a7
preprocessor: do not destroy double slash escaped identifiers

The preprocessor currently destroys double slash containing escaped
identifiers (for example \a//b ). This is due to next_token trying to
convert single line comments (//) into /* */ comments. This then leads
to an unintuitive error message like this:
ERROR: syntax error, unexpected '*'

This patch fixes the error by recognizing escaped identifiers and
returning them as single token. It also adds a testcase.
frontends/verilog/preproc.cc
tests/verilog/doubleslash.ys [new file with mode: 0644]