34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz09-02-02 pp.probe,probe.win32: check for compiler supplied __FUNCTION__
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz09-02-02 ppop.c: include pp_default.h/probe at end of builtin script
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz09-01-20 probe.win32: elide #pragma comment.*linker.*manifest
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz09-01-06 ppcall.c: fix macro definition overwrite bug -- I know
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz09-01-05 ppcontrol.c: fix multiple include guard for #include outside guard
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz08-12-07 pp.h,ppdata.c: fix ancient pptype and ppctype[] off by one
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz08-11-15 ppsearch.c: '\\' => '/' in first step; msvc complains about '\\' in #line!!
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz08-10-31 ppsearch.c: relax pp:nomultiple pedantry
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz08-10-30 pplex.c: handle =#x S_CHRB|SPLICE bug
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin08-05-11 ppproto.c: fix proto test 10 regression
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin07-09-21 ppproto.c: add "Public Domain" to the noticed list
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin07-08-11 probe.win32: add cl.exe setuid workaround, CC.VERSION[.STRING]
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin07-06-12 pplex.c: finish -D:preserve logic update for imake
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin07-06-07 pplex.c: handle -D:preserve S_CHRB splices
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin07-06-04 ppsearch.c: only apply pp:chop ?old?new? if original not found
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin07-03-11 add -D-Y pp:pedantic, PP_WARN macro formal parenthesis checks
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin07-01-26 pp.def,probe.win32: add _WCHAR_T_DEFINED
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin06-09-23 ppop.c: check -I <dev,ino> for c and TYPE_HOSTED|TYPE_VENDOR attrs
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin06-09-23 pplex.c: add HOSTED check for "/* appears in // comment" -- doh
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin06-09-05 pp.probe: add version stamp comment
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin06-06-29 pp.probe: gcc pp:linefile probe (otherwise it can dump!)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin06-06-28 ppproto.c: fix inappropriate __PARAM__ insertion
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin06-05-09 pp.tab,ppcontrol.c,ppproto.c: add externalize
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppfsm.c: handle compatibility ul numeric qualifiers
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin06-02-28 probe.win32: add wchar_t probe
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin06-01-11 pplex.c: fix rpcgen pp:passthrough header splice bug
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin05-12-16 pplex.c: fix imake pp:passthrough comment splice bug
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin05-09-16 pplib.h: add <string.h> for standalone proto
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin05-07-31 pplib.h: finally trust __STDC__ headers
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin05-04-11 pplex.c: fix '"a" #s' catliteral + stringize bug
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin05-03-29 pp.probe: check $? and stderr messages for pp:lineid
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin05-02-20 probe.win32: handle /platformsdk mount
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin05-01-11 ppargs.c: fix -I-S docs
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppinput.c: ppproto() only for COMPATIBILITY or PLUSPLUS
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin04-10-22 ppproto.c: handle `type var[x][y]' arg prototype
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin04-10-01 pplex.c: really fix directive hidden newline logic
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin04-08-31 pplex.c: fix directive hidden newline logic
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppcall.c: fix '(' peek bug that missed the MARK
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin04-08-30 add pragma pp:pragmaflags PP_PRAGMAFLAGS, pp:system_header
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin04-08-11 ppproto.c: intercept "#(define|undef) extern" for __(EX|IM)PORT__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin04-07-23 probe.win32: generalize #include dir order search
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin04-07-22 ppsearch.c: access() => eaccess()
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin04-05-20 ppproto.c: don't __PROTO__ `int fun __P((int));'
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin04-04-15 probe.win32: sync up with uwin 2003-08-06 master -- oops
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin04-04-01 pp.probe: add stdinclude usrinclude path cleanup
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin04-02-29 ppproto.c: fix bug that skipped prototyped check during notices check
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppproto.c: recognize `Copyright nn'
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin04-02-14 ppproto.c: comment[0]==0 => no notice
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin04-02-11 Makefile: fix %.yacc to handle cross-compile
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin04-01-28 pp.h,pplib.h,ppop.c: add PP_RESET to restore original pp.symtab scope
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin03-12-12 ppcall.c: missing macro actual warned but expanded
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin03-11-12 ppexpr.c: fix premature #if expression token strip
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin03-06-21 ppproto.c: fix T_INVALID ? splice bug that did 0?val => 0?vaL
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin03-06-10 ppargs.c: add -D-d and -D-m
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppargs.c: add gnu options { -dD -dM -imacros -include -lang-* -lint }
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin03-05-19 pplex.c: fix stray SKIPMACRO bug
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin03-05-18 ppcall.c: add SYM_FUNCTION '(' peek to avoid inappropriate ungetchr()
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin03-04-30 pp:mapinclude hosted <std.h>="." will search only hosted dirs
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin pp.probe: add pp:mapinclude probe for namespace incursions
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin03-04-29 ignore()=>ppmapinclude(), add pp:mapinclude
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin03-03-25 ppop.c: PP_RESERVED now deletes old symbol before redef with lex value
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin03-03-14 pp.probe: fix the #include_next probe
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin03-02-28 ppsearch.c: fix -MM bug that missed prefix include hosted mark
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin03-02-18 pplex.c: handle COMPATIBILITY \" and \' in macro actuals
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin03-01-23 probe.win32: mingw32 tweaks
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-12-17 ppargs.c: document -I-!
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-12-06 -I- pp:noprefix otherwise pp:prefix default
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-11-29 probe.win32: added __INTSIZE, drop dm pp:noallmultiple
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-11-26 pp.def: add STDC_HOSTED
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin probe.win32: add C95 and C99 STDC predefined macros
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-10-30 ppfsm.h: add boundary check to IDSTATE()
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-10-18 probe.win32: update for mingw
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-10-15 ppsearch.c: if PLUSPLUS && not found && no suffix then try with .h
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-10-10 pplex.c: fix does not end with `newline' bugs
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-10-01 ppop.c,ppargs.c: -I-I => -I-M with proper docs; -I-I for PP_IGNORE
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-09-21 pp.probe: add pp:nocatliteral test
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-09-10 pp.tab: add pp:passthrough to match -D-P docs
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-08-30 probe.win32: fix for borland cc -E
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-08-22 ppexpr.c: add __SOURCE__ and #match(string,pattern)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-06-25 ppproto.c: fix pragma search bug that stopped after 8 comment lines
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-06-11 ppsearch.c: fix ... next include search to skip *all* intermediates
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-05-28 probe.win32: updates for { mingw }
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppsearch.c: don't use inherited prefix for <...> -- duh
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-05-24 ppcontrol.c: simplify getline() space canonicalization
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin probe.win32: updates for { digital-mars borland lcc }
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-05-20 ppcontrol.c: update to use regsubcomp(),regsubexec()
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-05-09 ppcontrol.c: inhibit `EOF in directive': newline warning will catch it
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin pplex.c: inhibit `newline in character constant' for hosted directives
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-05-06 probe.win32: add more win32 compilers
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-04-15 probe.win32: handle long long unsigned int
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-04-12 ppproto.c: fix NOTICED check
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-03-15 ppproto.c: fix cpp pp:compatibility double line sync memory fault
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-03-11 pplex.c: add pp:modern to emit \a \v instead of octal forms
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-02-14 ppargs.c: fix -D or -U as last arg core dump
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-01-24 pplib.h: use vmalloc(Vmregion) if _std_malloc
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-01-23 probe.win32: add more msvc predefined macro candidates
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-01-14 ppproto.c: #pragma prototyped noticed -- has notice comment
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-01-10 ppproto.c: fix PROTO_FORCE|PROTO_PASS bug that disabled PROTO_FORCE
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin02-01-08 pplex.c: fix HEADEREXPAND|HEADEREXPANDALL logic
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-11-22 pplex.c: add pp:headerexpandall for gcc vs. msvc <...> expand diff
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin pp.probe: add pp:headerexpandall test
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-10-20 pplex.c: fix pp:splicespace inside "..."
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-09-11 ppinput.c: use pathnative() for native fs representation
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-08-31 pp.probe: handle -Dmacro(args)=value
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-08-11 ppcontrol: fix ... and __VAR_ARGS__ for C99
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppsearch: fix SEARCH_NEXT bug that skipped the include stack
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-08-06 ppproto: preserve #! first line for # comments
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-07-17 gentab.sh: fix ksh test to omit pdksh (typeset -u fails)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-06-26 ppproto.c: fix another buffer boundary bug that didn't preserve OTHER
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-06-06 ppsearch.c: list PP_FILEDEPS headers once
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-06-01 pp.h,ppop.c,ppsearch.c: allow multiple PP_FILEDEPS (-M)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-05-24 pp.probe: fix pp:hostedtransition probe: only suncc can __STDC__==1?
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-04-25 pp.probe: split macro probe files for compilers that have #line limits
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-04-19 pp.h,pplex.c,ppproto.c: fix { \a \E \v } EBCDIC translations
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-04-16 pp.tab: add pp:splicespace for mvs jcl decks -- the 60's live on
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-04-13 ppbuiltin: add __FUNCTION__ cache for functions that span the buffer
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-03-08 pp.tab,ppbuiltin,ppcontrol,probe: add pp:hostedtransition
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-02-22 pp.tab,ppfsm,pplex,pp.probe,probe.win32: add pp:zeof for ^Z => EOF
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-02-14 ppcall.c: fix macro(tuple*) bug that truncated macro arg expand buffer
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin pplex.c: fix # inside pp:pragmaexpand
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin gentab.sh: change ksh test for openbsd /bin/sh
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppproto.c: fix buffer boundary bug that lost call nesting
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppproto.c: add realloc prototype and memcpy=>memcopy strcpy=>strcopy
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-02-09 ppsearch.c: fix another pp.include null dereference
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-02-07 ppcall.c: fix stack inequality checks
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppcall.c: handle trailing \ in macro args
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-02-06 fix readonly buffer write (cpp test 07:2873)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-02-04 fix -M* to properly handle .cxx .cpp .C input
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix IN_BUFFER pop bug that did not reset the token pointer
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin01-01-01 pp:headerexpand: space ok if not IN_MACRO
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppcall: hide if IN_FILE|IN_MACRO|IN_EXPAND
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin pplex: don't complain about ^L or ^Z as last char in file
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppsearch: fix #include <.../foo.h> loop
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppcontrol: manulally increment IN_RESCAN error_info.line
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin00-12-25 add EXPOSE to expose hidden macros (for #import ...)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin probe.win32: add cc path *and* args to first line to avoid hash clash
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin pp.probe: filter out invalid symbols for predefined macro scan, duh
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin pp:headerexpand: limit expansion to IN_MACRO
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin00-10-31 __STDC__==0 if HOSTED && _UWIN
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin00-10-26 pplib.h: change SEEK_SET to O_RDONLY for aix
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin00-10-17 pp.probe: __IMPORT__ => __STDPP__IMPORT__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin00-09-18 add __FUNCTION__=#(FUNCTION), #define <a b> c
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin pp.probe: add probe_longlong
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin probe.win32: add #define <long long>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin00-09-11 add pp:noproto (NOPROTO pp.option) to disable ppproto()
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin00-09-01 ppproto: fix buffer slide bug
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin00-08-11 pplb.h: check for <unistd.h> already included for PROTOMAIN
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin pragma: add pp:pragmaexpand to expand pragma args
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppcontrol: always disable pp:* pragma expansion
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppcall: fix pp:hide buffer clash
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin00-06-01 pplex: fix "\\U" and "\\u"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin00-05-22 ppsearch: fix uwin #include <C:/foo/bar.h>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin00-05-16 probe.win32: update reserved word list
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin00-05-09 ppcontrol: fix C++ macro >+> invalid fuse
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppcontrol: 'macro' expansion only for COMPATIBILITY | TRANSITION
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin c9x: up to date with proposed standard
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin00-04-01 pp.tab: add allpossible and ALLPOSSIBLE
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppmacref: fix ref inside literal catenation
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin00-02-14 pppopen(): general comments with "bme" (begin middle end) string
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin00-01-11 pp.probe: hosttype now in C.probe
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin99-11-19 is[a-z]*( => ppis[a-z]*(
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppproto: "..." [A-Z_]+ "..." ignores [A-Z_]+ if PROTOMAIN
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin99-11-11 ppproto: use astlicense()
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin99-10-31 ppproto: add PROTO_SHARP, update license parse
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin pplex: fix some MARK bugs seen by #define X "A B <C@D>"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin99-10-01 add pp:stringsplit for "...\\n..." => "..."\n"..."
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add pp:lineid to match PP_LINEID
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin99-07-17 ppbuiltin: fix getline() canon spacing for numbers
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppsearch: fix FILEDEPS not found \\n print
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin pplex: fix spurious FILEDEPS '.' empty character constant message
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppargs: fix usage error call and error_info.id default value
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppproto: fix up copyright notice for ksh93 style .author file
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppproto: check if notice text if file path
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin99-06-02 ppproto: add __MANGLE_package_DATA__ & __MANGLE_package_FUNC__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin99-05-26 ppcontrol: all pragmas but prototyped need pp:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin99-05-25 ppargs: long options
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin99-05-22 ppproto: changes for full ast vs. PROTO_STANDALONE
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin99-05-09 ppinput: add #pragma pp:native and (pp.option&NATIVE) for native paths
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin99-04-22 ppproto: finish type=open notice
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin99-02-11 #define __STDC__ #(STDC); demote __STDC__ to 0 for HOSTED (thanks sun)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin99-02-04 pplex: joined strings separated by \\\n
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin99-01-11 probe.win32: add _UWIN predef
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin98-10-20 pplex: a few more (HOSTED|RELAX) checks
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin -D:preserve throws a bunch of stuff -- great for imake (yuk)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin98-05-11 pplex: fix "..." \n off by one line count
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin98-02-14 ppcontrol: fix HEADEREXPAND missing NUL
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin98-01-23 ppproto: add _GNUC_ to _WIN32 check
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppfsm: don't optimize for hp.pa
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin97-11-11 ppcontrol: fix recursive use of pp.hdrbuf for HEADEREXPAND
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin97-10-31 ppmacref,pp.h: add ppmacref sum arg -- some parts assumed it!
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin97-10-01 pplex: loosen HEADEREXPAND check
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin97-08-11 pplex: fix COMPILE pplex() bug that did not reset NEWLINE for S_MACRO
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin pplex: PP_PRESERVE does not pp.pragma <token> ... # <pragma-stuff>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin pp.def: add UWIN
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppcall: fix macro actual arg error checks
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin97-07-17 ppproto.c: C++ __INLINE__ prefixed with extern __MANGLE__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppop.c: fix PP_RESERVED T_* lookup
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin97-05-09 pp.def: add MVS :architecture:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppfsm.c: change C_* pseudo codes to not clash with ebcdic
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin pp.probe: fix stdc.$src sed script
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin97-04-01 ppcontrol.c: fix tokop() for PP_RESERVED
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin96-12-25 add ms #@ charize to complement # stringize
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin pp.probe now detects preincludes
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppproto: allow #ifdef'd function definions before {
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppproto: NoN() is not a function
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin pp.key,ppkey.h: add int64
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppargs.c: fix -M{DGM}*
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin96-12-06 add pp:headerexpand for ms that expands macros in expanded <...>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin96-10-31 a few more line sync tweaks for EDG C++
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin96-10-11 fix pp:macref off by one for standalone pp (big suprise)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin96-10-01 -D:macref -D-L -> #line (n-2)\n#pragma pp:macref ...
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin96-08-11 fix transition macro expansion
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin compatibility \" or \' does not start quote
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin96-02-29 use <hashkey.h>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin drop ungetchr() in ppcall that modified macro values
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin tighten the DEBUG PANIC case in ppcontrol.c
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin unify #architecture() and #machine() probe
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add POSIX,WIN32,X86 to pp.sym
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin tweak pp.probe
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin96-02-14 pp:noallmultiple works on hosted files too
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix #define /* EOF loop
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin96-01-31 fix ## as arg to stringize macro to have ## value, not #
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add nonstopux and SYSTYPE_SVR4 to pp.def
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin96-01-01 AT&T Research now
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix catliteral line sync line number bug
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppproto() converts non-directive <num>u to (unsigned)<num>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin switch to <regex.h>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin95-10-31 fix PP_COMPILE PP_TRANSITION bug that didn't allow space before #
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix PP_TRANSITION \newline in definition complaint
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin95-10-11 fix ppproto() PROTO_PLUSPLUS bug
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin change ignored pp.incref PP_SYNC_POP to PP_SYNC_IGNORE
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add PP_PEDANTIC to handle gnu oversights (can't beat em ...)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add memfatal() call
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin relax newline in quote semantics
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin proto inline -> __INLINE__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix __INLINE__ proto def for __GCC__>=2
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin95-08-11 pp:preserve for easel (aka IFS) and imake
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix pp:reguard ## macro output
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix MARK PANIC with CATLITERAL
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin PP_INPUT *.(s|S|as|AS|asm|ASM) implies pp:nocatliteral pp:spaceout
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ppargs() can't use isid() until after FSM_INIT
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin -D#... for assert, -D%... for directives
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin __STRICT_ANSI__ && __GNUC__ requires -pedantic for PP_STRICT
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin #include <.../x> for include_next
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin95-05-09 fix tokop() bug that concatenated adjacent strings
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin don't concatenate directive string literals in proto
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin split pp.mode into pp.mode and pp.option
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin restrict pp.probe hostinfo output to the first token
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix EOB/EOF pplex() nonterminating loop
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin unused var cleanup
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add pp:reguard to emit #define and #undef (for C++ templates)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add a few ppproto '\r's for NT
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix T_BUILTIN ppsymbol -> ppsymkey pun
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix pp:stringspan `#define x "' hang
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin95-04-01 fix pp:hide for macros defined before the hide
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix pp:map getline space canonicalization
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix proto `<digits>[uU]'
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin proto does // comments by default (fixes bug introduced 07/17/94)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin proto does "..." "..." string literal concatenation
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin spice up proto copyright comments for nonexclusive license
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add hosttype assertion
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix proto `typedef type fun(args)'
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin proto copyright finishing touches
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix overzealous "empty character constant" message
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin95-02-14 pp:nopredefined probe info defines are now pp:builtin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin clean up pp:hosted conflicts
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin tighten up unknown directive warning
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin PP_INPUT *.(s|as|AS|asm|ASM) implies pp:nocatliteral pp:spaceout
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin change newof(0,char,n,0) to newof(0,char,0,n) if 0 init not needed
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin don't emit unkown directives inside #if 0 ... #endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin95-01-19 *strict-* does not force STRICT
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin token##null-last-variadic-arg consumes token (to match gcc)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin variadic actuals call be one less than arity (to match gcc)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix PLUSPLUS digraph bug that lost comment state
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin tighten up PLUSPLUS //, /*, */ interaction warnings
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin macro formals in "..." for COMPATIBILITY|TRANSITION
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin macro formals in '...' for COMPATIBILITY|TRANSITION|!STRICT
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin STRINGSPAN allows '\n' in '... too
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add PP_SYNC_* flags for pp.incref arg 3
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add PP_SYNC_INSERT for invented file references
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix C++ fsm bug that popped out of comment in // /* */ ...
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin PP_INPUT *.(s|S|asm|ASM) implies pp:nocatliteral pp:spaceout
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin95-01-01 avoid string literal concatenation in pp.probe #if #predicate() tests
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix pplib.h memcpy,strncmp PROTOMAIN prototypes (its a nop tho)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin94-11-11 fix readonly memory reference in refill
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add C++ digraphs (digraph = --trigraph)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add C++ T_EXPLICIT -- did dos take over C++?
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix improper ppproto() C++ __PARAM__ expansion
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin94-11-01 allow #include string header arg concatenation (yes, its not ansi)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin #macdef macros are recursive
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin94-10-01 fix C++ } loop in ppfsm/refill
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin T_NOISES consumes symbol and optional paren group
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin __builtin_* T_NOISES by default
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix "..." "...MARK..." join
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix STANDALONE */*comment*/
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin94-09-11 fix pp.probe cp+strip with chmod u+w
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin94-08-11 add -I<vdb-archive> to handle pax -x ppar header archives
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix -D-Q header checkpoints
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add `pp:chop prefix' to chop prefix/ from include prefix/*/*
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add pp:keyargs for key=value macro formals/actuals (not for C!)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin94-06-01 fix ppcontrol/tokop() that botched pp:id, etc.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add pp:plussplice to handle cfront // \<newline> ignorance
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin inhibit trigraph conversion for pp:compatibility, duh
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin new C++ keywords enabled by pp:keyword
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin proto: int fun xxx((yyy)) is macro call, not decl
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix !ALLMULTIPLE pp:load to SKIP between duplicated line syncs
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix PP_DUMP for pp:noallmultiple, optimize pp:load format
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix CPP CACHEOUTX() buffer boundary bug
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin94-04-01 drop warnings for -X*
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix ppproto() %% in comment bug for yacc proto
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin PP_COMMENT now truncates comments to MAXTOKEN-4
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin94-03-01 no pp:truncate for #pragma pp:macref
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin94-01-01 fix STANDALONE+PP_TRUNCATE fsm macro bug
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin drop __VOID__ from ppproto.c
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin93-12-01 release
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin93-11-11 fix PP_COMPILE+PP_TRUNCATE=8 bug for continue,unsigned,etc.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add PP_LINEBASE for compilers that botch long line sync paths
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix #if unsigned promotions
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin aggressive interactive line splice flush
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix #else inside multiline null dereference
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix "..." newline space # COMPATIBILITY CATLITERAL bug
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix m(a)b compatibility token pasting [cpp/test/ess.01.c]
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix nested @X mark bug [cpp/test/net.02.c]
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin93-10-11 add FSM_COMPATIBILITY for floating point hex -- yo ansi, anybody home
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add #else if|ifdef|ifndef for COMPATIBILITY but with warning
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin drop PP_HOSTED, add ppop(PP_CDIR|PP_HOSTED,"-",n), -D-I for pp:cdir
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin93-10-01 add pp:opspace to tokenize <binop><space>= to <binop>=
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin93-08-11 drop ancient BCD constant (`...`) detection -- wake up cfront
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix PP_TRUNCATE macro fsm bug that missed some expansions
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix stringize bug that choked if space preceded #
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix <function-like-macro> <identifier> bug that omitted space
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin93-07-17 minor transition mode fix for string concatenation
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix standalone macdef line sync buffer bug
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin pp:noline turns off linesync, pp:line restores it
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin93-06-22 add pp:prefix to control prefix include compatibility
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin93-04-01 use probe_verbose in predefined symbol probe
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin93-03-11 close fd after last file block read -- relaxes open fd limit
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin remove pp.control nesting limit
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add `#rename old new'
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin __STDC__ not defined for plusplus (until they figure it out)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin93-01-22 fix ansi macro args recursion bug
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin93-01-11 fix '\377'<0 for signed char compilers
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add RELAX for __STDPP__directive directives
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin92-12-25 fix #include guard test that omitted IN_tokens for CPP=1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin92-12-11 fix pp:truncate for STANDALONE and COMPILE
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix pp:allmultiple again!
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin92-11-30 add pp:final, pp:initial
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add __STDPP__directive and #(directive) as ??= alternative
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin relax obsolete macro expand warning for _xxx||xxx
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin retain quoted \newline when PP_LINEID != ""
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix CATLITERAL hidden newline line sync
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin92-11-11 fix COMPATIBILITY EOF in macro arg list and # in macro body
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix [?\] on 4K buffer boundary bug that lost next refill()
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix ppproto bug that botched -ih comments
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin92-10-31 fix standalone -C bug that duplicated output buffer
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add pp:stringspan to handle gnu "<newline>" extension
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin92-10-12 fix T_X_GROUP asm bug
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin allow `#define a "b' pp:compatibility hack
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin92-08-11 add PP_PLUSCOMMENT, pp:pluscomment probe
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add #(default v,d) #(empty v) #(iterate m,...)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin compatibility allows #define f(a,,b) for 2 args!
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin probe now handles gcc -E -g3 to get gnu predefines
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin92-07-17 fix pp:multiple again, fix ppproto() out of bounds
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin PP_STANDARD is always PP_CDIR and PP_HOSTED
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin92-07-11 add #import and #include_next probes
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin92-06-11 fix bug where comments dissappeared after disabled macro in standalone
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin COMPATIBILITY macro recursion bug fix may cause some to be missed
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin PP_MACREF or -D-L- ignores #line until #line with file arg
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin92-06-01 add pp:ignore
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix probe of stdpp to handle -I[-+][CH]
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin92-05-11 add pp:hide <id>, pp:note <id>, noticed(<id>), exists(<...>)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add defined(__STDPP__<pragma>) feature test
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add PP_CDIR, pp:cdir for C++ extern "C" { ... } include wrapping
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin pp.probe now handles predefines with values other than 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin92-04-11 add inverse proto (K&R -> prototype) to ppproto
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin92-04-01 release
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin92-02-29 #include <...> inside <xxx.h> gets next xxx.h on -I list
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin non-libpp generated symbols containing ' ' are not truncated
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin92-02-11 conversion to new lexer brings time close to reiser (esp. w/gcc -O)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin combine standalone (ppcpp) tokenizing (pplex) and proto lex tables
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin recode ppproto for standalone operation via PROTOMAIN
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add PP_NOHASH for PP_COMPILE front ends that rehash T_ID anyway
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin delete PP_NOQUOTE
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin delete #option(strict) test in probe in favor of non-hosted warnings
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add unsigned to ppexpr()
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin91-10-11 add pp:truncate <len> for non-flexname compilers
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin91-09-11 fix ppproto aggression on f(*y); -> f __PROTO__((*y));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin91-08-11 switch seterror() to error_info.*
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add pp:linefile to force file name in line sync
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add pp:spaceout for probed compilers that don't allow pp override
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin91-06-11 fix ignored -I/usr/include bug
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin91-04-11 set SYM_INIT in pp.macref for -U on cmd line
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin91-01-31 replace pp:pragma and pp:directive with pp:map
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin replace #assert and #unassert with #define #... and #undef #...
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin #assert and #unassert compatibility retained via pp:map
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin replace -D#directive with -D%directive (because of #assert change)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add pp:splicecat for \<newline> #define token paste
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix \<newline> bug that added space in COMPATIBILITY quoted strings
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin90-12-11 fix #pragma pp:multiple
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin90-11-11 generalize handling of non-standard keywords for COMPILE
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin replace pp:identifier/PP_IDENTIFIER with pp:reserved/PP_RESERVED
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin pp*keys* -> ppkey
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add PP_NOISE
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin (gag) handle msdos paths by changing \ to / and retrying on failure
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin (gag) handle msdos :> operator by pplex() '+' return
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add #pragma prototyped and ppproto.c for prototype conversion
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add unsigned long arg to PP_MACREF for hashed macro arity+value
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin90-10-11 0f is not a float constant
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin change -I-M to -I-I, file just lists include files to be ignored
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix ppprobe for __STDC__==0 hybrids
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add pp.flags and PP_[a-z0-9]+ for exported state info
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin90-10-01 fix standalone ppmacref for directives
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add `try' to C++ keywords
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fine tune a few COMPILE error messages
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin privatize pp.h
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin90-08-11 use opt_again in cmdargs() option parsers
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin (gag) add pp:macref macro reference pragma to handle CC preprocessors
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin (gag) add pp:spaceout to handle ansi + asm hacks
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin90-07-17 remove spaces from macdef line sync (blew sun cc)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin90-06-11 add internal ppsymkey to avoid ppsymbol.value pun for SYM_KEYWORD
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin90-05-01 fix catliteral bug of `"..." << ' -> `"..." <='
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin90-04-01 fix `ifndef-define-endif' include wrapper test
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin90-03-27 add setpreroot() to ppop() [ sleazy but well hidden ]
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin90-03-22 pp.macref called for all undef's
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin90-03-20 add <prefix>cpp checks to ppprobe
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add pp:hostdir before pp:include in ppprobe
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix PP_HOSTDIR op with no dir arg
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin90-03-15 System V CCS compatibility update
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add PP_ASSERT
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add -A for PP_ASSERT and -YI,dir for PP_STANDARD
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add ppincref.c and -H to use it
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin -Xa defines __STDC__ to 0 (gak)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin90-03-09 duplicate macro formals cause level 2 error
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin90-03-01 add #(ARGC) for (variadic) macro arg count
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin90-02-11 fix line sync number bug in pppush()
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin89-12-01 ignore leading = in pragma map for old pragma compatibility
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin check for NEWLINE on first macdef line sync
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin89-11-11 add -1 arg to pp.incref -- include skipped
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin STRICT 0x7e-macro is T_INVALID per standard
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin89-10-31 put all C keys in ppckeys.c, C++ keys in pppkeys.c
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add pp:identifier pragma to selectively undo PP_COMPILE keywords
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add tokop() to ppcontrol to support multi-valued pragmas
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin add #ifndef...#endif include optimization for STRICT
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin89-10-27 use REF_NORMAL, REF_IF, REF_UNDEF for pp.macref arg2
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin89-10-17 fix c(x)y compatibility pasting bug
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin #line 1 "f" now marks "f" included
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin89-10-11 enable -I. during initialization
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin89-10-01 inhibit pp:linetype syncs for top level #line directives
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ----- see HISTORY -----