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