xref: /netbsd-src/external/bsd/tradcpp/dist/TODO (revision 31615c9617fab4df7f5e221552df7da87f14320d)
1not implemented:
2	- mode.input_allow_dollars.
3	- column counts do not take tabstops into account.
4	- mode.output_linenumbers.
5	- mode.do_depend.
6	- mode.do_macrolist.
7	- mode.do_trace.
8	- warns.endiflabels. (they cause errors)
9	- warns.unused.
10	- the -iremap option.
11	- $CPP_RESTRICTED
12	- other environment variables
13
14tidy up:
15	- get rid of inlinedefs.h
16	- use of places in and below macro.c is pretty bogus.
17	- macro code should be reworked.
18	- place_changefile is manky and wastes memory. Also, in an ideal
19	  world we'd remember the place #line changed the name and refer
20	  to it when printing errors.
21
22fix:
23	- "#if 0 && 1/0" should not crash; fix eval method.
24	- quote characters and comment delimiters that are emitted by
25	  macros are not recognized. See:
26		t34 (should produce a quote and FOO Q)
27		t35 (similarly, this test may be redundant once it's fixed)
28		t36 (C(3) should produce nothing)
29		t37 (BC foo EC should produce nothing)
30	  Joerg says comments like in t36 should be stripped exactly
31	  twice, once when the macro is defined and again when it's
32	  expanded. Note that gcc's cpp -traditional is getting t37
33	  wrong, and it gets t36 wrong with -C.
34	- remove the intentionally undocumented -p option and generate
35	  proper linenumber output. (also, in this code what happens if
36	  a comment spans files? I bet currently it will emit the line
37	  number into the comment.)
38