Blame ChangeLog.old

Packit b40e2e
ChangeLog.old of MCPP and its accompanying Validation Suite
Packit b40e2e
Packit b40e2e
2005/03/19  kmatsui
Packit b40e2e
        * V.2.5
Packit b40e2e
        * Absorbed POST_STANDARD mode into STANDARD as an execution time
Packit b40e2e
        option, absorbed OLD_PREPROCESSOR mode as an execution time
Packit b40e2e
        option of PRE_STANDARD.  (all the sources)
Packit b40e2e
        * Changed the evaluation of #if expression in PRE_STANDARD mode
Packit b40e2e
        to use only (signed) long, not to use unsigned long.  (eval.c)
Packit b40e2e
        * Revised the Standard mode macro expansion routine using GCC 3.
Packit b40e2e
        2 testsuite and Wave 1.0 testcases.  Revised "blue painting" of
Packit b40e2e
        the same name macro.  Revised debugging information.  Revised
Packit b40e2e
        handling of token separator in STANDARD mode.  Split
Packit b40e2e
        is_macro_call() from is_macro().  (expand.c)
Packit b40e2e
        * Revised the old-preprocessor mode to follow "Reiser cpp model".
Packit b40e2e
        (expand.c)
Packit b40e2e
        * Removed FOLD_CASE settings.  (system.c)
Packit b40e2e
        * Renamed most of #pragma __* directives as #pragma MCPP *.
Packit b40e2e
        (system.c)
Packit b40e2e
        * Added porting to GCC V.3.3 and 3.4.  Changed some options
Packit b40e2e
        accordingly (changed -c to -@compat, changed -m to -e, removed
Packit b40e2e
        -E, added -finput-charset=).  Created init_gcc_macro(),
Packit b40e2e
        undef_gcc_macro().  (system.c)
Packit b40e2e
        * Sorted usage() message lines alphabetically.
Packit b40e2e
        * Removed documents on older preprocessors (DJGPP, compiler
Packit b40e2e
        systems on MS-DOS except Borland C).
Packit b40e2e
        * Revised judgment of GCC version and include directories.
Packit b40e2e
        (configure.ac).
Packit b40e2e
        * Provided man page.
Packit b40e2e
        * Renamed the documents.
Packit b40e2e
        * Validation Suite: Moved tests of multi-byte character encoding
Packit b40e2e
        to quality matters.
Packit b40e2e
        * Validation Suite: Changed points allocation of the test items.
Packit b40e2e
        * Validation Suite: Added a few testcases for macro expansion.
Packit b40e2e
        * Updated Japanese and English documents.
Packit b40e2e
Packit b40e2e
2004/03/20  kmatsui
Packit b40e2e
        * V.2.4.1
Packit b40e2e
        * Revised recursive macro expansion.  (expand.c)
Packit b40e2e
        * Added -c option (compatible mode to GCC expansion of recursive
Packit b40e2e
        macro).  (expand.c, system.c)
Packit b40e2e
        * Revised some testcases in cpp-test/test-t directory.
Packit b40e2e
Packit b40e2e
2004/02/25  kmatsui
Packit b40e2e
        * V.2.4 release.
Packit b40e2e
        * Implemented handling of multi-byte character encodings other
Packit b40e2e
        than 2-byte encodings.  Made various encodings available
Packit b40e2e
        simultaneously.  Added #pragma __setlocale.  Added -m <encoding>
Packit b40e2e
        option.  Enabled environment variable LC_ALL, LC_CTYPE and LANG
Packit b40e2e
        to specify the encoding.  (all the sources)
Packit b40e2e
        * Created mbchar.c.  Moved type[] from system.c.  Created type_*
Packit b40e2e
        [] tables for various encodings of multi-byte character.
Packit b40e2e
        Created encoding_name[][] table.  Created mb_init(),
Packit b40e2e
        mb_read_2byte(), mb_read_iso2022_jp(), mb_read_utf8(), mb_eval(),
Packit b40e2e
        set_encoding(), search_encoding() and strip_bar().  (mbchar.c)
Packit b40e2e
        * Added porting to Plan 9 / pcc.  (noconfig.H, system.c)
