43 lines
880 B
Systemverilog
43 lines
880 B
Systemverilog
|
|
// Unusual case where a preprocessor comment (same symbol as a single-line
|
|
// comment, "//") is embedded in an emitted C-style comment.
|
|
// This should not preprocess, but not parse, i.e. in the emitted text, there
|
|
// will be an opening // C-style comment symbol "/*" but no closing symbol "*/".
|
|
`define A \
|
|
A1 \
|
|
A2 /* emitted */ \
|
|
A3 /* // not emitted, unclosed C comment */ \
|
|
A4
|
|
|
|
// Same as A, but without space before "//".
|
|
// This may catch bad parsers where the first "/" in "//" is treated as part of
|
|
// the closing "*/".
|
|
`define B \
|
|
B1 \
|
|
B2 /* emitted */ \
|
|
B3 /*// not emitted, unclosed C comment */ \
|
|
B4
|
|
|
|
// Another variation on B.
|
|
`define C \
|
|
C1 \
|
|
C2 /* emitted */ \
|
|
C3 //* not emitted, C comment is closed */ \
|
|
C4
|
|
|
|
// Another variation on B.
|
|
`define D \
|
|
D1 \
|
|
D2 /* emitted */ \
|
|
D3 /* emitted, unclosed C comment *// \
|
|
D4
|
|
|
|
`A
|
|
|
|
`B
|
|
|
|
`C
|
|
|
|
`D
|
|
|