annotate CHANGES @ 203:3a25180d3a5c

Abort on line numbering or column numbering overflow. Line numbers are limited to values that fit in "unsigned int". Also reject input lines longer than 2^32-1 characters. It seems reasonable to presume that any input that violates these constraints is someone screwing around and not a serious attempt to compile or preprocess anything useful. Done in response to n2129, but without getting into any of the silliness found there.
author David A. Holland
date Tue, 01 Aug 2017 14:51:04 -0400
parents e200cb46ab23
children bdc672634010
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
202
e200cb46ab23 Recognize __ia64__ for IA64 builds.
David A. Holland
parents: 200
diff changeset
1 release [pending]
203
3a25180d3a5c Abort on line numbering or column numbering overflow.
David A. Holland
parents: 202
diff changeset
2 - Abort on line numbering or column numbering overflow. Line
3a25180d3a5c Abort on line numbering or column numbering overflow.
David A. Holland
parents: 202
diff changeset
3 numbers are limited to values that fit in "unsigned int". Also
3a25180d3a5c Abort on line numbering or column numbering overflow.
David A. Holland
parents: 202
diff changeset
4 reject input lines longer than 2^32-1 characters. It seems
3a25180d3a5c Abort on line numbering or column numbering overflow.
David A. Holland
parents: 202
diff changeset
5 reasonable to presume that any input that violates these
3a25180d3a5c Abort on line numbering or column numbering overflow.
David A. Holland
parents: 202
diff changeset
6 constraints is someone screwing around and not a serious attempt
3a25180d3a5c Abort on line numbering or column numbering overflow.
David A. Holland
parents: 202
diff changeset
7 to compile or preprocess anything useful. Done in response to
3a25180d3a5c Abort on line numbering or column numbering overflow.
David A. Holland
parents: 202
diff changeset
8 n2129, but without getting into any of the silliness found there.
202
e200cb46ab23 Recognize __ia64__ for IA64 builds.
David A. Holland
parents: 200
diff changeset
9 - Recognize __ia64__ for IA64 builds.
e200cb46ab23 Recognize __ia64__ for IA64 builds.
David A. Holland
parents: 200
diff changeset
10
200
18b872f36217 Release 0.5.2
David A. Holland
parents: 199
diff changeset
11 release 0.5.2 (20160904)
198
4158b974e23f CHANGES for previous
David A. Holland
parents: 195
diff changeset
12 - Fix typo in -U usage message, noticed by Joerg.
199
1d2bad7151f9 Add a -debuglog option to send an execution trace to a file.
David A. Holland
parents: 198
diff changeset
13 - Add a -debuglog option to send an execution trace to a file.
1d2bad7151f9 Add a -debuglog option to send an execution trace to a file.
David A. Holland
parents: 198
diff changeset
14 Intended to be used when debugging imake templates and other
1d2bad7151f9 Add a -debuglog option to send an execution trace to a file.
David A. Holland
parents: 198
diff changeset
15 complex input, not for debugging tradcpp itself.
198
4158b974e23f CHANGES for previous
David A. Holland
parents: 195
diff changeset
16
195
ab06d46bf5cc Release 0.5.1
David A. Holland
parents: 193
diff changeset
17 release 0.5.1 (20150612)
193
079304130850 the option lists need to stay sorted.
David A. Holland
parents: 192
diff changeset
18 - Fix a stupid regression in 0.5 that causes it to not recognize a
079304130850 the option lists need to stay sorted.
David A. Holland
parents: 192
diff changeset
19 pile of options.
192
255db24bc29b Fix output corruption; see CHANGES entry.
David A. Holland
parents: 191
diff changeset
20 - Fix output corruption caused by mishandling which macros are
255db24bc29b Fix output corruption; see CHANGES entry.
David A. Holland
parents: 191
diff changeset
21 currently in use. In particular, "curmacro" is only valid while
255db24bc29b Fix output corruption; see CHANGES entry.
David A. Holland
parents: 191
diff changeset
22 we're parsing a macro name and arguments, and can change once we
193
079304130850 the option lists need to stay sorted.
David A. Holland
parents: 192
diff changeset
23 start expanding, so don't use it to clear the in-use flag. This
079304130850 the option lists need to stay sorted.
David A. Holland
parents: 192
diff changeset
24 problem has been around all along but was only just exposed.
192
255db24bc29b Fix output corruption; see CHANGES entry.
David A. Holland
parents: 191
diff changeset
25 - Also don't set curmacro to null after calling expand_domacro as
255db24bc29b Fix output corruption; see CHANGES entry.
David A. Holland
parents: 191
diff changeset
26 that can cause us to think a macro name we just read is defined().
193
079304130850 the option lists need to stay sorted.
David A. Holland
parents: 192
diff changeset
27 This one was introduced in 0.5.
191
c8d4ab9aeff0 don't use "remove" as a local variable; fails on gcc4.1
David A. Holland
parents: 188
diff changeset
28 - Don't use "remove" as a local variable as gcc 4.1 gets upset
c8d4ab9aeff0 don't use "remove" as a local variable; fails on gcc4.1
David A. Holland
parents: 188
diff changeset
29 about it vs. remove(3) in stdio.h.
c8d4ab9aeff0 don't use "remove" as a local variable; fails on gcc4.1
David A. Holland
parents: 188
diff changeset
30
188
557824449ec7 Release 0.5.
David A. Holland
parents: 186
diff changeset
31 release 0.5 (20150612)
186
9637bf434f8e Don't report unclosed comments as "no newline at end of file".
David A. Holland
parents: 184
diff changeset
32 - Don't report unclosed comments as "No newline at end of file".
183
4c3375895c6e Don't use <stdbool.h> unless __STDC__ is large enough.
David A. Holland
parents: 182
diff changeset
33 - Don't rely on <stdbool.h> existing, as (predictably) it doesn't
4c3375895c6e Don't use <stdbool.h> unless __STDC__ is large enough.
David A. Holland
parents: 182
diff changeset
34 work on Solaris.
184
d359d9b86327 Don't rely on anonymous unions.
David A. Holland
parents: 183
diff changeset
35 - Similarly, don't rely on C11 anonymous unions as the Solaris
d359d9b86327 Don't rely on anonymous unions.
David A. Holland
parents: 183
diff changeset
36 compiler vomits on them.
182
f7814226906c very minor changes from openbsd
David A. Holland
parents: 181
diff changeset
37 - Typo fix in man page from Jason McIntyre; and change "Usage" to
f7814226906c very minor changes from openbsd
David A. Holland
parents: 181
diff changeset
38 "usage" in usage for pedantic reasons, from Igor Sobrado.
181
44ea61019069 Accept "-" as the input file, or as the output file.
David A. Holland
parents: 176
diff changeset
39 - Accept "-" as either input or output file name to mean stdin or
44ea61019069 Accept "-" as the input file, or as the output file.
David A. Holland
parents: 176
diff changeset
40 stdout respectively. Suggested by Jonathan Gray.
176
a2f047301c15 Replace Joerg's place_setfile with something that at least sort of works.
David A. Holland
parents: 151
diff changeset
41 - Fix output spacing behavior to match gcc when newlines appear in or
a2f047301c15 Replace Joerg's place_setfile with something that at least sort of works.
David A. Holland
parents: 151
diff changeset
42 while looking for macro arguments. Partly from Joerg Sonnenberger.
a2f047301c15 Replace Joerg's place_setfile with something that at least sort of works.
David A. Holland
parents: 151
diff changeset
43 - Implement __FILE__ and __LINE__ macros. Mostly from Joerg Sonnenberger.
a2f047301c15 Replace Joerg's place_setfile with something that at least sort of works.
David A. Holland
parents: 151
diff changeset
44 - Implement #line. Partly from Joerg Sonnenberger.
151
ccfcf1da156b changes for previous
David A. Holland
parents: 147
diff changeset
45 - Declare usage() with PF(). From wiz.
ccfcf1da156b changes for previous
David A. Holland
parents: 147
diff changeset
46
147
281317d30478 release-0.4
David A. Holland
parents: 145
diff changeset
47 release 0.4 (20130713)
141
63414cddf09c Accept and ignore -m32.
David A. Holland
parents: 138
diff changeset
48 - Fix stupid build problem introduced in 0.3.1.
145
a403605d3166 Fix handling of macros in quoted strings.
David A. Holland
parents: 143
diff changeset
49 - Accept and ignore -m32, which imake issues willy-nilly on a bunch
a403605d3166 Fix handling of macros in quoted strings.
David A. Holland
parents: 143
diff changeset
50 of platforms. I thought this had already been done, but apparently
a403605d3166 Fix handling of macros in quoted strings.
David A. Holland
parents: 143
diff changeset
51 not.
143
ed45f2d8d3bc Don't use the <err.h> functions.
David A. Holland
parents: 141
diff changeset
52 - Don't use the <err.h> functions. There are still people out there
145
a403605d3166 Fix handling of macros in quoted strings.
David A. Holland
parents: 143
diff changeset
53 using legacy systems missing them.
a403605d3166 Fix handling of macros in quoted strings.
David A. Holland
parents: 143
diff changeset
54 - Sort out some more issues pertaining to handling quoted strings.
a403605d3166 Fix handling of macros in quoted strings.
David A. Holland
parents: 143
diff changeset
55 - Add some more tests.
141
63414cddf09c Accept and ignore -m32.
David A. Holland
parents: 138
diff changeset
56
138
85b66cc0344e release-0.3.1
David A. Holland
parents: 137
diff changeset
57 release 0.3.1 (20130709)
135
eaae8014a94a Don't assert and leak memory if failing during argument collection.
David A. Holland
parents: 133
diff changeset
58 - Don't leak memory and assert if a bad command-line option comes
eaae8014a94a Don't assert and leak memory if failing during argument collection.
David A. Holland
parents: 133
diff changeset
59 after a -D or a -include foo.
137
0816803b22d1 Improve usage reporting.
David A. Holland
parents: 135
diff changeset
60 - Since imake is a principal application for tradcpp and imake carefully
0816803b22d1 Improve usage reporting.
David A. Holland
parents: 135
diff changeset
61 hides what it's doing when you run it, when rejecting an invalid option
0816803b22d1 Improve usage reporting.
David A. Holland
parents: 135
diff changeset
62 be sure to report *what* that option is.
135
eaae8014a94a Don't assert and leak memory if failing during argument collection.
David A. Holland
parents: 133
diff changeset
63
133
31fc4251ec3b release 0.3
David A. Holland
parents: 129
diff changeset
64 release 0.3 (20130616)
128
1cda505ddc78 Don't expand macros within character constants.
David A. Holland
parents: 127
diff changeset
65 - Don't eval the control expression of the first #if of a block when
127
a0a86380456e fix for #if handling:
David A. Holland
parents: 124
diff changeset
66 already in a false block; it might not be valid. Reported by
a0a86380456e fix for #if handling:
David A. Holland
parents: 124
diff changeset
67 Baptiste Daroussin.
128
1cda505ddc78 Don't expand macros within character constants.
David A. Holland
parents: 127
diff changeset
68 - Don't recognize comments within character constants.
129
2e1496dd96c4 Don't recognize macro argument parens or commas within quotes.
David A. Holland
parents: 128
diff changeset
69 - Don't recognize macro argument parentheses or commas within strings,
2e1496dd96c4 Don't recognize macro argument parens or commas within quotes.
David A. Holland
parents: 128
diff changeset
70 or within character constants either.
127
a0a86380456e fix for #if handling:
David A. Holland
parents: 124
diff changeset
71
124
3ad1cd80f5a0 release 0.2
David A. Holland
parents: 115
diff changeset
72 release 0.2 (20130611)
102
9b859d40640a More PowerPC and mips macros.
David A. Holland
parents:
diff changeset
73 - auto-recognize more builtin PowerPC and mips macros
103
343af355df1b Pass -Wunused.
David A. Holland
parents: 102
diff changeset
74 - pass -Wunused (partly from Baptiste Daroussin)
104
91f600e6647b Allow absolute paths in include files.
David A. Holland
parents: 103
diff changeset
75 - allow absolute paths in include files (partly from Baptiste Daroussin)
105
600f36cd7353 don't use getprogname() in the name of portability
David A. Holland
parents: 104
diff changeset
76 - don't use getprogname() in the name of portability
106
ecec7c16e3ba add a couple more tests, taken from the 2010 tech-toolchain thread
David A. Holland
parents: 105
diff changeset
77 - add tests arising from December 2010 tech-toolchain thread (one
ecec7c16e3ba add a couple more tests, taken from the 2010 tech-toolchain thread
David A. Holland
parents: 105
diff changeset
78 from der Mouse, one of mine)
107
33954a07d013 __unused -> UNUSED
David A. Holland
parents: 106
diff changeset
79 - clean out usage of sys/cdefs.h macros and don't use the implementation
33954a07d013 __unused -> UNUSED
David A. Holland
parents: 106
diff changeset
80 namespace
109
4483a14ee101 Make -Wcomment work again
David A. Holland
parents: 107
diff changeset
81 - make -Wcomment work again
112
2b0b61fd1a36 Fix handling of relative includes.
David A. Holland
parents: 110
diff changeset
82 - fix handling of relative includes
110
b2f2f30194b8 Add a man page.
David A. Holland
parents: 109
diff changeset
83 - provide a man page
115
b2f16b2179e9 changes entry for previous two commits
David A. Holland
parents: 112
diff changeset
84 - other minor improvements
102
9b859d40640a More PowerPC and mips macros.
David A. Holland
parents:
diff changeset
85
9b859d40640a More PowerPC and mips macros.
David A. Holland
parents:
diff changeset
86 release 0.1 (20130610)
9b859d40640a More PowerPC and mips macros.
David A. Holland
parents:
diff changeset
87 - first release, works with at least some imake templates