Packit b40e2e
        * Validation Suite: Added tests of various multi-byte character
Packit b40e2e
        encodings.
Packit b40e2e
        * Updated Japanese documents.
Packit b40e2e
        * Updated English documents which were translated by Highwell,
Packit b40e2e
        inc. ltd. from the Japanese documents.
Packit b40e2e
        * Renamed the documents.
Packit b40e2e
Packit b40e2e
2003/11/28  kmatsui
Packit b40e2e
        * V.2.4 prerelease.
Packit b40e2e
        * Named this proprocessor as MCPP (This is not necessarily the
Packit b40e2e
        name of its executable).
Packit b40e2e
        * Changed predefined macro __decus_cpp as __MCPP.
Packit b40e2e
        * Created configure script to make mcpp executable automatically.
Packit b40e2e
        Accordingly, reorganized system.H, created configed.H and
Packit b40e2e
        noconfig.H, and changed some macro names.
Packit b40e2e
        * Diagnostics on macro expansion or macro redefinition were made
Packit b40e2e
        to show the original macro definition and its location.
Packit b40e2e
        * Changed DEFBUF and FILEINFO structure, reorganized some
Packit b40e2e
        functions and variables.  Created set_fname() in system.c.
Packit b40e2e
        (other than system.H, eval.c lib.c)
Packit b40e2e
        * Created look_and_install().  (control.c)
Packit b40e2e
        * Removed CON_NOEXPAND and CON_EXPAND modes.  Renamed CON_FALSE
Packit b40e2e
        mode as PRE_STANDARD.  (all the sources)
Packit b40e2e
        * Removed append_string(), catenate() and conv_st_quote().
Packit b40e2e
        (expand.c)
Packit b40e2e
        * Added #pragma __push_macro, #pragma __pop_macro, #pragma
Packit b40e2e
        __preprocess, #pragma __preprocessed.  Created push_or_pop() and
Packit b40e2e
        do_preprocess(), revised do_pragma() accordingly.  (system.c)
Packit b40e2e
        * Implemented -MF, -MT, -MP, -MQ options for GCC-3-compatibility.
Packit b40e2e
        Created md_init() and md_quote().  (system.c)
Packit b40e2e
        * Added porting to Visual C++ .net.  (system.H, system.c)
Packit b40e2e
        * Removed the oldest settings on VMS, DEC C and OS-9/09.  And
Packit b40e2e
        removed accordingly vmsparse(), reopen_stdout(), set_stdin(),
Packit b40e2e
        get_redirection(), put_start_file(), put_fname() and put_source().
Packit b40e2e
        (system.H, system.c)
Packit b40e2e
        * Added strstr() and strcspn().  (lib.c)
Packit b40e2e
        * Moved open_file() and add_file() from main.c to system.c.
Packit b40e2e
        Moved sharp() from system.c to main.c.
Packit b40e2e
        * Updated test-reports on LCC-Win32 and ucpp.
Packit b40e2e
        * Updated the Japanese documents. (The English documents are not
Packit b40e2e
        yet updated.)
Packit b40e2e
Packit b40e2e
2003/03/29  kmatsui
Packit b40e2e
        * V.2.3 patch 1.
Packit b40e2e
        * Debugged the modes other than STANDARD.  (system.c)
Packit b40e2e
Packit b40e2e
2003/02/28  kmatsui
Packit b40e2e
        * V.2.3 release.
Packit b40e2e
        * Implemented identifier-like operators in C++98.  Created
Packit b40e2e
        chk_ops() in eval.c and id_operator() in support.c.  (eval.c,
Packit b40e2e
        control.c, support.c)
Packit b40e2e
        * Reinforced checking of __VA_ARGS__.  (control.c)
Packit b40e2e
        * Enabled interspersed options between filename arguments.
Packit b40e2e
        (system.c)
Packit b40e2e
        * Renamed #pragma __debug and #pragma __warning to #pragma
Packit b40e2e
        __debug_cpp and #pragma __warning_cpp.  (system.c)
Packit b40e2e
        * Created the edition of Validation Suite for GCC / testsuite.
Packit b40e2e
        * -j option (GCC-compatible diagnostic format) added for testsuite.
Packit b40e2e
        * Created the document named mcpp-summary.pdf.
