CHANGES revision 1.1 1 release 0.5.3 (20190121)
2 - Fix markup typo in the man page.
3 - Abort on line numbering or column numbering overflow. Line
4 numbers are limited to values that fit in "unsigned int". Also
5 reject input lines longer than 2^32-1 characters. It seems
6 reasonable to presume that any input that violates these
7 constraints is someone screwing around and not a serious attempt
8 to compile or preprocess anything useful. Done in response to
9 n2129, but without getting into any of the silliness found there.
10 - Recognize __ia64__ for IA64 builds.
11 - Recognize __aarch64__ for 64-bit ARM builds, as sent in by
12 various people.
13 - Recognize __riscv__ and __riscv64__ for risc-v builds.
14
15 release 0.5.2 (20160904)
16 - Fix typo in -U usage message, noticed by Joerg.
17 - Add a -debuglog option to send an execution trace to a file.
18 Intended to be used when debugging imake templates and other
19 complex input, not for debugging tradcpp itself.
20
21 release 0.5.1 (20150612)
22 - Fix a stupid regression in 0.5 that causes it to not recognize a
23 pile of options.
24 - Fix output corruption caused by mishandling which macros are
25 currently in use. In particular, "curmacro" is only valid while
26 we're parsing a macro name and arguments, and can change once we
27 start expanding, so don't use it to clear the in-use flag. This
28 problem has been around all along but was only just exposed.
29 - Also don't set curmacro to null after calling expand_domacro as
30 that can cause us to think a macro name we just read is defined().
31 This one was introduced in 0.5.
32 - Don't use "remove" as a local variable as gcc 4.1 gets upset
33 about it vs. remove(3) in stdio.h.
34
35 release 0.5 (20150612)
36 - Don't report unclosed comments as "No newline at end of file".
37 - Don't rely on <stdbool.h> existing, as (predictably) it doesn't
38 work on Solaris.
39 - Similarly, don't rely on C11 anonymous unions as the Solaris
40 compiler vomits on them.
41 - Typo fix in man page from Jason McIntyre; and change "Usage" to
42 "usage" in usage for pedantic reasons, from Igor Sobrado.
43 - Accept "-" as either input or output file name to mean stdin or
44 stdout respectively. Suggested by Jonathan Gray.
45 - Fix output spacing behavior to match gcc when newlines appear in or
46 while looking for macro arguments. Partly from Joerg Sonnenberger.
47 - Implement __FILE__ and __LINE__ macros. Mostly from Joerg Sonnenberger.
48 - Implement #line. Partly from Joerg Sonnenberger.
49 - Declare usage() with PF(). From wiz.
50
51 release 0.4 (20130713)
52 - Fix stupid build problem introduced in 0.3.1.
53 - Accept and ignore -m32, which imake issues willy-nilly on a bunch
54 of platforms. I thought this had already been done, but apparently
55 not.
56 - Don't use the <err.h> functions. There are still people out there
57 using legacy systems missing them.
58 - Sort out some more issues pertaining to handling quoted strings.
59 - Add some more tests.
60
61 release 0.3.1 (20130709)
62 - Don't leak memory and assert if a bad command-line option comes
63 after a -D or a -include foo.
64 - Since imake is a principal application for tradcpp and imake carefully
65 hides what it's doing when you run it, when rejecting an invalid option
66 be sure to report *what* that option is.
67
68 release 0.3 (20130616)
69 - Don't eval the control expression of the first #if of a block when
70 already in a false block; it might not be valid. Reported by
71 Baptiste Daroussin.
72 - Don't recognize comments within character constants.
73 - Don't recognize macro argument parentheses or commas within strings,
74 or within character constants either.
75
76 release 0.2 (20130611)
77 - auto-recognize more builtin PowerPC and mips macros
78 - pass -Wunused (partly from Baptiste Daroussin)
79 - allow absolute paths in include files (partly from Baptiste Daroussin)
80 - don't use getprogname() in the name of portability
81 - add tests arising from December 2010 tech-toolchain thread (one
82 from der Mouse, one of mine)
83 - clean out usage of sys/cdefs.h macros and don't use the implementation
84 namespace
85 - make -Wcomment work again
86 - fix handling of relative includes
87 - provide a man page
88 - other minor improvements
89
90 release 0.1 (20130610)
91 - first release, works with at least some imake templates
92