8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / lib / libpp / common / RELEASE
blob0e09f6089d5b63f8292ae7f19a96b1a8de4d593e
1 09-02-02 pp.probe,probe.win32: check for compiler supplied __FUNCTION__
2 09-02-02 ppop.c: include pp_default.h/probe at end of builtin script
3 09-01-20 probe.win32: elide #pragma comment.*linker.*manifest
4 09-01-06 ppcall.c: fix macro definition overwrite bug -- I know
5 09-01-05 ppcontrol.c: fix multiple include guard for #include outside guard
6 08-12-07 pp.h,ppdata.c: fix ancient pptype and ppctype[] off by one
7 08-11-15 ppsearch.c: '\\' => '/' in first step; msvc complains about '\\' in #line!!
8 08-10-31 ppsearch.c: relax pp:nomultiple pedantry
9 08-10-30 pplex.c: handle =#x S_CHRB|SPLICE bug
10 08-05-11 ppproto.c: fix proto test 10 regression
11 07-09-21 ppproto.c: add "Public Domain" to the noticed list
12 07-08-11 probe.win32: add cl.exe setuid workaround, CC.VERSION[.STRING]
13 07-06-12 pplex.c: finish -D:preserve logic update for imake
14 07-06-07 pplex.c: handle -D:preserve S_CHRB splices
15 07-06-04 ppsearch.c: only apply pp:chop ?old?new? if original not found
16 07-03-11 add -D-Y pp:pedantic, PP_WARN macro formal parenthesis checks
17 07-01-26 pp.def,probe.win32: add _WCHAR_T_DEFINED
18 06-09-23 ppop.c: check -I <dev,ino> for c and TYPE_HOSTED|TYPE_VENDOR attrs
19 06-09-23 pplex.c: add HOSTED check for "/* appears in // comment" -- doh
20 06-09-05 pp.probe: add version stamp comment
21 06-06-29 pp.probe: gcc pp:linefile probe (otherwise it can dump!)
22 06-06-28 ppproto.c: fix inappropriate __PARAM__ insertion
23 06-05-09 pp.tab,ppcontrol.c,ppproto.c: add externalize
24          ppfsm.c: handle compatibility ul numeric qualifiers
25 06-02-28 probe.win32: add wchar_t probe
26 06-01-11 pplex.c: fix rpcgen pp:passthrough header splice bug
27 05-12-16 pplex.c: fix imake pp:passthrough comment splice bug
28 05-09-16 pplib.h: add <string.h> for standalone proto
29 05-07-31 pplib.h: finally trust __STDC__ headers
30 05-04-11 pplex.c: fix '"a" #s' catliteral + stringize bug
31 05-03-29 pp.probe: check $? and stderr messages for pp:lineid
32 05-02-20 probe.win32: handle /platformsdk mount
33 05-01-11 ppargs.c: fix -I-S docs
34          ppinput.c: ppproto() only for COMPATIBILITY or PLUSPLUS
35 04-10-22 ppproto.c: handle `type var[x][y]' arg prototype
36 04-10-01 pplex.c: really fix directive hidden newline logic
37 04-08-31 pplex.c: fix directive hidden newline logic
38          ppcall.c: fix '(' peek bug that missed the MARK
39 04-08-30 add pragma pp:pragmaflags PP_PRAGMAFLAGS, pp:system_header
40 04-08-11 ppproto.c: intercept "#(define|undef) extern" for __(EX|IM)PORT__
41 04-07-23 probe.win32: generalize #include dir order search
42 04-07-22 ppsearch.c: access() => eaccess()
43 04-05-20 ppproto.c: don't __PROTO__ `int fun __P((int));'
44 04-04-15 probe.win32: sync up with uwin 2003-08-06 master -- oops
45 04-04-01 pp.probe: add stdinclude usrinclude path cleanup
46 04-02-29 ppproto.c: fix bug that skipped prototyped check during notices check
47          ppproto.c: recognize `Copyright nn'
48 04-02-14 ppproto.c: comment[0]==0 => no notice
49 04-02-11 Makefile: fix %.yacc to handle cross-compile
50 04-01-28 pp.h,pplib.h,ppop.c: add PP_RESET to restore original pp.symtab scope
51 03-12-12 ppcall.c: missing macro actual warned but expanded
52 03-11-12 ppexpr.c: fix premature #if expression token strip
53 03-06-21 ppproto.c: fix T_INVALID ? splice bug that did 0?val => 0?vaL
54 03-06-10 ppargs.c: add -D-d and -D-m
55          ppargs.c: add gnu options { -dD -dM -imacros -include -lang-* -lint }
56 03-05-19 pplex.c: fix stray SKIPMACRO bug
57 03-05-18 ppcall.c: add SYM_FUNCTION '(' peek to avoid inappropriate ungetchr()
58 03-04-30 pp:mapinclude hosted <std.h>="." will search only hosted dirs
59          pp.probe: add pp:mapinclude probe for namespace incursions
60 03-04-29 ignore()=>ppmapinclude(), add pp:mapinclude
61 03-03-25 ppop.c: PP_RESERVED now deletes old symbol before redef with lex value
62 03-03-14 pp.probe: fix the #include_next probe
63 03-02-28 ppsearch.c: fix -MM bug that missed prefix include hosted mark
64 03-02-18 pplex.c: handle COMPATIBILITY \" and \' in macro actuals
65 03-01-23 probe.win32: mingw32 tweaks
66 02-12-17 ppargs.c: document -I-!
67 02-12-06 -I- pp:noprefix otherwise pp:prefix default
68 02-11-29 probe.win32: added __INTSIZE, drop dm pp:noallmultiple
69 02-11-26 pp.def: add STDC_HOSTED
70          probe.win32: add C95 and C99 STDC predefined macros
71 02-10-30 ppfsm.h: add boundary check to IDSTATE()
72 02-10-18 probe.win32: update for mingw
73 02-10-15 ppsearch.c: if PLUSPLUS && not found && no suffix then try with .h
74 02-10-10 pplex.c: fix does not end with `newline' bugs
75 02-10-01 ppop.c,ppargs.c: -I-I => -I-M with proper docs; -I-I for PP_IGNORE
76 02-09-21 pp.probe: add pp:nocatliteral test
77 02-09-10 pp.tab: add pp:passthrough to match -D-P docs
78 02-08-30 probe.win32: fix for borland cc -E
79 02-08-22 ppexpr.c: add __SOURCE__ and #match(string,pattern)
80 02-06-25 ppproto.c: fix pragma search bug that stopped after 8 comment lines
81 02-06-11 ppsearch.c: fix ... next include search to skip *all* intermediates
82 02-05-28 probe.win32: updates for { mingw }
83          ppsearch.c: don't use inherited prefix for <...> -- duh
84 02-05-24 ppcontrol.c: simplify getline() space canonicalization
85          probe.win32: updates for { digital-mars borland lcc }
86 02-05-20 ppcontrol.c: update to use regsubcomp(),regsubexec()
87 02-05-09 ppcontrol.c: inhibit `EOF in directive': newline warning will catch it
88          pplex.c: inhibit `newline in character constant' for hosted directives
89 02-05-06 probe.win32: add more win32 compilers
90 02-04-15 probe.win32: handle long long unsigned int
91 02-04-12 ppproto.c: fix NOTICED check
92 02-03-15 ppproto.c: fix cpp pp:compatibility double line sync memory fault
93 02-03-11 pplex.c: add pp:modern to emit \a \v instead of octal forms
94 02-02-14 ppargs.c: fix -D or -U as last arg core dump
95 02-01-24 pplib.h: use vmalloc(Vmregion) if _std_malloc
96 02-01-23 probe.win32: add more msvc predefined macro candidates
97 02-01-14 ppproto.c: #pragma prototyped noticed -- has notice comment
98 02-01-10 ppproto.c: fix PROTO_FORCE|PROTO_PASS bug that disabled PROTO_FORCE
99 02-01-08 pplex.c: fix HEADEREXPAND|HEADEREXPANDALL logic
100 01-11-22 pplex.c: add pp:headerexpandall for gcc vs. msvc <...> expand diff
101          pp.probe: add pp:headerexpandall test
102 01-10-20 pplex.c: fix pp:splicespace inside "..."
103 01-09-11 ppinput.c: use pathnative() for native fs representation
104 01-08-31 pp.probe: handle -Dmacro(args)=value
105 01-08-11 ppcontrol: fix ... and __VAR_ARGS__ for C99
106          ppsearch: fix SEARCH_NEXT bug that skipped the include stack
107 01-08-06 ppproto: preserve #! first line for # comments
108 01-07-17 gentab.sh: fix ksh test to omit pdksh (typeset -u fails)
109 01-06-26 ppproto.c: fix another buffer boundary bug that didn't preserve OTHER
110 01-06-06 ppsearch.c: list PP_FILEDEPS headers once
111 01-06-01 pp.h,ppop.c,ppsearch.c: allow multiple PP_FILEDEPS (-M)
112 01-05-24 pp.probe: fix pp:hostedtransition probe: only suncc can __STDC__==1?
113 01-04-25 pp.probe: split macro probe files for compilers that have #line limits
114 01-04-19 pp.h,pplex.c,ppproto.c: fix { \a \E \v } EBCDIC translations
115 01-04-16 pp.tab: add pp:splicespace for mvs jcl decks -- the 60's live on
116 01-04-13 ppbuiltin: add __FUNCTION__ cache for functions that span the buffer
117 01-03-08 pp.tab,ppbuiltin,ppcontrol,probe: add pp:hostedtransition
118 01-02-22 pp.tab,ppfsm,pplex,pp.probe,probe.win32: add pp:zeof for ^Z => EOF
119 01-02-14 ppcall.c: fix macro(tuple*) bug that truncated macro arg expand buffer
120          pplex.c: fix # inside pp:pragmaexpand
121          gentab.sh: change ksh test for openbsd /bin/sh
122          ppproto.c: fix buffer boundary bug that lost call nesting
123          ppproto.c: add realloc prototype and memcpy=>memcopy strcpy=>strcopy
124 01-02-09 ppsearch.c: fix another pp.include null dereference
125 01-02-07 ppcall.c: fix stack inequality checks 
126          ppcall.c: handle trailing \ in macro args
127 01-02-06 fix readonly buffer write (cpp test 07:2873)
128 01-02-04 fix -M* to properly handle .cxx .cpp .C input
129          fix IN_BUFFER pop bug that did not reset the token pointer
130 01-01-01 pp:headerexpand: space ok if not IN_MACRO
131          ppcall: hide if IN_FILE|IN_MACRO|IN_EXPAND
132          pplex: don't complain about ^L or ^Z as last char in file
133          ppsearch: fix #include <.../foo.h> loop
134          ppcontrol: manulally increment IN_RESCAN error_info.line
135 00-12-25 add EXPOSE to expose hidden macros (for #import ...)
136          probe.win32: add cc path *and* args to first line to avoid hash clash
137          pp.probe: filter out invalid symbols for predefined macro scan, duh
138          pp:headerexpand: limit expansion to IN_MACRO
139 00-10-31 __STDC__==0 if HOSTED && _UWIN
140 00-10-26 pplib.h: change SEEK_SET to O_RDONLY for aix
141 00-10-17 pp.probe: __IMPORT__ => __STDPP__IMPORT__
142 00-09-18 add __FUNCTION__=#(FUNCTION), #define <a b> c
143          pp.probe: add probe_longlong
144          probe.win32: add #define <long long>
145 00-09-11 add pp:noproto (NOPROTO pp.option) to disable ppproto()
146 00-09-01 ppproto: fix buffer slide bug
147 00-08-11 pplb.h: check for <unistd.h> already included for PROTOMAIN
148          pragma: add pp:pragmaexpand to expand pragma args
149          ppcontrol: always disable pp:* pragma expansion
150          ppcall: fix pp:hide buffer clash
151 00-06-01 pplex: fix "\\U" and "\\u"
152 00-05-22 ppsearch: fix uwin #include <C:/foo/bar.h>
153 00-05-16 probe.win32: update reserved word list
154 00-05-09 ppcontrol: fix C++ macro >+> invalid fuse
155          ppcontrol: 'macro' expansion only for COMPATIBILITY | TRANSITION
156          c9x: up to date with proposed standard
157 00-04-01 pp.tab: add allpossible and ALLPOSSIBLE
158          ppmacref: fix ref inside literal catenation
159 00-02-14 pppopen(): general comments with "bme" (begin middle end) string
160 00-01-11 pp.probe: hosttype now in C.probe
161 99-11-19 is[a-z]*( => ppis[a-z]*(
162          ppproto: "..." [A-Z_]+ "..." ignores [A-Z_]+ if PROTOMAIN
163 99-11-11 ppproto: use astlicense()
164 99-10-31 ppproto: add PROTO_SHARP, update license parse
165          pplex: fix some MARK bugs seen by #define X "A B <C@D>"
166 99-10-01 add pp:stringsplit for "...\\n..." => "..."\n"..."
167          add pp:lineid to match PP_LINEID
168 99-07-17 ppbuiltin: fix getline() canon spacing for numbers
169          ppsearch: fix FILEDEPS not found \\n print
170          pplex: fix spurious FILEDEPS '.' empty character constant message
171          ppargs: fix usage error call and error_info.id default value
172          ppproto: fix up copyright notice for ksh93 style .author file
173          ppproto: check if notice text if file path
174 99-06-02 ppproto: add __MANGLE_package_DATA__ & __MANGLE_package_FUNC__
175 99-05-26 ppcontrol: all pragmas but prototyped need pp:
176 99-05-25 ppargs: long options
177 99-05-22 ppproto: changes for full ast vs. PROTO_STANDALONE
178 99-05-09 ppinput: add #pragma pp:native and (pp.option&NATIVE) for native paths
179 99-04-22 ppproto: finish type=open notice
180 99-02-11 #define __STDC__ #(STDC); demote __STDC__ to 0 for HOSTED (thanks sun)
181 99-02-04 pplex: joined strings separated by \\\n
182 99-01-11 probe.win32: add _UWIN predef
183 98-10-20 pplex: a few more (HOSTED|RELAX) checks
184          -D:preserve throws a bunch of stuff -- great for imake (yuk)
185 98-05-11 pplex: fix "..." \n off by one line count
186 98-02-14 ppcontrol: fix HEADEREXPAND missing NUL
187 98-01-23 ppproto: add _GNUC_ to _WIN32 check
188          ppfsm: don't optimize for hp.pa
189 97-11-11 ppcontrol: fix recursive use of pp.hdrbuf for HEADEREXPAND
190 97-10-31 ppmacref,pp.h: add ppmacref sum arg -- some parts assumed it!
191 97-10-01 pplex: loosen HEADEREXPAND check
192 97-08-11 pplex: fix COMPILE pplex() bug that did not reset NEWLINE for S_MACRO
193          pplex: PP_PRESERVE does not pp.pragma <token> ... # <pragma-stuff>
194          pp.def: add UWIN
195          ppcall: fix macro actual arg error checks
196 97-07-17 ppproto.c: C++ __INLINE__ prefixed with extern __MANGLE__
197          ppop.c: fix PP_RESERVED T_* lookup
198 97-05-09 pp.def: add MVS :architecture:
199          ppfsm.c: change C_* pseudo codes to not clash with ebcdic
200          pp.probe: fix stdc.$src sed script
201 97-04-01 ppcontrol.c: fix tokop() for PP_RESERVED
202 96-12-25 add ms #@ charize to complement # stringize
203          pp.probe now detects preincludes
204          ppproto: allow #ifdef'd function definions before {
205          ppproto: NoN() is not a function
206          pp.key,ppkey.h: add int64
207          ppargs.c: fix -M{DGM}*
208 96-12-06 add pp:headerexpand for ms that expands macros in expanded <...>
209 96-10-31 a few more line sync tweaks for EDG C++
210 96-10-11 fix pp:macref off by one for standalone pp (big suprise)
211 96-10-01 -D:macref -D-L -> #line (n-2)\n#pragma pp:macref ...
212 96-08-11 fix transition macro expansion
213          compatibility \" or \' does not start quote
214 96-02-29 use <hashkey.h>
215          drop ungetchr() in ppcall that modified macro values
216          tighten the DEBUG PANIC case in ppcontrol.c
217          unify #architecture() and #machine() probe
218          add POSIX,WIN32,X86 to pp.sym
219          tweak pp.probe
220 96-02-14 pp:noallmultiple works on hosted files too
221          fix #define /* EOF loop
222 96-01-31 fix ## as arg to stringize macro to have ## value, not #
223          add nonstopux and SYSTYPE_SVR4 to pp.def
224 96-01-01 AT&T Research now
225          fix catliteral line sync line number bug
226          ppproto() converts non-directive <num>u to (unsigned)<num>
227          switch to <regex.h>
228 95-10-31 fix PP_COMPILE PP_TRANSITION bug that didn't allow space before #
229          fix PP_TRANSITION \newline in definition complaint
230 95-10-11 fix ppproto() PROTO_PLUSPLUS bug
231          change ignored pp.incref PP_SYNC_POP to PP_SYNC_IGNORE
232          add PP_PEDANTIC to handle gnu oversights (can't beat em ...)
233          add memfatal() call
234          relax newline in quote semantics
235          proto inline -> __INLINE__
236          fix __INLINE__ proto def for __GCC__>=2
237 95-08-11 pp:preserve for easel (aka IFS) and imake
238          fix pp:reguard ## macro output
239          fix MARK PANIC with CATLITERAL
240          PP_INPUT *.(s|S|as|AS|asm|ASM) implies pp:nocatliteral pp:spaceout
241          ppargs() can't use isid() until after FSM_INIT
242          -D#... for assert, -D%... for directives
243          __STRICT_ANSI__ && __GNUC__ requires -pedantic for PP_STRICT
244          #include <.../x> for include_next
245 95-05-09 fix tokop() bug that concatenated adjacent strings
246          don't concatenate directive string literals in proto
247          split pp.mode into pp.mode and pp.option
248          restrict pp.probe hostinfo output to the first token
249          fix EOB/EOF pplex() nonterminating loop
250          unused var cleanup
251          add pp:reguard to emit #define and #undef (for C++ templates)
252          add a few ppproto '\r's for NT
253          fix T_BUILTIN ppsymbol -> ppsymkey pun
254          fix pp:stringspan `#define x "' hang
255 95-04-01 fix pp:hide for macros defined before the hide
256          fix pp:map getline space canonicalization
257          fix proto `<digits>[uU]'
258          proto does // comments by default (fixes bug introduced 07/17/94)
259          proto does "..." "..." string literal concatenation
260          spice up proto copyright comments for nonexclusive license
261          add hosttype assertion
262          fix proto `typedef type fun(args)'
263          proto copyright finishing touches
264          fix overzealous "empty character constant" message
265 95-02-14 pp:nopredefined probe info defines are now pp:builtin
266          clean up pp:hosted conflicts
267          tighten up unknown directive warning
268          PP_INPUT *.(s|as|AS|asm|ASM) implies pp:nocatliteral pp:spaceout
269          change newof(0,char,n,0) to newof(0,char,0,n) if 0 init not needed
270          don't emit unkown directives inside #if 0 ... #endif
271 95-01-19 *strict-* does not force STRICT
272          token##null-last-variadic-arg consumes token (to match gcc)
273          variadic actuals call be one less than arity (to match gcc)
274          fix PLUSPLUS digraph bug that lost comment state
275          tighten up PLUSPLUS //, /*, */ interaction warnings
276          macro formals in "..." for COMPATIBILITY|TRANSITION
277          macro formals in '...' for COMPATIBILITY|TRANSITION|!STRICT
278          STRINGSPAN allows '\n' in '... too
279          add PP_SYNC_* flags for pp.incref arg 3
280          add PP_SYNC_INSERT for invented file references
281          fix C++ fsm bug that popped out of comment in // /* */ ...
282          PP_INPUT *.(s|S|asm|ASM) implies pp:nocatliteral pp:spaceout
283 95-01-01 avoid string literal concatenation in pp.probe #if #predicate() tests
284          fix pplib.h memcpy,strncmp PROTOMAIN prototypes (its a nop tho)
285 94-11-11 fix readonly memory reference in refill
286          add C++ digraphs (digraph = --trigraph)
287          add C++ T_EXPLICIT -- did dos take over C++?
288          fix improper ppproto() C++ __PARAM__ expansion
289 94-11-01 allow #include string header arg concatenation (yes, its not ansi)
290          #macdef macros are recursive
291 94-10-01 fix C++ } loop in ppfsm/refill
292          T_NOISES consumes symbol and optional paren group
293          __builtin_* T_NOISES by default
294          fix "..." "...MARK..." join
295          fix STANDALONE */*comment*/
296 94-09-11 fix pp.probe cp+strip with chmod u+w
297 94-08-11 add -I<vdb-archive> to handle pax -x ppar header archives
298          fix -D-Q header checkpoints
299          add `pp:chop prefix' to chop prefix/ from include prefix/*/*
300          add pp:keyargs for key=value macro formals/actuals (not for C!)
301 94-06-01 fix ppcontrol/tokop() that botched pp:id, etc.
302          add pp:plussplice to handle cfront // \<newline> ignorance
303          inhibit trigraph conversion for pp:compatibility, duh
304          new C++ keywords enabled by pp:keyword
305          proto: int fun xxx((yyy)) is macro call, not decl
306          fix !ALLMULTIPLE pp:load to SKIP between duplicated line syncs
307          fix PP_DUMP for pp:noallmultiple, optimize pp:load format
308          fix CPP CACHEOUTX() buffer boundary bug
309 94-04-01 drop warnings for -X*
310          fix ppproto() %% in comment bug for yacc proto
311          PP_COMMENT now truncates comments to MAXTOKEN-4
312 94-03-01 no pp:truncate for #pragma pp:macref
313 94-01-01 fix STANDALONE+PP_TRUNCATE fsm macro bug
314          drop __VOID__ from ppproto.c
315 93-12-01 release
316 93-11-11 fix PP_COMPILE+PP_TRUNCATE=8 bug for continue,unsigned,etc.
317          add PP_LINEBASE for compilers that botch long line sync paths
318          fix #if unsigned promotions
319          aggressive interactive line splice flush
320          fix #else inside multiline null dereference
321          fix "..." newline space # COMPATIBILITY CATLITERAL bug
322          fix m(a)b compatibility token pasting [cpp/test/ess.01.c]
323          fix nested @X mark bug [cpp/test/net.02.c]
324 93-10-11 add FSM_COMPATIBILITY for floating point hex -- yo ansi, anybody home
325          add #else if|ifdef|ifndef for COMPATIBILITY but with warning
326          drop PP_HOSTED, add ppop(PP_CDIR|PP_HOSTED,"-",n), -D-I for pp:cdir
327 93-10-01 add pp:opspace to tokenize <binop><space>= to <binop>=
328 93-08-11 drop ancient BCD constant (`...`) detection -- wake up cfront
329          fix PP_TRUNCATE macro fsm bug that missed some expansions
330          fix stringize bug that choked if space preceded #
331          fix <function-like-macro> <identifier> bug that omitted space
332 93-07-17 minor transition mode fix for string concatenation
333          fix standalone macdef line sync buffer bug
334          pp:noline turns off linesync, pp:line restores it
335 93-06-22 add pp:prefix to control prefix include compatibility
336 93-04-01 use probe_verbose in predefined symbol probe
337 93-03-11 close fd after last file block read -- relaxes open fd limit
338          remove pp.control nesting limit
339          add `#rename old new'
340          __STDC__ not defined for plusplus (until they figure it out)
341 93-01-22 fix ansi macro args recursion bug
342 93-01-11 fix '\377'<0 for signed char compilers
343          add RELAX for __STDPP__directive directives
344 92-12-25 fix #include guard test that omitted IN_tokens for CPP=1
345 92-12-11 fix pp:truncate for STANDALONE and COMPILE
346          fix pp:allmultiple again!
347 92-11-30 add pp:final, pp:initial
348          add __STDPP__directive and #(directive) as ??= alternative
349          relax obsolete macro expand warning for _xxx||xxx
350          retain quoted \newline when PP_LINEID != ""
351          fix CATLITERAL hidden newline line sync
352 92-11-11 fix COMPATIBILITY EOF in macro arg list and # in macro body
353          fix [?\] on 4K buffer boundary bug that lost next refill()
354          fix ppproto bug that botched -ih comments
355 92-10-31 fix standalone -C bug that duplicated output buffer
356          add pp:stringspan to handle gnu "<newline>" extension
357 92-10-12 fix T_X_GROUP asm bug
358          allow `#define a "b' pp:compatibility hack
359 92-08-11 add PP_PLUSCOMMENT, pp:pluscomment probe
360          add #(default v,d) #(empty v) #(iterate m,...)
361          compatibility allows #define f(a,,b) for 2 args!
362          probe now handles gcc -E -g3 to get gnu predefines
363 92-07-17 fix pp:multiple again, fix ppproto() out of bounds
364          PP_STANDARD is always PP_CDIR and PP_HOSTED
365 92-07-11 add #import and #include_next probes
366 92-06-11 fix bug where comments dissappeared after disabled macro in standalone
367          COMPATIBILITY macro recursion bug fix may cause some to be missed
368          PP_MACREF or -D-L- ignores #line until #line with file arg
369 92-06-01 add pp:ignore
370          fix probe of stdpp to handle -I[-+][CH]
371 92-05-11 add pp:hide <id>, pp:note <id>, noticed(<id>), exists(<...>)
372          add defined(__STDPP__<pragma>) feature test
373          add PP_CDIR, pp:cdir for C++ extern "C" { ... } include wrapping
374          pp.probe now handles predefines with values other than 1
375 92-04-11 add inverse proto (K&R -> prototype) to ppproto
376 92-04-01 release
377 92-02-29 #include <...> inside <xxx.h> gets next xxx.h on -I list
378          non-libpp generated symbols containing ' ' are not truncated
379 92-02-11 conversion to new lexer brings time close to reiser (esp. w/gcc -O)
380          combine standalone (ppcpp) tokenizing (pplex) and proto lex tables
381          recode ppproto for standalone operation via PROTOMAIN
382          add PP_NOHASH for PP_COMPILE front ends that rehash T_ID anyway
383          delete PP_NOQUOTE
384          delete #option(strict) test in probe in favor of non-hosted warnings
385          add unsigned to ppexpr()
386 91-10-11 add pp:truncate <len> for non-flexname compilers
387 91-09-11 fix ppproto aggression on f(*y); -> f __PROTO__((*y));
388 91-08-11 switch seterror() to error_info.*
389          add pp:linefile to force file name in line sync
390          add pp:spaceout for probed compilers that don't allow pp override
391 91-06-11 fix ignored -I/usr/include bug
392 91-04-11 set SYM_INIT in pp.macref for -U on cmd line
393 91-01-31 replace pp:pragma and pp:directive with pp:map
394          replace #assert and #unassert with #define #... and #undef #...
395          #assert and #unassert compatibility retained via pp:map
396          replace -D#directive with -D%directive (because of #assert change)
397          add pp:splicecat for \<newline> #define token paste
398          fix \<newline> bug that added space in COMPATIBILITY quoted strings
399 90-12-11 fix #pragma pp:multiple
400 90-11-11 generalize handling of non-standard keywords for COMPILE
401          replace pp:identifier/PP_IDENTIFIER with pp:reserved/PP_RESERVED
402          pp*keys* -> ppkey
403          add PP_NOISE
404          (gag) handle msdos paths by changing \ to / and retrying on failure
405          (gag) handle msdos :> operator by pplex() '+' return
406          add #pragma prototyped and ppproto.c for prototype conversion
407          add unsigned long arg to PP_MACREF for hashed macro arity+value
408 90-10-11 0f is not a float constant
409          change -I-M to -I-I, file just lists include files to be ignored
410          fix ppprobe for __STDC__==0 hybrids
411          add pp.flags and PP_[a-z0-9]+ for exported state info
412 90-10-01 fix standalone ppmacref for directives
413          add `try' to C++ keywords
414          fine tune a few COMPILE error messages
415          privatize pp.h
416 90-08-11 use opt_again in cmdargs() option parsers
417          (gag) add pp:macref macro reference pragma to handle CC preprocessors
418          (gag) add pp:spaceout to handle ansi + asm hacks
419 90-07-17 remove spaces from macdef line sync (blew sun cc)
420 90-06-11 add internal ppsymkey to avoid ppsymbol.value pun for SYM_KEYWORD
421 90-05-01 fix catliteral bug of `"..." << ' -> `"..." <='
422 90-04-01 fix `ifndef-define-endif' include wrapper test
423 90-03-27 add setpreroot() to ppop() [ sleazy but well hidden ]
424 90-03-22 pp.macref called for all undef's
425 90-03-20 add <prefix>cpp checks to ppprobe
426          add pp:hostdir before pp:include in ppprobe
427          fix PP_HOSTDIR op with no dir arg
428 90-03-15 System V CCS compatibility update
429          add PP_ASSERT
430          add -A for PP_ASSERT and -YI,dir for PP_STANDARD
431          add ppincref.c and -H to use it
432          -Xa defines __STDC__ to 0 (gak)
433 90-03-09 duplicate macro formals cause level 2 error
434 90-03-01 add #(ARGC) for (variadic) macro arg count
435 90-02-11 fix line sync number bug in pppush()
436 89-12-01 ignore leading = in pragma map for old pragma compatibility
437          check for NEWLINE on first macdef line sync
438 89-11-11 add -1 arg to pp.incref -- include skipped
439          STRICT 0x7e-macro is T_INVALID per standard
440 89-10-31 put all C keys in ppckeys.c, C++ keys in pppkeys.c
441          add pp:identifier pragma to selectively undo PP_COMPILE keywords
442          add tokop() to ppcontrol to support multi-valued pragmas
443          add #ifndef...#endif include optimization for STRICT
444 89-10-27 use REF_NORMAL, REF_IF, REF_UNDEF for pp.macref arg2
445 89-10-17 fix c(x)y compatibility pasting bug
446          #line 1 "f" now marks "f" included
447 89-10-11 enable -I. during initialization
448 89-10-01 inhibit pp:linetype syncs for top level #line directives
449          ----- see HISTORY -----