=================================== intelfilt.pl / ICL.CPP Revision Log =================================== ==== 2004 ==== 2/3 Added the following information to the "Bugs/Limitations" section of README.TXT: When the Proxy ICL.EXE is linked with setargv.obj for support of automatic wild-card expansion, the command: icl /? (with or without the space) will fail if the root directory of your current drive contains any entries having a name exactly one character in length. Unfortunately, setargv.obj does not seem to recognize the slash as an option delimiter, and treats the sequence the same as it would "\?". Workaround: use /help instead of /? whenever you get a bunch of "illegal option" diagnostics while using icl/? . 1/15 (icl.cpp v1.20a) Added ".cc" as a recognized C++ source file extension, and ".o" as a recognized object file extension, to the Proxy compiler. Thanks to Stefan Naewe for pointing out these omissions. ==== 2003 ==== 12/17 (updated Proxy-ICL.INI) A couple of clarifications/corrections to the comments in Proxy-ICL.INI: 1. Clarification: In the comment at the end of Proxy-ICL.INI's "NATIVE_ICL" configuration line, the NATIVE_ICL value must be base filename only (not a complete "pathname" specification) of the renamed ICL.EXE (not CL.EXE as incorrectly documented earlier.) 2. Correction: In the comment at the end of the DEBUG_DIR line, the debug log file name is icl-dblog.txt, *not* cl-log.txt. 11/28 (intelfilt.pl v2.02) Corrected several r.e. clauses that could possibly have lead to "use of uninitialized value" messages from Perl. 11/20 (intelfilt.pl v2.01) Made sure that lines are never wrapped in the middle of pathnames, even if that means an output line length may exceed the /width setting (figuring it is more important for editors to be able to automatically locate the point of the error than it is to unconditionally honor the /width value). Cleaned up a few inconsequential errors resulting from having forgotten to "lint" the script for debris left over in code converted from other platforms. Corrected possible problem recognizing "const pointers" (as opposed to pointers-to-const) in certain constructs. 10/12 (intelfilt.pl v2.00, ICL.CPP v1.20) Now works with Intel C++ 8 (checked out under the Intel 8 Beta). All six permutations of Intel 7/8 and MSVC 6/7.0/7.1 are supported...but not without some caveats: Support has been added for "brace substitution" clauses in error messages. Now, clauses of the form: type1={type2} are entirely replaced with "type2". HOWEVER, for this type of filtering to work correctly (and, for better quality filtering in general), error message lines must not be wrapped before processing by the Perl script. By default, error message wrapping behaves somewhat unpredictably; how- ever, there is an "undocumented" Intel C++ option that works for both Intel 7 and Intel 8 to suppress all error message wrapping: /Qoption,cpp,--brief_diagnostics Alternatively, Intel 8 also supports the documented /WL option (same as the one used by MSVC 7.x). The Proxy ICL automatically adds the long-winded /Q option above to all compiler command lines. The batch file ifilt.BAT, as distributed, does likewise. If you plan to roll your own commands/batch files, just be sure that one of these options (as appropriate for your compiler version) appears on the compiler command line. For best results with Intel 7/8, configure it to use MSVC 7.x rather than MSVC 6. There are a few lingering issues with certain containers not yet resolved when mating Intel C++ to MSVC 6, and I may never get around to fixing them. 06/12 (intelfilt.pl v1.11) Cleaned up some unused variables, renamed $continuation_indent to $tabsize. 06/05 (ICL.CPP v1.11a) Wildcards (such as *.cpp) now work on the Proxy ICL command line (just needed to be linked with SETARGV.OBJ). 06/03 (intelfilt.pl v1.10) /iter:L now forces $newiter to 'iterator', so the word 'iterator' is never shortened in /iter:L mode. Fixed a bug that caused the script to crash with an out-of-bounds subscript error in some cases when a small /width value was specified. 04/22 (intelfilt.pl v1.01) Shortened the primary regex ($t) a tad more. 04/11 STLTask (.EXE and sources) have been updated with a fix to the wxWindows library that keeps the tray icon from disappearing as a result of the taskbar re-initializing itself (such as after a Windows Explorer crash). Many thanks to Graeme Prentice for solving this long-standing problem. 04/08 (intelfilt.pl v1.00) Fixed a bug in STLTask that prevented it from recognizing the NATIVE_ICL configuration parameter in Proxy-ICL.INI (it was expecting "NATIVE_CL") Adjusted handling of the phrase 'iterator' to avoid shortening it unless one of the standard iterator types is involved, and added some comments to the user-configurable section to show how to disable all iterator filtering. 03/21 (ICL.CPP v1.11) Fixed some messages that used the term "Proxy CL" instead of "Proxy ICL" 03/19 (ICL.CPP v1.10) The Proxy ICL now accepts quotation marks around pathnames in Proxy-icl.INI, and detects faulty quotation. 03/18 Added STLTask to the package, with its new multi-platform support. For details, see README-STLTask.txt in the package. 03/13 (intelfilt.pl v0.91) Corrected name of $stdlib_sig variable and documentation on its use in README.txt. Corrected comment re. default value of $simple_eof variable (it is 'N'). 03/12 (intelfilt.pl v0.90 -- Initial Release) This package is a virtual clone of the Comeau Decryptor distribution; after all, EDG == EDG ;-)