RELEASE revision 3f54fd611f536639ec30dd53c48e5ec1897cc7d9
dfd576109cb676448a2c4574150060aa3d8626bavboxsync12-06-06 ppline.c: preserve hosted sync even for normal sync
dfd576109cb676448a2c4574150060aa3d8626bavboxsync12-02-29 pp.probe: handle predefined function-like macro definitions
dfd576109cb676448a2c4574150060aa3d8626bavboxsync12-02-14 ppproto.c: fix "already noticed" logic
dfd576109cb676448a2c4574150060aa3d8626bavboxsync11-08-30 ppproto.c: bump BLOCK to 16*1024 for (ppargs.c self-doc!)
dfd576109cb676448a2c4574150060aa3d8626bavboxsync11-03-15 ppop.c: add ppok() readonly check for subset of ppop(PP_*)
dfd576109cb676448a2c4574150060aa3d8626bavboxsync11-03-02 ppop.c,ppcontrol.c: use ppset() to handle readonly values
dfd576109cb676448a2c4574150060aa3d8626bavboxsync10-09-01 RE errors => exit(2)
dfd576109cb676448a2c4574150060aa3d8626bavboxsync10-09-01 ppcall.c: no disgnostic for 0 actual args for 1 formal arg
dfd576109cb676448a2c4574150060aa3d8626bavboxsync10-06-29 ppargs.c: ignore -H<number> (hpux /opt/langtools/lbin/cpp.ansi)
dfd576109cb676448a2c4574150060aa3d8626bavboxsync10-06-16 ppsearch.c: try parent prefix if -I- include search fails
dfd576109cb676448a2c4574150060aa3d8626bavboxsync10-06-01 sync with ast api 20100601
dfd576109cb676448a2c4574150060aa3d8626bavboxsync09-02-02 pp.probe,probe.win32: check for compiler supplied __FUNCTION__
dfd576109cb676448a2c4574150060aa3d8626bavboxsync09-02-02 ppop.c: include pp_default.h/probe at end of builtin script
dfd576109cb676448a2c4574150060aa3d8626bavboxsync09-01-20 probe.win32: elide #pragma comment.*linker.*manifest
dfd576109cb676448a2c4574150060aa3d8626bavboxsync09-01-06 ppcall.c: fix macro definition overwrite bug -- I know
dfd576109cb676448a2c4574150060aa3d8626bavboxsync09-01-05 ppcontrol.c: fix multiple include guard for #include outside guard
dfd576109cb676448a2c4574150060aa3d8626bavboxsync08-12-07 pp.h,ppdata.c: fix ancient pptype and ppctype[] off by one
dfd576109cb676448a2c4574150060aa3d8626bavboxsync08-11-15 ppsearch.c: '\\' => '/' in first step; msvc complains about '\\' in #line!!
dfd576109cb676448a2c4574150060aa3d8626bavboxsync08-10-31 ppsearch.c: relax pp:nomultiple pedantry
dfd576109cb676448a2c4574150060aa3d8626bavboxsync08-10-30 pplex.c: handle =#x S_CHRB|SPLICE bug
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync08-05-11 ppproto.c: fix proto test 10 regression
dfd576109cb676448a2c4574150060aa3d8626bavboxsync07-09-21 ppproto.c: add "Public Domain" to the noticed list
dfd576109cb676448a2c4574150060aa3d8626bavboxsync07-08-11 probe.win32: add cl.exe setuid workaround, CC.VERSION[.STRING]
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync07-06-12 pplex.c: finish -D:preserve logic update for imake
dfd576109cb676448a2c4574150060aa3d8626bavboxsync07-06-07 pplex.c: handle -D:preserve S_CHRB splices
dfd576109cb676448a2c4574150060aa3d8626bavboxsync07-06-04 ppsearch.c: only apply pp:chop ?old?new? if original not found
dfd576109cb676448a2c4574150060aa3d8626bavboxsync07-03-11 add -D-Y pp:pedantic, PP_WARN macro formal parenthesis checks
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync06-09-23 ppop.c: check -I <dev,ino> for c and TYPE_HOSTED|TYPE_VENDOR attrs
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync06-09-23 pplex.c: add HOSTED check for "/* appears in // comment" -- doh
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync06-09-05 pp.probe: add version stamp comment
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync06-06-29 pp.probe: gcc pp:linefile probe (otherwise it can dump!)
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync06-06-28 ppproto.c: fix inappropriate __PARAM__ insertion
8d8dfc00d014a62894327907a04f148b00a08529vboxsync06-05-09 pp.tab,ppcontrol.c,ppproto.c: add externalize
8d8dfc00d014a62894327907a04f148b00a08529vboxsync ppfsm.c: handle compatibility ul numeric qualifiers
8d8dfc00d014a62894327907a04f148b00a08529vboxsync06-02-28 probe.win32: add wchar_t probe
8d8dfc00d014a62894327907a04f148b00a08529vboxsync06-01-11 pplex.c: fix rpcgen pp:passthrough header splice bug
8d8dfc00d014a62894327907a04f148b00a08529vboxsync05-12-16 pplex.c: fix imake pp:passthrough comment splice bug
8d8dfc00d014a62894327907a04f148b00a08529vboxsync05-09-16 pplib.h: add <string.h> for standalone proto
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync05-07-31 pplib.h: finally trust __STDC__ headers
8d8dfc00d014a62894327907a04f148b00a08529vboxsync05-04-11 pplex.c: fix '"a" #s' catliteral + stringize bug
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync05-03-29 pp.probe: check $? and stderr messages for pp:lineid
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync05-02-20 probe.win32: handle /platformsdk mount
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync05-01-11 ppargs.c: fix -I-S docs
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync ppinput.c: ppproto() only for COMPATIBILITY or PLUSPLUS
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync04-10-22 ppproto.c: handle `type var[x][y]' arg prototype
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync04-10-01 pplex.c: really fix directive hidden newline logic
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync04-08-31 pplex.c: fix directive hidden newline logic
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync ppcall.c: fix '(' peek bug that missed the MARK
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync04-08-30 add pragma pp:pragmaflags PP_PRAGMAFLAGS, pp:system_header
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync04-08-11 ppproto.c: intercept "#(define|undef) extern" for __(EX|IM)PORT__
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync04-07-23 probe.win32: generalize #include dir order search
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync04-07-22 ppsearch.c: access() => eaccess()
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync04-05-20 ppproto.c: don't __PROTO__ `int fun __P((int));'
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync04-04-15 probe.win32: sync up with uwin 2003-08-06 master -- oops
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync04-04-01 pp.probe: add stdinclude usrinclude path cleanup
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync04-02-29 ppproto.c: fix bug that skipped prototyped check during notices check
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync ppproto.c: recognize `Copyright nn'
8d8dfc00d014a62894327907a04f148b00a08529vboxsync04-02-14 ppproto.c: comment[0]==0 => no notice
8d8dfc00d014a62894327907a04f148b00a08529vboxsync04-02-11 Makefile: fix %.yacc to handle cross-compile
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync04-01-28 pp.h,pplib.h,ppop.c: add PP_RESET to restore original pp.symtab scope
8d8dfc00d014a62894327907a04f148b00a08529vboxsync03-12-12 ppcall.c: missing macro actual warned but expanded
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync03-11-12 ppexpr.c: fix premature #if expression token strip
4d5a2d10140117cca0a93d7e1b4d71304701d6e1vboxsync03-06-21 ppproto.c: fix T_INVALID ? splice bug that did 0?val => 0?vaL
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync03-06-10 ppargs.c: add -D-d and -D-m
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync ppargs.c: add gnu options { -dD -dM -imacros -include -lang-* -lint }
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync03-05-19 pplex.c: fix stray SKIPMACRO bug
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync03-05-18 ppcall.c: add SYM_FUNCTION '(' peek to avoid inappropriate ungetchr()
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync03-04-30 pp:mapinclude hosted <std.h>="." will search only hosted dirs
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync pp.probe: add pp:mapinclude probe for namespace incursions
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync03-04-29 ignore()=>ppmapinclude(), add pp:mapinclude
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync03-03-25 ppop.c: PP_RESERVED now deletes old symbol before redef with lex value
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync03-03-14 pp.probe: fix the #include_next probe
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync03-02-28 ppsearch.c: fix -MM bug that missed prefix include hosted mark
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync03-02-18 pplex.c: handle COMPATIBILITY \" and \' in macro actuals
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync03-01-23 probe.win32: mingw32 tweaks
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync02-12-17 ppargs.c: document -I-!
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync02-12-06 -I- pp:noprefix otherwise pp:prefix default
1960568d96ad2cc533d6a2c9b3a4de93c5188710vboxsync02-11-29 probe.win32: added __INTSIZE, drop dm pp:noallmultiple
1960568d96ad2cc533d6a2c9b3a4de93c5188710vboxsync02-11-26 pp.def: add STDC_HOSTED
1960568d96ad2cc533d6a2c9b3a4de93c5188710vboxsync probe.win32: add C95 and C99 STDC predefined macros
1960568d96ad2cc533d6a2c9b3a4de93c5188710vboxsync02-10-30 ppfsm.h: add boundary check to IDSTATE()
1960568d96ad2cc533d6a2c9b3a4de93c5188710vboxsync02-10-18 probe.win32: update for mingw
1960568d96ad2cc533d6a2c9b3a4de93c5188710vboxsync02-10-15 ppsearch.c: if PLUSPLUS && not found && no suffix then try with .h
1960568d96ad2cc533d6a2c9b3a4de93c5188710vboxsync02-10-10 pplex.c: fix does not end with `newline' bugs
1960568d96ad2cc533d6a2c9b3a4de93c5188710vboxsync02-10-01 ppop.c,ppargs.c: -I-I => -I-M with proper docs; -I-I for PP_IGNORE
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync02-09-21 pp.probe: add pp:nocatliteral test
1960568d96ad2cc533d6a2c9b3a4de93c5188710vboxsync02-09-10 pp.tab: add pp:passthrough to match -D-P docs
1960568d96ad2cc533d6a2c9b3a4de93c5188710vboxsync02-08-30 probe.win32: fix for borland cc -E
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync02-08-22 ppexpr.c: add __SOURCE__ and #match(string,pattern)
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync02-06-25 ppproto.c: fix pragma search bug that stopped after 8 comment lines
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync02-06-11 ppsearch.c: fix ... next include search to skip *all* intermediates
1960568d96ad2cc533d6a2c9b3a4de93c5188710vboxsync02-05-28 probe.win32: updates for { mingw }
1960568d96ad2cc533d6a2c9b3a4de93c5188710vboxsync ppsearch.c: don't use inherited prefix for <...> -- duh
1960568d96ad2cc533d6a2c9b3a4de93c5188710vboxsync02-05-24 ppcontrol.c: simplify getline() space canonicalization
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync probe.win32: updates for { digital-mars borland lcc }
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync02-05-20 ppcontrol.c: update to use regsubcomp(),regsubexec()
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync02-05-09 ppcontrol.c: inhibit `EOF in directive': newline warning will catch it
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync pplex.c: inhibit `newline in character constant' for hosted directives
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync02-05-06 probe.win32: add more win32 compilers
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync02-04-15 probe.win32: handle long long unsigned int
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync02-04-12 ppproto.c: fix NOTICED check
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync02-03-15 ppproto.c: fix cpp pp:compatibility double line sync memory fault
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync02-03-11 pplex.c: add pp:modern to emit \a \v instead of octal forms
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync02-02-14 ppargs.c: fix -D or -U as last arg core dump
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync02-01-24 pplib.h: use vmalloc(Vmregion) if _std_malloc
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync02-01-23 probe.win32: add more msvc predefined macro candidates
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync02-01-14 ppproto.c: #pragma prototyped noticed -- has notice comment
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync02-01-10 ppproto.c: fix PROTO_FORCE|PROTO_PASS bug that disabled PROTO_FORCE
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync02-01-08 pplex.c: fix HEADEREXPAND|HEADEREXPANDALL logic
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync01-11-22 pplex.c: add pp:headerexpandall for gcc vs. msvc <...> expand diff
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync pp.probe: add pp:headerexpandall test
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync01-10-20 pplex.c: fix pp:splicespace inside "..."
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync01-09-11 ppinput.c: use pathnative() for native fs representation
0cec432d9663133d971451c30d969c065010e886vboxsync01-08-31 pp.probe: handle -Dmacro(args)=value
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync01-08-11 ppcontrol: fix ... and __VAR_ARGS__ for C99
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync ppsearch: fix SEARCH_NEXT bug that skipped the include stack
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync01-08-06 ppproto: preserve #! first line for # comments
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync01-07-17 gentab.sh: fix ksh test to omit pdksh (typeset -u fails)
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync01-06-26 ppproto.c: fix another buffer boundary bug that didn't preserve OTHER
4d5a2d10140117cca0a93d7e1b4d71304701d6e1vboxsync01-06-06 ppsearch.c: list PP_FILEDEPS headers once
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync01-06-01 pp.h,ppop.c,ppsearch.c: allow multiple PP_FILEDEPS (-M)
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync01-05-24 pp.probe: fix pp:hostedtransition probe: only suncc can __STDC__==1?
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync01-04-25 pp.probe: split macro probe files for compilers that have #line limits
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync01-04-19 pp.h,pplex.c,ppproto.c: fix { \a \E \v } EBCDIC translations
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync01-04-16 pp.tab: add pp:splicespace for mvs jcl decks -- the 60's live on
8d8dfc00d014a62894327907a04f148b00a08529vboxsync01-04-13 ppbuiltin: add __FUNCTION__ cache for functions that span the buffer
dfd576109cb676448a2c4574150060aa3d8626bavboxsync01-03-08 pp.tab,ppbuiltin,ppcontrol,probe: add pp:hostedtransition
dfd576109cb676448a2c4574150060aa3d8626bavboxsync01-02-22 pp.tab,ppfsm,pplex,pp.probe,probe.win32: add pp:zeof for ^Z => EOF
dfd576109cb676448a2c4574150060aa3d8626bavboxsync01-02-14 ppcall.c: fix macro(tuple*) bug that truncated macro arg expand buffer
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync pplex.c: fix # inside pp:pragmaexpand
8d8dfc00d014a62894327907a04f148b00a08529vboxsync ppproto.c: fix buffer boundary bug that lost call nesting
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync ppproto.c: add realloc prototype and memcpy=>memcopy strcpy=>strcopy
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync01-02-09 ppsearch.c: fix another pp.include null dereference
8d8dfc00d014a62894327907a04f148b00a08529vboxsync01-02-07 ppcall.c: fix stack inequality checks
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync ppcall.c: handle trailing \ in macro args
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync01-02-06 fix readonly buffer write (cpp test 07:2873)
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync01-02-04 fix -M* to properly handle .cxx .cpp .C input
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync fix IN_BUFFER pop bug that did not reset the token pointer
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync01-01-01 pp:headerexpand: space ok if not IN_MACRO
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync ppcall: hide if IN_FILE|IN_MACRO|IN_EXPAND
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync pplex: don't complain about ^L or ^Z as last char in file
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync ppsearch: fix #include <.../foo.h> loop
8d8dfc00d014a62894327907a04f148b00a08529vboxsync ppcontrol: manulally increment IN_RESCAN error_info.line
4d5a2d10140117cca0a93d7e1b4d71304701d6e1vboxsync00-12-25 add EXPOSE to expose hidden macros (for #import ...)
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync probe.win32: add cc path *and* args to first line to avoid hash clash
8d8dfc00d014a62894327907a04f148b00a08529vboxsync pp.probe: filter out invalid symbols for predefined macro scan, duh
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync pp:headerexpand: limit expansion to IN_MACRO
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync00-10-31 __STDC__==0 if HOSTED && _UWIN
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync00-10-26 pplib.h: change SEEK_SET to O_RDONLY for aix
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync00-10-17 pp.probe: __IMPORT__ => __STDPP__IMPORT__
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync00-09-18 add __FUNCTION__=#(FUNCTION), #define <a b> c
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync pp.probe: add probe_longlong
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync probe.win32: add #define <long long>
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync00-09-11 add pp:noproto (NOPROTO pp.option) to disable ppproto()
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync00-09-01 ppproto: fix buffer slide bug
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync00-08-11 pplb.h: check for <unistd.h> already included for PROTOMAIN
8d8dfc00d014a62894327907a04f148b00a08529vboxsync pragma: add pp:pragmaexpand to expand pragma args
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync ppcontrol: always disable pp:* pragma expansion
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync ppcall: fix pp:hide buffer clash
8d8dfc00d014a62894327907a04f148b00a08529vboxsync00-06-01 pplex: fix "\\U" and "\\u"
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync00-05-22 ppsearch: fix uwin #include <C:/foo/bar.h>
8d8dfc00d014a62894327907a04f148b00a08529vboxsync00-05-16 probe.win32: update reserved word list
dfd576109cb676448a2c4574150060aa3d8626bavboxsync00-05-09 ppcontrol: fix C++ macro >+> invalid fuse
dfd576109cb676448a2c4574150060aa3d8626bavboxsync ppcontrol: 'macro' expansion only for COMPATIBILITY | TRANSITION
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync c9x: up to date with proposed standard
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync00-04-01 pp.tab: add allpossible and ALLPOSSIBLE
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync ppmacref: fix ref inside literal catenation
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync00-02-14 pppopen(): general comments with "bme" (begin middle end) string
dfd576109cb676448a2c4574150060aa3d8626bavboxsync99-11-19 is[a-z]*( => ppis[a-z]*(
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync ppproto: "..." [A-Z_]+ "..." ignores [A-Z_]+ if PROTOMAIN
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync99-11-11 ppproto: use astlicense()
8d8dfc00d014a62894327907a04f148b00a08529vboxsync99-10-31 ppproto: add PROTO_SHARP, update license parse
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync pplex: fix some MARK bugs seen by #define X "A B <C@D>"
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync99-10-01 add pp:stringsplit for "...\\n..." => "..."\n"..."
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync add pp:lineid to match PP_LINEID
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync99-07-17 ppbuiltin: fix getline() canon spacing for numbers
dfd576109cb676448a2c4574150060aa3d8626bavboxsync ppsearch: fix FILEDEPS not found \\n print
dfd576109cb676448a2c4574150060aa3d8626bavboxsync pplex: fix spurious FILEDEPS '.' empty character constant message
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync ppargs: fix usage error call and error_info.id default value
dfd576109cb676448a2c4574150060aa3d8626bavboxsync ppproto: fix up copyright notice for ksh93 style .author file
8d8dfc00d014a62894327907a04f148b00a08529vboxsync ppproto: check if notice text if file path
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync99-06-02 ppproto: add __MANGLE_package_DATA__ & __MANGLE_package_FUNC__
8d8dfc00d014a62894327907a04f148b00a08529vboxsync99-05-26 ppcontrol: all pragmas but prototyped need pp:
8d8dfc00d014a62894327907a04f148b00a08529vboxsync99-05-25 ppargs: long options
8d8dfc00d014a62894327907a04f148b00a08529vboxsync99-05-22 ppproto: changes for full ast vs. PROTO_STANDALONE
dfd576109cb676448a2c4574150060aa3d8626bavboxsync99-05-09 ppinput: add #pragma pp:native and (pp.option&NATIVE) for native paths
dfd576109cb676448a2c4574150060aa3d8626bavboxsync99-04-22 ppproto: finish type=open notice
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync99-02-11 #define __STDC__ #(STDC); demote __STDC__ to 0 for HOSTED (thanks sun)
dfd576109cb676448a2c4574150060aa3d8626bavboxsync99-02-04 pplex: joined strings separated by \\\n
8d8dfc00d014a62894327907a04f148b00a08529vboxsync99-01-11 probe.win32: add _UWIN predef
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync98-10-20 pplex: a few more (HOSTED|RELAX) checks
dfd576109cb676448a2c4574150060aa3d8626bavboxsync -D:preserve throws a bunch of stuff -- great for imake (yuk)
dfd576109cb676448a2c4574150060aa3d8626bavboxsync98-05-11 pplex: fix "..." \n off by one line count
dfd576109cb676448a2c4574150060aa3d8626bavboxsync98-02-14 ppcontrol: fix HEADEREXPAND missing NUL
dfd576109cb676448a2c4574150060aa3d8626bavboxsync98-01-23 ppproto: add _GNUC_ to _WIN32 check
dfd576109cb676448a2c4574150060aa3d8626bavboxsync ppfsm: don't optimize for hp.pa
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync97-11-11 ppcontrol: fix recursive use of pp.hdrbuf for HEADEREXPAND
dfd576109cb676448a2c4574150060aa3d8626bavboxsync97-10-31 ppmacref,pp.h: add ppmacref sum arg -- some parts assumed it!
dfd576109cb676448a2c4574150060aa3d8626bavboxsync97-10-01 pplex: loosen HEADEREXPAND check
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync97-08-11 pplex: fix COMPILE pplex() bug that did not reset NEWLINE for S_MACRO
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync pplex: PP_PRESERVE does not pp.pragma <token> ... # <pragma-stuff>
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync ppcall: fix macro actual arg error checks
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync97-07-17 ppproto.c: C++ __INLINE__ prefixed with extern __MANGLE__
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync ppop.c: fix PP_RESERVED T_* lookup
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync97-05-09 pp.def: add MVS :architecture:
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync ppfsm.c: change C_* pseudo codes to not clash with ebcdic
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync pp.probe: fix stdc.$src sed script
a3d33059b39a600e1e4595dc37b58104840f0910vboxsync97-04-01 ppcontrol.c: fix tokop() for PP_RESERVED
a3d33059b39a600e1e4595dc37b58104840f0910vboxsync96-12-25 add ms #@ charize to complement # stringize
a3d33059b39a600e1e4595dc37b58104840f0910vboxsync pp.probe now detects preincludes
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync ppproto: allow #ifdef'd function definions before {
dfd576109cb676448a2c4574150060aa3d8626bavboxsync ppproto: NoN() is not a function
dfd576109cb676448a2c4574150060aa3d8626bavboxsync ppargs.c: fix -M{DGM}*
dfd576109cb676448a2c4574150060aa3d8626bavboxsync96-12-06 add pp:headerexpand for ms that expands macros in expanded <...>
dfd576109cb676448a2c4574150060aa3d8626bavboxsync96-10-31 a few more line sync tweaks for EDG C++
dfd576109cb676448a2c4574150060aa3d8626bavboxsync96-10-11 fix pp:macref off by one for standalone pp (big suprise)
dfd576109cb676448a2c4574150060aa3d8626bavboxsync96-10-01 -D:macref -D-L -> #line (n-2)\n#pragma pp:macref ...
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync96-08-11 fix transition macro expansion
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync compatibility \" or \' does not start quote
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync96-02-29 use <hashkey.h>
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync drop ungetchr() in ppcall that modified macro values
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync tighten the DEBUG PANIC case in ppcontrol.c
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync unify #architecture() and #machine() probe
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync add POSIX,WIN32,X86 to pp.sym
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync96-02-14 pp:noallmultiple works on hosted files too
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync fix #define /* EOF loop
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync96-01-31 fix ## as arg to stringize macro to have ## value, not #
dfd576109cb676448a2c4574150060aa3d8626bavboxsync add nonstopux and SYSTYPE_SVR4 to pp.def
dfd576109cb676448a2c4574150060aa3d8626bavboxsync96-01-01 AT&T Research now
dfd576109cb676448a2c4574150060aa3d8626bavboxsync fix catliteral line sync line number bug
dfd576109cb676448a2c4574150060aa3d8626bavboxsync ppproto() converts non-directive <num>u to (unsigned)<num>
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync95-10-31 fix PP_COMPILE PP_TRANSITION bug that didn't allow space before #
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync fix PP_TRANSITION \newline in definition complaint
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync95-10-11 fix ppproto() PROTO_PLUSPLUS bug
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync change ignored pp.incref PP_SYNC_POP to PP_SYNC_IGNORE
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync add PP_PEDANTIC to handle gnu oversights (can't beat em ...)
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync add memfatal() call
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync relax newline in quote semantics
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync proto inline -> __INLINE__
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync fix __INLINE__ proto def for __GCC__>=2
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync95-08-11 pp:preserve for easel (aka IFS) and imake
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync fix pp:reguard ## macro output
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync fix MARK PANIC with CATLITERAL
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync PP_INPUT *.(s|S|as|AS|asm|ASM) implies pp:nocatliteral pp:spaceout
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync ppargs() can't use isid() until after FSM_INIT
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync -D#... for assert, -D%... for directives
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync __STRICT_ANSI__ && __GNUC__ requires -pedantic for PP_STRICT
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync #include <.../x> for include_next
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync95-05-09 fix tokop() bug that concatenated adjacent strings
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync don't concatenate directive string literals in proto
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync restrict pp.probe hostinfo output to the first token
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync fix EOB/EOF pplex() nonterminating loop
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync unused var cleanup
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync add pp:reguard to emit #define and #undef (for C++ templates)
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync add a few ppproto '\r's for NT
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync fix T_BUILTIN ppsymbol -> ppsymkey pun
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync fix pp:stringspan `#define x "' hang
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync95-04-01 fix pp:hide for macros defined before the hide
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync fix pp:map getline space canonicalization
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync fix proto `<digits>[uU]'
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync proto does // comments by default (fixes bug introduced 07/17/94)
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync proto does "..." "..." string literal concatenation
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync spice up proto copyright comments for nonexclusive license
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync add hosttype assertion
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync fix proto `typedef type fun(args)'
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync proto copyright finishing touches
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync fix overzealous "empty character constant" message
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync95-02-14 pp:nopredefined probe info defines are now pp:builtin
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync clean up pp:hosted conflicts
dfd576109cb676448a2c4574150060aa3d8626bavboxsync tighten up unknown directive warning
dfd576109cb676448a2c4574150060aa3d8626bavboxsync PP_INPUT *.(s|as|AS|asm|ASM) implies pp:nocatliteral pp:spaceout
add PP_SYNC_* flags for pp.incref arg 3
95-01-01 avoid string literal concatenation in pp.probe #if #predicate() tests
fix pplib.h memcpy,strncmp PROTOMAIN prototypes (its a nop tho)
94-10-01 fix C++ } loop in ppfsm/refill
fix "..." "...MARK..." join
94-09-11 fix pp.probe cp+strip with chmod u+w
add pp:keyargs for key=value macro formals/actuals (not for C!)
94-06-01 fix ppcontrol/tokop() that botched pp:id, etc.
drop __VOID__ from ppproto.c
fix m(a)b compatibility token pasting [cpp/test/ess.01.c]
fix nested @X mark bug [cpp/test/net.02.c]
remove pp.control nesting limit
pp.probe now handles predefines with values other than 1
92-02-11 conversion to new lexer brings time close to reiser (esp. w/gcc -O)
91-06-11 fix ignored -I/usr/include bug
91-04-11 set SYM_INIT in pp.macref for -U on cmd line
add #pragma prototyped and ppproto.c for prototype conversion
add pp.flags and PP_[a-z0-9]+ for exported state info
privatize pp.h
90-06-11 add internal ppsymkey to avoid ppsymbol.value pun for SYM_KEYWORD
90-03-22 pp.macref called for all undef's
add ppincref.c and -H to use it
89-11-11 add -1 arg to pp.incref -- include skipped
89-10-27 use REF_NORMAL, REF_IF, REF_UNDEF for pp.macref arg2