xref: /titanic_41/usr/src/lib/libpp/common/RELEASE (revision 989f28072d20c73ae0955d6a1e3e2fc74831cb39)
109-02-02 pp.probe,probe.win32: check for compiler supplied __FUNCTION__
209-02-02 ppop.c: include pp_default.h/probe at end of builtin script
309-01-20 probe.win32: elide #pragma comment.*linker.*manifest
409-01-06 ppcall.c: fix macro definition overwrite bug -- I know
509-01-05 ppcontrol.c: fix multiple include guard for #include outside guard
608-12-07 pp.h,ppdata.c: fix ancient pptype and ppctype[] off by one
708-11-15 ppsearch.c: '\\' => '/' in first step; msvc complains about '\\' in #line!!
808-10-31 ppsearch.c: relax pp:nomultiple pedantry
908-10-30 pplex.c: handle =#x S_CHRB|SPLICE bug
1008-05-11 ppproto.c: fix proto test 10 regression
1107-09-21 ppproto.c: add "Public Domain" to the noticed list
1207-08-11 probe.win32: add cl.exe setuid workaround, CC.VERSION[.STRING]
1307-06-12 pplex.c: finish -D:preserve logic update for imake
1407-06-07 pplex.c: handle -D:preserve S_CHRB splices
1507-06-04 ppsearch.c: only apply pp:chop ?old?new? if original not found
1607-03-11 add -D-Y pp:pedantic, PP_WARN macro formal parenthesis checks
1707-01-26 pp.def,probe.win32: add _WCHAR_T_DEFINED
1806-09-23 ppop.c: check -I <dev,ino> for c and TYPE_HOSTED|TYPE_VENDOR attrs
1906-09-23 pplex.c: add HOSTED check for "/* appears in // comment" -- doh
2006-09-05 pp.probe: add version stamp comment
2106-06-29 pp.probe: gcc pp:linefile probe (otherwise it can dump!)
2206-06-28 ppproto.c: fix inappropriate __PARAM__ insertion
2306-05-09 pp.tab,ppcontrol.c,ppproto.c: add externalize
24	 ppfsm.c: handle compatibility ul numeric qualifiers
2506-02-28 probe.win32: add wchar_t probe
2606-01-11 pplex.c: fix rpcgen pp:passthrough header splice bug
2705-12-16 pplex.c: fix imake pp:passthrough comment splice bug
2805-09-16 pplib.h: add <string.h> for standalone proto
2905-07-31 pplib.h: finally trust __STDC__ headers
3005-04-11 pplex.c: fix '"a" #s' catliteral + stringize bug
3105-03-29 pp.probe: check $? and stderr messages for pp:lineid
3205-02-20 probe.win32: handle /platformsdk mount
3305-01-11 ppargs.c: fix -I-S docs
34	 ppinput.c: ppproto() only for COMPATIBILITY or PLUSPLUS
3504-10-22 ppproto.c: handle `type var[x][y]' arg prototype
3604-10-01 pplex.c: really fix directive hidden newline logic
3704-08-31 pplex.c: fix directive hidden newline logic
38	 ppcall.c: fix '(' peek bug that missed the MARK
3904-08-30 add pragma pp:pragmaflags PP_PRAGMAFLAGS, pp:system_header
4004-08-11 ppproto.c: intercept "#(define|undef) extern" for __(EX|IM)PORT__
4104-07-23 probe.win32: generalize #include dir order search
4204-07-22 ppsearch.c: access() => eaccess()
4304-05-20 ppproto.c: don't __PROTO__ `int fun __P((int));'
4404-04-15 probe.win32: sync up with uwin 2003-08-06 master -- oops
4504-04-01 pp.probe: add stdinclude usrinclude path cleanup
4604-02-29 ppproto.c: fix bug that skipped prototyped check during notices check
47	 ppproto.c: recognize `Copyright nn'
4804-02-14 ppproto.c: comment[0]==0 => no notice
4904-02-11 Makefile: fix %.yacc to handle cross-compile
5004-01-28 pp.h,pplib.h,ppop.c: add PP_RESET to restore original pp.symtab scope
5103-12-12 ppcall.c: missing macro actual warned but expanded
5203-11-12 ppexpr.c: fix premature #if expression token strip
5303-06-21 ppproto.c: fix T_INVALID ? splice bug that did 0?val => 0?vaL
5403-06-10 ppargs.c: add -D-d and -D-m
55	 ppargs.c: add gnu options { -dD -dM -imacros -include -lang-* -lint }
5603-05-19 pplex.c: fix stray SKIPMACRO bug
5703-05-18 ppcall.c: add SYM_FUNCTION '(' peek to avoid inappropriate ungetchr()
5803-04-30 pp:mapinclude hosted <std.h>="." will search only hosted dirs
59	 pp.probe: add pp:mapinclude probe for namespace incursions
6003-04-29 ignore()=>ppmapinclude(), add pp:mapinclude
6103-03-25 ppop.c: PP_RESERVED now deletes old symbol before redef with lex value
6203-03-14 pp.probe: fix the #include_next probe
6303-02-28 ppsearch.c: fix -MM bug that missed prefix include hosted mark
6403-02-18 pplex.c: handle COMPATIBILITY \" and \' in macro actuals
6503-01-23 probe.win32: mingw32 tweaks
6602-12-17 ppargs.c: document -I-!
6702-12-06 -I- pp:noprefix otherwise pp:prefix default
6802-11-29 probe.win32: added __INTSIZE, drop dm pp:noallmultiple
6902-11-26 pp.def: add STDC_HOSTED
70	 probe.win32: add C95 and C99 STDC predefined macros
7102-10-30 ppfsm.h: add boundary check to IDSTATE()
7202-10-18 probe.win32: update for mingw
7302-10-15 ppsearch.c: if PLUSPLUS && not found && no suffix then try with .h
7402-10-10 pplex.c: fix does not end with `newline' bugs
7502-10-01 ppop.c,ppargs.c: -I-I => -I-M with proper docs; -I-I for PP_IGNORE
7602-09-21 pp.probe: add pp:nocatliteral test
7702-09-10 pp.tab: add pp:passthrough to match -D-P docs
7802-08-30 probe.win32: fix for borland cc -E
7902-08-22 ppexpr.c: add __SOURCE__ and #match(string,pattern)
8002-06-25 ppproto.c: fix pragma search bug that stopped after 8 comment lines
8102-06-11 ppsearch.c: fix ... next include search to skip *all* intermediates
8202-05-28 probe.win32: updates for { mingw }
83	 ppsearch.c: don't use inherited prefix for <...> -- duh
8402-05-24 ppcontrol.c: simplify getline() space canonicalization
85	 probe.win32: updates for { digital-mars borland lcc }
8602-05-20 ppcontrol.c: update to use regsubcomp(),regsubexec()
8702-05-09 ppcontrol.c: inhibit `EOF in directive': newline warning will catch it
88	 pplex.c: inhibit `newline in character constant' for hosted directives
8902-05-06 probe.win32: add more win32 compilers
9002-04-15 probe.win32: handle long long unsigned int
9102-04-12 ppproto.c: fix NOTICED check
9202-03-15 ppproto.c: fix cpp pp:compatibility double line sync memory fault
9302-03-11 pplex.c: add pp:modern to emit \a \v instead of octal forms
9402-02-14 ppargs.c: fix -D or -U as last arg core dump
9502-01-24 pplib.h: use vmalloc(Vmregion) if _std_malloc
9602-01-23 probe.win32: add more msvc predefined macro candidates
9702-01-14 ppproto.c: #pragma prototyped noticed -- has notice comment
9802-01-10 ppproto.c: fix PROTO_FORCE|PROTO_PASS bug that disabled PROTO_FORCE
9902-01-08 pplex.c: fix HEADEREXPAND|HEADEREXPANDALL logic
10001-11-22 pplex.c: add pp:headerexpandall for gcc vs. msvc <...> expand diff
101	 pp.probe: add pp:headerexpandall test
10201-10-20 pplex.c: fix pp:splicespace inside "..."
10301-09-11 ppinput.c: use pathnative() for native fs representation
10401-08-31 pp.probe: handle -Dmacro(args)=value
10501-08-11 ppcontrol: fix ... and __VAR_ARGS__ for C99
106	 ppsearch: fix SEARCH_NEXT bug that skipped the include stack
10701-08-06 ppproto: preserve #! first line for # comments
10801-07-17 gentab.sh: fix ksh test to omit pdksh (typeset -u fails)
10901-06-26 ppproto.c: fix another buffer boundary bug that didn't preserve OTHER
11001-06-06 ppsearch.c: list PP_FILEDEPS headers once
11101-06-01 pp.h,ppop.c,ppsearch.c: allow multiple PP_FILEDEPS (-M)
11201-05-24 pp.probe: fix pp:hostedtransition probe: only suncc can __STDC__==1?
11301-04-25 pp.probe: split macro probe files for compilers that have #line limits
11401-04-19 pp.h,pplex.c,ppproto.c: fix { \a \E \v } EBCDIC translations
11501-04-16 pp.tab: add pp:splicespace for mvs jcl decks -- the 60's live on
11601-04-13 ppbuiltin: add __FUNCTION__ cache for functions that span the buffer
11701-03-08 pp.tab,ppbuiltin,ppcontrol,probe: add pp:hostedtransition
11801-02-22 pp.tab,ppfsm,pplex,pp.probe,probe.win32: add pp:zeof for ^Z => EOF
11901-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
12401-02-09 ppsearch.c: fix another pp.include null dereference
12501-02-07 ppcall.c: fix stack inequality checks
126	 ppcall.c: handle trailing \ in macro args
12701-02-06 fix readonly buffer write (cpp test 07:2873)
12801-02-04 fix -M* to properly handle .cxx .cpp .C input
129	 fix IN_BUFFER pop bug that did not reset the token pointer
13001-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
13500-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
13900-10-31 __STDC__==0 if HOSTED && _UWIN
14000-10-26 pplib.h: change SEEK_SET to O_RDONLY for aix
14100-10-17 pp.probe: __IMPORT__ => __STDPP__IMPORT__
14200-09-18 add __FUNCTION__=#(FUNCTION), #define <a b> c
143	 pp.probe: add probe_longlong
144	 probe.win32: add #define <long long>
14500-09-11 add pp:noproto (NOPROTO pp.option) to disable ppproto()
14600-09-01 ppproto: fix buffer slide bug
14700-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
15100-06-01 pplex: fix "\\U" and "\\u"
15200-05-22 ppsearch: fix uwin #include <C:/foo/bar.h>
15300-05-16 probe.win32: update reserved word list
15400-05-09 ppcontrol: fix C++ macro >+> invalid fuse
155	 ppcontrol: 'macro' expansion only for COMPATIBILITY | TRANSITION
156	 c9x: up to date with proposed standard
15700-04-01 pp.tab: add allpossible and ALLPOSSIBLE
158	 ppmacref: fix ref inside literal catenation
15900-02-14 pppopen(): general comments with "bme" (begin middle end) string
16000-01-11 pp.probe: hosttype now in C.probe
16199-11-19 is[a-z]*( => ppis[a-z]*(
162	 ppproto: "..." [A-Z_]+ "..." ignores [A-Z_]+ if PROTOMAIN
16399-11-11 ppproto: use astlicense()
16499-10-31 ppproto: add PROTO_SHARP, update license parse
165	 pplex: fix some MARK bugs seen by #define X "A B <C@D>"
16699-10-01 add pp:stringsplit for "...\\n..." => "..."\n"..."
167	 add pp:lineid to match PP_LINEID
16899-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
17499-06-02 ppproto: add __MANGLE_package_DATA__ & __MANGLE_package_FUNC__
17599-05-26 ppcontrol: all pragmas but prototyped need pp:
17699-05-25 ppargs: long options
17799-05-22 ppproto: changes for full ast vs. PROTO_STANDALONE
17899-05-09 ppinput: add #pragma pp:native and (pp.option&NATIVE) for native paths
17999-04-22 ppproto: finish type=open notice
18099-02-11 #define __STDC__ #(STDC); demote __STDC__ to 0 for HOSTED (thanks sun)
18199-02-04 pplex: joined strings separated by \\\n
18299-01-11 probe.win32: add _UWIN predef
18398-10-20 pplex: a few more (HOSTED|RELAX) checks
184	 -D:preserve throws a bunch of stuff -- great for imake (yuk)
18598-05-11 pplex: fix "..." \n off by one line count
18698-02-14 ppcontrol: fix HEADEREXPAND missing NUL
18798-01-23 ppproto: add _GNUC_ to _WIN32 check
188	 ppfsm: don't optimize for hp.pa
18997-11-11 ppcontrol: fix recursive use of pp.hdrbuf for HEADEREXPAND
19097-10-31 ppmacref,pp.h: add ppmacref sum arg -- some parts assumed it!
19197-10-01 pplex: loosen HEADEREXPAND check
19297-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
19697-07-17 ppproto.c: C++ __INLINE__ prefixed with extern __MANGLE__
197	 ppop.c: fix PP_RESERVED T_* lookup
19897-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
20197-04-01 ppcontrol.c: fix tokop() for PP_RESERVED
20296-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}*
20896-12-06 add pp:headerexpand for ms that expands macros in expanded <...>
20996-10-31 a few more line sync tweaks for EDG C++
21096-10-11 fix pp:macref off by one for standalone pp (big suprise)
21196-10-01 -D:macref -D-L -> #line (n-2)\n#pragma pp:macref ...
21296-08-11 fix transition macro expansion
213	 compatibility \" or \' does not start quote
21496-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
22096-02-14 pp:noallmultiple works on hosted files too
221	 fix #define /* EOF loop
22296-01-31 fix ## as arg to stringize macro to have ## value, not #
223	 add nonstopux and SYSTYPE_SVR4 to pp.def
22496-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>
22895-10-31 fix PP_COMPILE PP_TRANSITION bug that didn't allow space before #
229	 fix PP_TRANSITION \newline in definition complaint
23095-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
23795-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
24595-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
25595-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
26595-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
27195-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
28395-01-01 avoid string literal concatenation in pp.probe #if #predicate() tests
284	 fix pplib.h memcpy,strncmp PROTOMAIN prototypes (its a nop tho)
28594-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
28994-11-01 allow #include string header arg concatenation (yes, its not ansi)
290	 #macdef macros are recursive
29194-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*/
29694-09-11 fix pp.probe cp+strip with chmod u+w
29794-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!)
30194-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
30994-04-01 drop warnings for -X*
310	 fix ppproto() %% in comment bug for yacc proto
311	 PP_COMMENT now truncates comments to MAXTOKEN-4
31294-03-01 no pp:truncate for #pragma pp:macref
31394-01-01 fix STANDALONE+PP_TRUNCATE fsm macro bug
314	 drop __VOID__ from ppproto.c
31593-12-01 release
31693-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]
32493-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
32793-10-01 add pp:opspace to tokenize <binop><space>= to <binop>=
32893-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
33293-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
33593-06-22 add pp:prefix to control prefix include compatibility
33693-04-01 use probe_verbose in predefined symbol probe
33793-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)
34193-01-22 fix ansi macro args recursion bug
34293-01-11 fix '\377'<0 for signed char compilers
343	 add RELAX for __STDPP__directive directives
34492-12-25 fix #include guard test that omitted IN_tokens for CPP=1
34592-12-11 fix pp:truncate for STANDALONE and COMPILE
346	 fix pp:allmultiple again!
34792-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
35292-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
35592-10-31 fix standalone -C bug that duplicated output buffer
356	 add pp:stringspan to handle gnu "<newline>" extension
35792-10-12 fix T_X_GROUP asm bug
358	 allow `#define a "b' pp:compatibility hack
35992-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
36392-07-17 fix pp:multiple again, fix ppproto() out of bounds
364	 PP_STANDARD is always PP_CDIR and PP_HOSTED
36592-07-11 add #import and #include_next probes
36692-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
36992-06-01 add pp:ignore
370	 fix probe of stdpp to handle -I[-+][CH]
37192-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
37592-04-11 add inverse proto (K&R -> prototype) to ppproto
37692-04-01 release
37792-02-29 #include <...> inside <xxx.h> gets next xxx.h on -I list
378	 non-libpp generated symbols containing ' ' are not truncated
37992-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()
38691-10-11 add pp:truncate <len> for non-flexname compilers
38791-09-11 fix ppproto aggression on f(*y); -> f __PROTO__((*y));
38891-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
39191-06-11 fix ignored -I/usr/include bug
39291-04-11 set SYM_INIT in pp.macref for -U on cmd line
39391-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
39990-12-11 fix #pragma pp:multiple
40090-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
40890-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
41290-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
41690-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
41990-07-17 remove spaces from macdef line sync (blew sun cc)
42090-06-11 add internal ppsymkey to avoid ppsymbol.value pun for SYM_KEYWORD
42190-05-01 fix catliteral bug of `"..." << ' -> `"..." <='
42290-04-01 fix `ifndef-define-endif' include wrapper test
42390-03-27 add setpreroot() to ppop() [ sleazy but well hidden ]
42490-03-22 pp.macref called for all undef's
42590-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
42890-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)
43390-03-09 duplicate macro formals cause level 2 error
43490-03-01 add #(ARGC) for (variadic) macro arg count
43590-02-11 fix line sync number bug in pppush()
43689-12-01 ignore leading = in pragma map for old pragma compatibility
437	 check for NEWLINE on first macdef line sync
43889-11-11 add -1 arg to pp.incref -- include skipped
439	 STRICT 0x7e-macro is T_INVALID per standard
44089-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
44489-10-27 use REF_NORMAL, REF_IF, REF_UNDEF for pp.macref arg2
44589-10-17 fix c(x)y compatibility pasting bug
446	 #line 1 "f" now marks "f" included
44789-10-11 enable -I. during initialization
44889-10-01 inhibit pp:linetype syncs for top level #line directives
449	 ----- see HISTORY -----
450