1release 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 15release 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 21release 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 35release 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 51release 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 61release 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 68release 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 76release 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 90release 0.1 (20130610) 91 - first release, works with at least some imake templates 92