⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cl-log.txt

📁 STLstlfilt.zip
💻 TXT
📖 第 1 页 / 共 3 页
字号:
    than run-time conditional testing.

9/3 (CL.cpp v2.11)
    Added logic to strip trailing slashes/backslashes off all pathnames
    specified in the config file (and in the defaults set in the source
    code); that way, pathname option settings may be written with or without
    trailing slashes.

    Changed comment delimiters in Proxy-CL.INI from '#' to ';' [as the
    user who reported this to me pointed out, I must be using Perl too
    much ;-) ]

    Corrected the order of sections in the sample Proxy-CL.INI to match
    the order shown in the sample entries at the top of the file

9/2 Official Version 2 Release!
    (STLFilt.pl version 1.1)
    Changed approach to "long identifier" warnings and their detritus. Now
    a flag gets set when the "long identifier" warning is detected, and sub-
    sequent messages containing "see reference to class template" are only
    stripped when the immediately preceding message was a long identifier
    warning. My previous blanket disposal of all "see reference to..."
    messages was throwing the baby out with the bath water, since some of
    those messages refer to things *other* than long identifier warnings.

9/1 (STLFilt.pl version 1.09)
    ifstream / ofstream class support added to Perl script

9/1
    Switched to new configuration file scheme, where Proxy-CL.INI resides
    in the system Windows directory.

    Changed the Proxy CL banner message text to say "Message Decryption"
    instead of "Err0r Decryption". *I* liked the "Err0r" message, but no
    one else seems to. I surrender.

    Added "SILENT" configuration option for Proxy CL. If true,
    always suppresses the Proxy CL banner message.

    Created GLOSSARY.txt, since several documents now refer to the
    glossary of terms.

    Renamed INSTALL.txt ==> CUSTOMIZE.txt. Basic installation instructions
    are now in QUICKSTART.txt, so CUSTOMIZE.txt just talks about rebuilding
    CL and STLTask from the source code, and about using STLFilt.BAT

    Added runtime debugging capability for the Proxy CL. New options:
    DEBUG=true or false: enables/disables debugging log
    DEBUG_DIR=directory: directory to write logging information to
    (The filenames used for logging are hard-wired as CL-dblog.txt and
    atfile.txt)

8/29
    Added QUICKSTART.txt, a Quick Start guide to the entire package.
    Deleted CL-ALT.CPP, and all mentions of it, from the distribution.

8/28 (STLFilt.pl version 1.08)
    Removed all deprecated "depth_policy" logic from CL.cpp and STLFilt.pl

8/27 (CL.cpp version 2.1 pre-release)
    Added a runtime configuration file capability to CL.cpp. Now, if the
    Proxy CL.EXE detects the file Proxy-CL.INI in the Windows directory,
    it reads configuration information from it that overrides the various 
    pathname settings wired into CL.cpp. A precompiled CL.EXE, along with 
    a sample Proxy-CL.INI, are now included in the distribution package.

    Removed the requirement of adding "extra" quotes to the PERL_EXE and
    FILTER_SCRIPT symbols in the user-configurable part of CL.cpp (and the
    new configuration file). Now, all filenames consistently should NOT 
    have extra quotations. I've added the extra quotes automatically when 
    building the internal command lines used to invoke Perl.

    Updated installation instructions to describe the *new* Proxy CL location.
    Now, the Proxy CL should be placed into MSVC's bin directory (AFTER
    renaming the native CL.EXE to CL2.EXE!).

    Added /GX to command line options for compiling CL.cpp (to silence some
    warnings)

8/15
    Added a glossary, plus some additional material explaining the operation
    of, and rationale behind, the Proxy CL program.

8/3 (CL.cpp version 2.03)
    Corrected problem with not properly quoting the command name in _spawnvp
    calls. Thanks to Matthew Douglass for bringing this to my attention.

    Corrected a horrendous dynamic memory bug: when building the new_argv array
    and detecting the "/nologo" option, the new_argv pointer was not allocated
    dynamically, yet later it was being delete[]'ed. I still don't understand
    why this didn't instantly bomb the memory allocator...good luck or bad!???

    (STLFilt.pl version 1.07)
    The identifier 'iterator' used alone was being inappropriately filtered.

    In "/iter=s" mode, const iterators were not correctly filtered.

8/2 (STLFilt.pl version 1.06)
    Fixed support for STLport basic strings