Packit b40e2e
        * Updated documents.
Packit b40e2e
        * Released English version of documents which were translated by
Packit b40e2e
        Highwell, inc. ltd. from the Japanese documents and revised by
Packit b40e2e
        kmatsui.
Packit b40e2e
Packit b40e2e
2002/12/16  kmatsui
Packit b40e2e
        * V.2.3 prerelease 2.
Packit b40e2e
        * Port to GCC 3.2.  (system.H, system.c)
Packit b40e2e
        * Fixed the bug of #include_next.  (system.c)
Packit b40e2e
        * GCC-compatible options (-I-, -std=*) added.  (system.c)
Packit b40e2e
        * Created norm_path() to normalize include directories.  (system.
Packit b40e2e
        c)
Packit b40e2e
        * Fixed the bug of rescan() which warns an innocent macro call.
Packit b40e2e
        (expand.c)
Packit b40e2e
        * Updated documents.  Renamed the documents.
Packit b40e2e
Packit b40e2e
2002/08/26  kmatsui
Packit b40e2e
        * V.2.3 prerelease 1.
Packit b40e2e
        * Updated according to C99 (ISO/IEC 9899:1999).
Packit b40e2e
        * Added compatibility mode of C++ to C99.  (eval.c, expand.c,
Packit b40e2e
        system.c)
Packit b40e2e
        * Increased the class of warnings from four (OR of 1, 2, 4, 8)
Packit b40e2e
        to five (OR of 1, 2, 4, 8, 16).  Changed some errors to warnings.
Packit b40e2e
        * Fixed the bug of 0-parameter function-like macro.  Modified re-
Packit b40e2e
        examination of macro of the same name.  (expand.c)
Packit b40e2e
        * Fixed the bug of handling digraphs.  Implemented UCN in pp-
Packit b40e2e
        number and string-literal.  (support.c)
Packit b40e2e
        * Fixed the bugs of parse_env() and bsl2sl().  (system.c)
Packit b40e2e
        * Implemented many GCC-compatible options.  Added -dM, -dD,
Packit b40e2e
        -include and -isystem option for GCC.  Added -a (-lang-asm, -x
Packit b40e2e
        assembler-with-cpp) option.  Extended -D option to enable
Packit b40e2e
        function-like macro definition.  Changed specification of -S
Packit b40e2e
        option and added -V, -h option.  (system.c)
Packit b40e2e
        * Implemented #include_next and #warning for GCC.  Implemented
Packit b40e2e
        also #pragma __include_next and #pragma __warning_cpp.  (system.
Packit b40e2e
        c)
Packit b40e2e
        * Created conv_case(), chk_env() and at_end().  Split set_limit(),
Packit b40e2e
        set_pragma_op(), def_a_macro() from dooptions().  Split
Packit b40e2e
        search_dir() from openinclude().  Removed is_id().  (system.c)
Packit b40e2e
        * Port to Linux / GCC 2.95.3, LCC-Win32, Borland C 5.5.  (system.
Packit b40e2e
        H, control.c, system.c)
Packit b40e2e
        * Renamed functions and some variables using underscore to
Packit b40e2e
        separate the two words.  (internal.H, all the *.c files)
Packit b40e2e
        * Updated the Validation Suite.
Packit b40e2e
        * Updated the documents.
Packit b40e2e
        * Renamed the directories and the documents by NIIBE Yutaka.
Packit b40e2e
        * Registered to CVS repository at m17n.org by NIIBE Yutaka
Packit b40e2e
        <gniibe@fsij.org>.
Packit b40e2e
Packit b40e2e
1998/11     kmatsui
Packit b40e2e
        * V.2.2
Packit b40e2e
        * Updated according to C++98 (ISO/IEC 14882:1998)
Packit b40e2e
        * Changed to evaluate "true" as 1 and "false" as 0 on C++,
Packit b40e2e
        according to C++ Standard.  (eval.c)
Packit b40e2e
        * Updated UCN constraint on C++ according to C++ Standard.
Packit b40e2e
        (support.c)
Packit b40e2e
        * Fixed the bug of interaction of predefined non-standard macro
