ChangeLog of MCPP and its accompanying Validation Suite

2007/05/19  kmatsui
        * V.2.6.4
        * Fixed memory leaks in subroutine-build related to file->
        filename, sharp_filename and others.  (by Juergen Mueller and
        kmatsui).  (main.c, directive.c, support.c, system.c)
        * Revised expanding() and expanding_macro[] to fix memory leaks.
        Created clear_exp_mac().  (internal.H, expand.c, support.c)
        * Fixed a bug of accessing non-allocated memory.  (by isr).
        (support.c)
        * Revised output of // comment by -C option.  Output // comment
        as it is, not converting to /* */.  (thanks to Taras Glek).
        (support.c)
        * Changed output of line top white spaces in other than
        POST_STANDARD mode to preserve them as they are, rather than
        squeezing to one space, in order to make output more human-
        readable.  (main.c, support.c)
        * Removed the settings to be compiled with C++.  (configed.H,
        noconfig.H, noconfig/*.mak)
        * Updated version-info for shared-library-build from 0:0:0 to 0:
        1:0.
        * Changed installation directory of some documents in stand-
        alone-and-compiler-independent-build by configure or by binary
        packages.
        * Updated the documents.  Note that cpp-test.html were not
        updated.

2007/04/07  kmatsui
        * V.2.6.3
        * Fixed a bug of some #line directive handling which wrongly
        affected #include path.  Added a new member for real file name
        to struct FILEINFO, and made #line directive does not affect
        real file name.  (internal.H, main.c, support.c, system.c)
        * Enabled dereferencing of symbolic linked directory (as well as
        file) of #include path-list and include directory.  Split
        deref_syml() from norm_path().  (system.c)
        * Revised again diagnostic messages for some macro expansions.
        (internal.H, expand.c, support.c)
        * Relaxed token checking and syntax checking in lang_asm mode.
        (expand,c, support.c)
        * Implemented GCC3-spec variadic macro for GCC-specific-build.
        (internal.H, directive.c, expand.c)
        * Added some predefined macro for GCC-specific-build.  (system.c)
        * Revised output routines abstracting output device, and
        implementing optional memory buffer output when built with
        MCPP_LIB macro.  Created mcpp_lib.h, mcpp_lib_fputs(),
        mcpp_lib_fputc(), mcpp_lib_fprintf(), mcpp_use_mem_buffers(),
        mcpp_get_mem_buffer(), mcpp_set_out_func(),
        mcpp_reset_def_out_func(), mem_putc(), mem_puts(),
        append_to_buffer(), function pointers mcpp_fputs, mcpp_fputc,
        mcpp_fprintf and some macros.  This update disabled compilation
        by C++.  (All were contributed by Greg Kress and slightly
        modified by kmatsui) (internal.H, main.c, directive.c, eval.c,
        expand.c, mbchar.c, support.c, system.c, lib.c, mcpp_lib.h)
        * Renamed some global names in order to lessen the possibility
        of name collisions in subroutine-build.  Renamed the variables
        mode, cplus, line, debug, type[] and work[] to mcpp_mode,
        cplus_val, src_line, mcpp_debug, char_type[] and work_buf[]
        respectively.  Renamed the functions install(), eval(), expand(),
        get() and unget() to install_macro(), eval_if(), expand_macro(),
        get_ch() and unget_ch() respectively.  (internal.H, main.c,
        directive.c, eval.c, expand.c, mbchar.c, support.c, system.c)
        * Added 'mcpplib' target to make subroutine (library) build in
        configure.ac and noconfig/*.mak.
        * Revised some other minor points.  (all sources)
        * Changed default setting of noconfig.H to that of FreeBSD 6.* /
        stand-alone / GCC 3.4.  (noconfig.H)
        * Added documentation on source checking of glibc 2.4.  (mcpp-
        manual.html)
        * Abolished 'install-data' and 'uninstall-data' targets of
        configured makefile.  On the other hand, made 'install' target
        install also mcpp-manual.html.
        * Provided stand-alone-and-compiler-independent-build binary
        packages port, rpm, deb, zip and their corresponding source
        packages.

2006/11/12  kmatsui
        * V.2.6.2
        * Renamed control.c as directive.c and renamed control() as
        directive().
        * Fixed a bug of #else handling in pre-Standard modes.
        (directive.c)
        * Fixed a bug of mcpp specific directives such as #debug or #
        put_defines in pre-Standard modes.  (system.c)
        * Fixed a bug of warning options for GCC-specific-builds.
        (system.c)
        * Fixed a bug of macro expansion timing in #include directive
        line.  (system.c)
        * Revised some other minor points, moved cur_file() from main.c
        to system.c.  (main.c, eval.c, system.c)
        * Revised diagnostic messages for some macro expansions.
        (internal.H, expand.c, support.c)
        * Fixed a bug of nested includes with relative paths.  (thanks
        to Leo Savernik).  (system.c)
        * Fixed memory leaks in routines related to normalizing path-
        list.  (by Juergen Mueller).  (system.c)
        * Added MCPP_LIB setting to use mcpp as a subroutine from other
        main program.  Created init_main(), init_directive(), init_eval(),
        init_support(), init_system(), init_lib(), clear_filelist() and
        clear_symtable().  Created testmain.c as a sample source.  (all
        were contributed by Juergen Mueller and slightly modified by
        kmatsui).  (internal.H, main.c, directive.c, eval.c, expand.c,
        support.c, system.c, lib.c)
        * Changed the macro STAND_ALONE to INDEPENDENT.
        * Changed the terminology of building methods in the documents.
        (INSTALL, mcpp-porting.html, mcpp-manual.html)
        * Rewrote and converted the text files in 'doc' and 'doc-jp'
        directories into html files.
        * Updated and corrected many points of the documents.

2006/08/12  kmatsui
        * V.2.6.1
        * Enabled automatic conversion from [CR+LF] to [LF].  (support.c)
        * Set the limit of #include nesting to INCLUDE_NEST (default:
        256) in order to prevent infinitely recursive #includes.
        (system.H, system.c)
        * Revised white space handling in <header with spaces.h> style
        header-name which is defined by macro.  (system.c)
        * Enabled -fworking-directory option for GCC-specific-build.
        created put_info().  (system.c)
        * Fixed a bug of macro definition.  (lib.c)
        * Fixed a bug of '#pragma once' failure.  (by Greg Kress).
        (system.c)
        * Fixed some other minor bugs in sources.
        * Revised path-list handling on CygWIN.  Enabled -mno-cygwin
        option for CygWIN GCC-specific-build.  (configure.ac, noconfig.H,
        system.c)
        * Added porting to MinGW.  Created cc1.c to be invoked from GCC
        and to invoke mcpp or GCC's cc1/cc1plus from it, because MinGW
        GCC rejects to invoke a shell-script even if it is named cc1 and
        because MinGW does not support symbolic link.  (configure.ac,
        src/Makefile.am, configed.H, noconfig.H, system.c)
        * Fixed bugs in some noconfig/*.mak.
        * Moved changelogs from the source files to ChangeLog and
        ChangeLog.old.

2006/07/15  kmatsui
        * V.2.6
        * Integrated STANDARD mode and PRE_STANDARD mode into one
        executable, differentiating the modes by the execution time
        options.  (all the sources)
        * Absorbed DEBUG, DEBUG_EVAL, OK_MAKE into default, OK_DIGRAPHS,
        OK_PRAGMA_OP into default of STD and POST_STD mode, OK_TRIGRAPHS
        into default of STD mode, OK_SIZE into default of KR and
        OLD_PREP modes.  (all the sources)
        * Changed --enable-maintainer-mode option of configure to
        --enable-replace-cpp option which generates compiler-specific-
        build of mcpp.  Made compiler-specific-build installed only into
        a compiler-specific-directory.  (configure.ac, src/Makefile.am)
        * Made stand-alone-build independent from any compiler-systems.
        It no longer requires GCC-specific header files.  (configure.ac,
        configed.H, noconfig.H, system.c)
        * Revised '#pragma once' and handling of include directories
        list, judging a identity of directory and file by converting it
        to absolute path, and dereferencing symbolic linked file.
        (system.c)
        * Revised #line output and its related problem at the end of an
        included file.  (thanks to Jay Prakash).  (internal.H, support.c)
        * Added portings to GCC V.4.0, CygWIN 1.5.18, Visual C++ 2005
        and LCC-Win32 2006-03.  (noconfig.H, system.c)
        * Added some options for Visual C++.  (system.c)
        * Removed settings for pre-C90 compiler (string concatenation by
        preprocessor, '\a' and '\v' handling, no unsigned long #if, no
        Standard library functions, non-prototype declarations, no #
        pragma).  (all the sources)
        * Removed settings for MS-DOS compiler, DJGPP and Plan9.  (*.H,
        system.c, mbchar.c)
        * Removed the implementation of post_preproc() for pre-Standard
        compiler.  Removed conv_esc(), is_last_esc(), conv2oct().
        Removed HAVE_C_BACKSLASH_A and CONCAT_STRINGS macros.  (main.c)
        * Degraded the diagnostic of #if expression from error to
        warning, which only overflows the range of 'long / unsigned
        long' and does not overflow the range of 'long long / unsigned
        long long' in modes other than C99.  (eval.c)
        * Enabled 'i64' ('ui64', 'i32', 'i16', etc.) suffixes for
        integer, which are recognized when COMPILER is MSC or BORLANDC.
        (eval.c)
        * Renamed functions and some variables, created expand_init(),
        according to integration of STANDARD and PRE_STANDARD modes.
        (expand.c)
        * Removed '#pragma MCPP include_next'.  (system.c)
        * Created init_msc_macro(), parse_warn_level(), chk_opts(),
        init_predefines(), init_std_defines(), do_prestd_directive().
        Removed set_cplus(), mem_model().  (system.c)
        * Removed Standard functions (memmove(), memcpy(), memcmp(),
        strstr(), strcspn()).  (lib.c)
        * Changed default setting of noconfig.H to FreeBSD 5.* / stand-
        alone / GCC 3.4.  (noconfig.H)
        * Renamed 'doc' directory as 'doc-jp' and renamed 'doc_eng' as
        'doc'.
        * Removed some manuscript files of mcpp-summary.pdf from the
        distribution.
        * Validation Suite: Revised a few testcases.
        * Updated all the documents accordingly.