8/1 (STLFilt.pl version 1.05)
    istringstream and ostringstream now recognized and filtered

    (CL.cpp version 2.02)
    Added a sleep call to correct a timing problem on multiprocessor systems

    (STLTask version 1.41)
    Reformatted some messages and buttons; it had looked OK to *me*, but I'd
    been running "large" fonts. Made it line up for "small" fonts.

7/19 (STLFilt.pl version 1.04)
    Fixed filtering of "struct" keyword so that it doesn't disappear when
    diagnosing errors referring to *anonymous* structures (thanks to John
    Penney for reporting this bug)

6/23 (CL.cpp 2.01)
    Removed literal "cl2.exe" references from messages; substituted STANDARD_CL

6/22 (CL.cpp)
    Official release of CL.cpp v2.0

6/21 (CL.cpp version 2 pre-release)
    Corrected comments referring to putting quotes around pathname symbolic
    constants in the user-configurable section of CL.cpp. Turns out, 
    FILT_FILE does not need, and indeed *must not have* the extra double-quotes
    around it.

    Added note about driving STLFilt.BAT via the VC++ "Tools" menu.
    (Thanks to John Hattan for pointing out the previous two items)

    Added some folks to the acknowledgments section who were inadvertently
    omitted (sorry--I really try to acknowledge *everyone* who takes the
    trouble to email me with bug reports and suggestions!)
     
    The original declaration of my scratchpad loop variable "i" as a size_t,
    while being stylish, also caused a serious problem under Win2K when
    combined with a boundary condition bug in the command line processing code
    (I was looking at argv[0] as an argument). I turned "i" back into a vanilla
    "int", and also fixed the looping condition in question. The bug only
    manifested under Win2K because there, argv[0] doesn't necessarily have 
    its .EXE extension showing...

6/20 (CL.cpp version 2 pre-release):
    Major re-write. Took out as much "C String" logic as possible, replacing
    it all with C++ strings. No more magic numbers for buffer sizes! CL.EXE is
    much bigger now, circa 190K vs. the previous 50K. However, it ought to be
    a lot more robust.

    Tackled that old MIDL .odl problem again; discovered that passing the
    original argv value directly to _spawnvp seems to have been the crux of the
    problem. Now I process all argv arguments the same, whether filtering is 
    enabled or not, adding quotation marks to them. _spawnvp now gets my 
    modified argv (named new_argv in the code) instead of the original argv. 
    Beats me why this should be necessary for _spawnvp. MSVC works in myst...

    Changed erroneous reference to "STLFILE" in the CL.cpp comments.
    This symbol had long since been renamed to FILT_FILE. I should probably re-
    view my old comment lines more often.

6/14 (CL.cpp version 1.05):
    Back to "Err0r" for the sign-on. I forgot to test the backspace hack in
    the IDE, where it displays as a graphics character. Foo!

    Launched the stlfilter mailing list (see top of README.txt for subscription
    information)

6/13 (CL.cpp version 1.04):
    Fixed a bug with CL command-line propagation involving trailing '\'
    characters in parameters. This manifested when attempting to compile the
    STLport library, for example. Thanks for Andy Philpotts for help on this.

    I figured out a way to say "Error" instead of "Err0r" in the CL.EXE sign on
    message: I use a backspace sequence in the word, which ends up undetectable
    on a CRT.

    (STLFilt.pl version 1.03)
    Basically canned the entire "depth policy" idea. I had put it in originally
    just to deal with STLport's debug iterators. Turns out a procedural string
    scan works a lot more efficiently to reduce *all* STLport debug iterators
    no matter now complex, and the simple iteration I've always done takes care
    of complex STL types. So, I've reduced the default depth policy to 'S'
    and deprecated the depth policy feature altogether. It is possible someone
    might need the 'M' and 'L' settings for SOMEthing, though, so I left them
    in. However, so far I haven't found any need to use them.

    Seems there's a VC bug where messages related to that obnoxious 4786
    warning are sometimes fragmentary, e.g., "foobar (100) : while
    referring to"... so now I delete those lines as well.


