Mercurial > ~dholland > hg > tradcpp > index.cgi
view TODO @ 162:82cc6fa54b01
newline during a macro invocation counts as space. Behavior differs from
GCC in that empty lines in the argument list are still suppressed.
author | Joerg Sonnenberger <joerg@bec.de> |
---|---|
date | Fri, 27 Feb 2015 02:53:12 +0100 |
parents | 15f51ed08ecf |
children | e8f7ae63844f |
line wrap: on
line source
not implemented: - mode.input_allow_dollars. - column counts do not take tabstops into account. - mode.output_linenumbers. - mode.do_depend. - mode.do_macrolist. - mode.do_trace. - warns.endiflabels. (they cause errors) - warns.unused. - the -iremap option. - #line directives. - $CPP_RESTRICTED - other environment variables tidy up: - get rid of inlinedefs.h - use of places in and below macro.c is pretty bogus. - macro code should be reworked. fix: - "#if 0 && 1/0" should not crash; fix eval method. - an unterminated comment is reported as "no newline at end of file" (which isn't fatal by default) - quote characters and comment delimiters that are emitted by macros are not recognized. See: t34 (should produce a quote and FOO Q) t35 (similarly, this test may be redundant once it's fixed) t36 (C(3) should produce nothing) t37 (BC foo EC should produce nothing) Joerg says comments like in t36 should be stripped exactly twice, once when the macro is defined and again when it's expanded. Note that gcc's cpp -traditional is getting t37 wrong, and it gets t36 wrong with -C.