Packit b40e2e
        with -D option.  (main.c, control.c, expand.c, system.c)
Packit b40e2e
        * Created undef_a_predef().  (main.c)
Packit b40e2e
        * Removed alloc_mem().  (system.c)
Packit b40e2e
Packit b40e2e
1998/09     kmatsui
Packit b40e2e
        * V.2.1
Packit b40e2e
        * Updated C99 features according to 1998/08 draft (including UCN,
Packit b40e2e
        optional multi-byte-character in identifier, type of #if
Packit b40e2e
        expression in integer of maximum size and concatenation of wide-
Packit b40e2e
        character-string-literal and character-string-literal).  (main.c,
Packit b40e2e
        eval.c, support.c)
Packit b40e2e
Packit b40e2e
1998/08     kmatsui (Kiyoshi Matsui <kmatsui@t3.rim.or.jp>)
Packit b40e2e
        * V.2.0
Packit b40e2e
        * First release of MCPP (DECUS cpp V.2) at nifty-serve and
Packit b40e2e
        vector/software-pack.
Packit b40e2e
        * Re-written according to ISO 9899:1990 and it's Amendment 1,
Packit b40e2e
        Corrigendum 1, 2.
Packit b40e2e
        * Implemented translation phases precisely.  (support.c)
Packit b40e2e
        * Revised tokenization according to the Standard and Amendment1.
Packit b40e2e
        (support.c & others)
Packit b40e2e
        * Implemented the pre-defined macros __STDC__, __STDC_VERSION__,
Packit b40e2e
        __TIME__, and revised __DATE__.  Made these standard macros
Packit b40e2e
        cannot be undefined nor redefined.  (main.c)
Packit b40e2e
        * Implemented _Pragma() operator.  (main.c & others)
Packit b40e2e
        * Revised some non-standard pre-defined macros.  (main.c)
Packit b40e2e
        * Implemented #error directive.  The error message is output to
Packit b40e2e
        the stderr.  (control.c)
Packit b40e2e
        * Implemented #pragma __once directive, -i option and -M* option,
Packit b40e2e
        imported from GCC.  (control.c & others)
Packit b40e2e
        * Implemented #pragma __put_defines, #pragma __debug directives
Packit b40e2e
        and the old style directives corresponding to them.  (system.c &
Packit b40e2e
        others)
Packit b40e2e
        * Made #pragma lines to be output with warning to the stderr for
Packit b40e2e
        the compiler which can't recognize the directive.  (system.c)
Packit b40e2e
        * Made #line argument to be subject to macro expansion.
Packit b40e2e
        (control.c, support.c)
Packit b40e2e
        * Reinforced the test of #define syntax.  (control.c)
Packit b40e2e
        * Created Standard conforming mode of macro-expansion (including
Packit b40e2e
        the processing of #, ## operators).  (expand.c)
Packit b40e2e
        * Created "post-Standard" mode of preprocessing, which is a
Packit b40e2e
        simplified version of Standard mode.  (all the sources)
Packit b40e2e
        * Simplified CON_FALSE mode corresponding to K&R 1st.
Packit b40e2e
        specifications.  CON_NOEXPAND, CON_EXPAND modes of the original
Packit b40e2e
        version are retained (after revising).  (main.c, control.c eval.
Packit b40e2e
        c, expand.c)
Packit b40e2e
        * Revised # operator so as to inserts \ before \ or " in
Packit b40e2e
        stringized arguments (except in MBCHAR) in Standard mode.
Packit b40e2e
        (expand.c)
Packit b40e2e
        * Changed the type of #if expression from int to long / unsigned
Packit b40e2e
        long.  Reinforced expression evaluation.  (eval.c)
Packit b40e2e
        * Implemented wide character constant, multi-character character
Packit b40e2e
        constant, and revised multi-byte character constant in #if
Packit b40e2e
        expression.  (eval.c)
Packit b40e2e
        * Revised the handling of MBCHAR in string literal and character
Packit b40e2e
        constant.  (support.c, expand.c, eval.c, main.c)
Packit b40e2e
        * Supplemented the optional phase for the pre-Standard compiler-
Packit b40e2e
        proper to concatenate adjacent string literals, convert '\a' and
Packit b40e2e
        '\v' to octals, convert digraphs.  (main.c)
Packit b40e2e
        * Implemented the features of C99-1997/11 draft except Unicode-
Packit b40e2e
        related features (_Pragma operator, variable arguments of macro,
Packit b40e2e
        // comments, long long of #if expression, p+ of pp-number) (all
Packit b40e2e
        the sources)
Packit b40e2e
        * Supplemented the C++ preprocessor option.  (support.c, system.
Packit b40e2e
        c)
Packit b40e2e
        * Refined error checks and diagnostic messages.  (all the
Packit b40e2e
        sources)
Packit b40e2e
        * Implemented -M* option.  (main.c, system.c)
Packit b40e2e
        * Updated MS-DOS memory model option.  (system.c)
Packit b40e2e
        * Revised command line options.  (system.c)
Packit b40e2e
        * Made the source files compilable by C++ as well as C.  (all
Packit b40e2e
        the sources)
Packit b40e2e
        * Re-organized and re-written the source files to be portable to
Packit b40e2e
        many systems.  (all the sources)
Packit b40e2e
        *
Packit b40e2e
        * main.c:
Packit b40e2e
        * Renamed cpp1.c main.c.
Packit b40e2e
        * Created do_pragma_op(), de_stringize(), devide_line(), putout(),
Packit b40e2e
        putline(), post_preproc(), conv_esc(), conv2oct(), is_last_esc(),
Packit b40e2e
        esc_mbchar(), conv_a_digraph().
Packit b40e2e
        * Removed output().
Packit b40e2e
        * Moved sharp() from cpp1.c to system.c, addfile(), openfile(),
Packit b40e2e
        initdefines(), unpredefine() from cpp3.c to main.c,
Packit b40e2e
        * Revised most of the functions and variables.
Packit b40e2e
        *
Packit b40e2e
        * control.c:
Packit b40e2e
        * Renamed cpp2.c control.c.
Packit b40e2e
        * Moved dodefine(), is_formal(), mtokensave(), stparmscan(),
Packit b40e2e
        doundef() from cpp4.c to control.c.
Packit b40e2e
        * Moved lookid(), defendel(), dump_a_def() from cpp6.c to
Packit b40e2e
        control.c.
Packit b40e2e
        * Moved doinclude(), openinclude(), vmsparse() from cpp2.c to
Packit b40e2e
        system.c.
Packit b40e2e
        * Split doline() from control().
Packit b40e2e
        * Split getparm(), getrepl(), def_stringization() from dodefine().
Packit b40e2e
        * Split dumprepl() from dump_a_def().
Packit b40e2e
        * Devided defendel() to install(), undefine(), lookprev().
Packit b40e2e
        * Removed textput(), charput(), checkparm() from cpp4.c.
Packit b40e2e
        * Expanded specification of stparmscan().
Packit b40e2e
        * Revised most of the functions.
Packit b40e2e
        *
Packit b40e2e
        * eval.c:
Packit b40e2e
        * Renamed cpp5.c eval.c.
Packit b40e2e
        * Created overflow(), dumpval().
Packit b40e2e
        * Split evalsval(), evaluval() from evaleval().
Packit b40e2e
        * Made #if error returns 0 (rather than 1).
Packit b40e2e
        * Changed the type of #if evaluation from int to long / unsigned
Packit b40e2e
        long (unsigned long is only for the compiler which has that type)
Packit b40e2e
        or long long / unsigned long long for C99.
Packit b40e2e
        * Reinforced expression evaluation (eval(), opdope[]).
Packit b40e2e
        * Implemented evaluation of multi-character character constant,
Packit b40e2e
        wide character constant and revised evaluation of multi-byte
Packit b40e2e
        character constant.
Packit b40e2e
        * Revised most of the functions.
Packit b40e2e
        *
Packit b40e2e
        * expand.c:
Packit b40e2e
        * Split from cpp4.c and cpp6.c (support.c).
Packit b40e2e
        * Created Standard conforming mode of macro expansion.
Packit b40e2e
        * Created is_macro(), squeeze_ws(), skip_macro() as common
Packit b40e2e
        routines, expand(), replace(), def_special(), prescan(),
Packit b40e2e
        catenate(), stringize(), substitute(), rescan(), disable_repl(),
Packit b40e2e
        enable_repl(), is_able_repl() for MODE >= STANDARD, expand(),
Packit b40e2e
        conv_st_quote() for MODE < STANDARD.
Packit b40e2e
        * Split expcollect() into collect_args() and get_an_arg().
Packit b40e2e
        * Renamed macroid() to rescan(), expand() to replace(), expstuff
Packit b40e2e
        () to substitute() for MODE < STANDARD, dumpparm() to dump_args().
Packit b40e2e
        * Revised most of the functions.
Packit b40e2e
        *
Packit b40e2e
        * support.c:
Packit b40e2e
        * Renamed cpp6.c support.c.
Packit b40e2e
        * Created get_unexpandable(), scantoken(), cat_line(), scanop(),
Packit b40e2e
        parse_line(), last_is_mbchar(), cnv_digraph(), at_eof(),
Packit b40e2e
        xrealloc(), putline(), dumptoken().
Packit b40e2e
        * Split getline(), read_a_comment() from get().
Packit b40e2e
        * Extended cfatal(), cerror(), cwarn(), removing cierror(),
Packit b40e2e
        ciwarn().
Packit b40e2e
        * Removed save(), cget().
Packit b40e2e
        * Moved macroid(), catenate(), appendstring() from cpp6.c to
Packit b40e2e
        expand.c, lookid(), defendel() from cpp6.c to control.c.
Packit b40e2e
        * Renamed scanstring() to scanquote(), getmem() to xmalloc().
Packit b40e2e
        * Revised most of the functions.
Packit b40e2e
        * Revised line splicing and tokenization.
Packit b40e2e
        *
Packit b40e2e
        * system.c:
Packit b40e2e
        * Created this file gathering routines from other files.  Moved
Packit b40e2e
        sharp(), sharpsub(), getredirection() from cpp1.c to system.c,
Packit b40e2e
        doinclude(), openinclude(), hasdirectory(), vmsparse() from cpp2.
Packit b40e2e
        c to system.c, setincdirs(), dooptions(), zap_uc() from cpp3.c
Packit b40e2e
        to system.c,
Packit b40e2e
        * Created setoptlist(), setcplus(), bsl2sl(), put_depend(),
Packit b40e2e
        dopragma(), doonce(), included(), dumppath(), is_junk(),
Packit b40e2e
        alloc_mem(), print_heap();
Packit b40e2e
        * Split reopen_stdout(), setstdin() from main(), put_start_file(),
Packit b40e2e
        putfname() from cppmain(), setfiles(), usage(), mem_model(),
Packit b40e2e
        is_id() from dooptions(), doold(), dodebug(), doasm(), put_asm()
Packit b40e2e
        from control().
Packit b40e2e
        * Split setincdirs() to setsysdirs(), setenvdirs(), parse_env(),
Packit b40e2e
        set_a_dir().
Packit b40e2e
        * Moved type[] from cpp6.c to system.c.
Packit b40e2e
        * Revised most of the functions.
Packit b40e2e
        *
Packit b40e2e
        * system.H:
Packit b40e2e
        * Re-written and renamed from cppdef.h.
Packit b40e2e
        *
Packit b40e2e
        * internal.H:
Packit b40e2e
        * Re-written and renamed from cpp.h.
Packit b40e2e
        *
Packit b40e2e
        * Created Validation Suite for C/C++ preprocessing.
Packit b40e2e
        *
Packit b40e2e
        * Provided some supplementary tools for preprocessor testing.
Packit b40e2e
        *
Packit b40e2e
        * Wrote comprehensive documents (in Japanese).
Packit b40e2e
Packit b40e2e
* Edit history of DECUS CPP (MM: Martin Minow)
Packit b40e2e
        * 21-May-84    MM      "Field test" release
Packit b40e2e
        * 11-Jul-84    MM      "Official" first release (that's what I thought!)
Packit b40e2e
        * 31-Aug-84    MM      USENET net.sources release.
Packit b40e2e
        *  7-Dec-84    MM      Stuff in Nov 12 Draft Standard
Packit b40e2e
        * 07-Jun-85    KR      Latest revision