6/10 (STLFilt.pl version 1.02)
    Implemented several excellent suggestions by Michael Cook:
    1. Instead of counting passes to reduce nested typenames and always
    performing a fixed number of passes, I now loop indefinitely until a pass
    has completed where there were no substitutions made. This is so obvious
    an improvement that I deserve a dunce cap for not having thought of it.
    2. Added idiomatic '\b' word-boundary delimiters to many r.e.'s,
    both in place of the '(\W)' technique I'd been using earlier *and* in 
    places I'd previously had no word-boundary checking at all (which would
    have triggered iterator substitution for non-STL identifiers such as
    'foobariterator'... oops!)

    Added support for STLport's debug mode in STLFilt.pl. I special cased the
    STLport debug-mode iterators: they all now simply map to "dbg_iter". I
    just don't have the time to generalize the iterator policy for these
    constructs.

    Added /depth:x command-line option to CL.cpp and STLFilt.pl. The higher
    depth specifications allow detection of more complex nested typenames.
    The 'L' option sets the maximum depth, and slows down processing
    considerably. However, this level of complexity may be necessary to handle
    things like STLport in debug mode. The 'S' option is roughly equivalent to
    the old default complexity; The 'M' supports more complexity than the
    original default, and is the new default. The default may be customized in
    STLFilt.pl by setting the value of the $def_depth_policy variable in the
    user-configurable section.

    Added documentation in INSTALL.txt and README.txt (Bugs/Limitations) 
    regarding VC's behavior when searching for a CL.EXE to spawn. Turns out
    that just saying the Proxy CL has to be "in the system PATH" is wrong;
    see README.txt for the gory details.

5/28 (STLFilt.pl version 1.01)
    Added $| = 1;   to the Perl script to force output autoflush. Duh.

5/28 (CL.cpp version 1.02)
    CUJ article posted on CUJ website as the Web Feature for July, 2001

    Enlarged the fixed-length buffers used within hasExt() from 100 to BUFSIZE
    (now #defined up top as 500). Long pathnames were overflowing the original
    buffer size (thanks to Jan Stette for first reporting this, and also for
    the output autoflush fix above.)

    Separated out the version number of STLFilt.pl from CL.cpp.

5/25/01 (CL.cpp version 1.01)
    Fixed bug: double quotes in CL command line not handled properly (thanks to
    Dominic Mathieu for first reporting this.)

5/22/01 (CL.cpp, STLFilt.pl version 1.0)
    Official Release. CUJ website distribution version frozen.

5/17/01 (STLFilt.pl version .992)
    Removed unnecessary leading underscore checks from STLFilt.pl that
    used to be needed when I *thought* the STLport namespace was "STL",
    not "_STL" (as it actually is). This was just a dumb benign bug.

    Clarified some stuff in README.txt; added the "Bugs / Limitations" 
    section to README.txt.

    Clarified some stuff in INSTALL.txt.

5/16/01 (STLFilt.pl version .991)
    Added all those "(\W)"'s in the front of "annoyances" r.e.'s and
    modified the substitution text, just in case the names are actually
    the tail end of a longer identifier

5/14/01 (STLFilt.pl version .99):
    Added support for the STLport 4.x standard containers (finally!)

5/13/01
    Fixed Crash problem when CL invoked with no args at all. Whoops!

5/8/01
    Revved STLTask to 1.1 (see README in STLTask package for details)

5/4/01
    fixed extension-detecting bugs in CL

5/2/01 (version .982):
    Modified CL to recognize indirect command line files (@filename). 
    Looks at the LAST argument of the LAST line ONLY!!! to determine
    whether or not to filter. 

    Created STLTask program to control installation/uninstallation and
    filter toggle from the tray. Uses wxWindows (since I still can't
    stomach programming with MFC...)

4/30/01 (version .981):
    Changed CL to only activate filtering when the source
    file extension matches one of the strings in the explicit extension
    list filterExt, which should contain only valid C++ source file 
    extensions (thanks to Wilka for this suggestion)

4/24/01 (version .97):
    Made sure CL.cpp put double quotes around command
    line parameters when rebuilding the command line for propagation
    to CL2.

4/18/01 (version to .96):
    Added support for multi-word types (that had somehow been totally
    overlooked) such as "unsigned long", "const signed char *", etc.

    Added some intelligent handling for wide-character variations of
    string (wstring) and streams (wistream and wostream). 

4/4/01 (version .95):
    Added command-line specification of iterator policy to CC*.cpp and
    STLFilt.pl. Command line options of the form:
           /iter:x
    are now supported, where x may be: small, medium or large (only first
    letter is examined, ignoring case, so all abbreviations OK):

        small: $iter_policy set to 'S'  (always truncated)
        medium: $iter_policy set to 'M' ("intelligent" truncation)
        long: $iter_policy set to 'L'   (never truncate)

    If supplied on the CL command line, the option is simply passed
    along to STLFilt.pl, where it is recognized.

    The initial assignment to $iter_policy in STLFilt.pl specifies the
    *default* iteratior policy; any supplied /iter:x option now overrides
    that default.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -