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

📄 cl-log.txt

📁 STLstlfilt.zip
💻 TXT
📖 第 1 页 / 共 3 页
字号:
=========================================
Combined STLFilt.pl / CL.cpp Revision Log
=========================================

====
2004
====

2/3
    Added the following information to the "Bugs/Limitations" section of
    README.TXT:

    When the Proxy CL.EXE is linked with setargv.obj for support of automatic
    wild-card expansion, the command:

        cl /?   (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 cl/? .


1/15 (cl.cpp v3.43a)
    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/23 (STLFilt.pl v2.70, CL.CPP v2.43)
    Corrected a /meta:D mode parsing bug that caused in internal errors and/
    or strange line breaks if the sequence ">> " appeared in a message in
    the context of closing delimiters for nested template parameter lists.

    The sequence ">> " in a message, when referring to the right-shift
    operator, was incorrectly being turned into "> > ".

    Corrected another /meta:D bug involving appearances of the sequence "()"
    in various contexts.

    Corrected a premature closing of the NativeLog.txt file in the event of
    an internal parsing error, causing errors on all subsequent attempts to
    write to the file.

    The Proxy CL now accepts the /lognative option to force creation of the
    Perl script debugging log file NativeLog.txt. Formerly, the only way to
    specify creation of the log file when using the Proxy CL was to configure
    the option LOG_NATIVE_MSGS in Proxy-CL.INI.

12/17 (STLFilt.pl v2.69)
    Added logic to correct for when MSVC inserts gratuitous CR-LF characters
    into certain diagnostics exceeding 2048 characters in length. This issue
    showed up in, but may not necessarily be restricted to, .PLG files
    being processed by the VC Tools technique.  

    A couple of clarifications/corrections to the comments in Proxy-CL.INI:
    1. Clarification: In the comment at the end of Proxy-CL.INI's "NATIVE_CL"
       configuration line, the NATIVE_CL value must be base filename only
       (not a complete "pathname" specification).
    2. Correction: In the comment at the end of the DEBUG_DIR line, the debug
       log file name is cl-dblog.txt, *not* cl-log.txt (that's *this* file!)

12/12 (STLFilt.pl v2.68)
    Enhanced the .PLG-file processing algorithm (used in the "MSVC
    Tools" approach to on-demand Decryption within the MSVC IDE). A
    big Thank You to Karl Bouchard for analyzing a slew of PLG files
    to help define a more general solution than had been implemented
    previously. The new algorithm is described in detail near the end
    of the updated README-VCTool.txt file.

12/04 (STLFilt.pl v2.67a)
    Fixed wrapping error in /break:D mode when the text ">", "<", ">>"
    or "<<" appeared in a message.

11/28 (STLFilt.pl v2.67)
    Corrected several r.e. clauses that could possibly have lead to "use of
    uninitialized value" messages from Perl.

11/19 (STLFilt.pl v2.66)
    Patched an obscure condition that drew a
        "Use of uninitialized value in multiplication (*)..."
    error during -break:D mode wrapping. 

    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).

11/11 (STLFilt.pl v2.65)
    Corrected possible problem recognizing "const pointers" (as opposed
    to pointers-to-const) in certain constructs.

10/20 (STLFilt.pl v2.64, CL.CPP v2.42)
    Added /with:x option to Perl script and Proxy CL:

    /with:x       Set "with" clause substitution policy to x, where x is 
                  L[ong] or S[hort] (the default). In "Long" mode, "with" 
                  clauses are left intact (no substitution). THIS DISABLES
                  MOST OTHER STL-RELATED DECRYPTION. The /with:L option
                  was provided by request to facilitate certain MPL-related
                  work in conjunction with the /meta-related options.

08/08 (STLFilt.pl v2.63a)
    Tuned some of the comments at the top of the script.

07/29 (STLFilt.pl v2.63)
    Just some minor tweaks of the internal error logging mechanism.

06/12 (STLFilt.pl v2.62)
    Cleaned up some unused variables, added $show_internal_err variable
    to allow verbose crash diagnostics to be muted.

06/11 (STLFilt.pl v2.61)
    Picked up some cases involving string::iterator for the Dinkum libs.

06/09 (STLFilt.pl v2.60)
    Added support for the Dinkum Unabridged Library (VC6, VC7, VC7.1)

06/06 (STLFilt.pl v2.52)
    Corrected Plain-mode wrapping logic to fix another off-by-1 error that
    had been emitting spurious blank lines.

06/05 (CL.CPP v2.41a)
    Wildcards (such as *.cpp) now work on the Proxy CL command line (just
    needed to be linked with SETARGV.OBJ).

05/31 (STLFilt.pl v2.51)
    A few /meta (/break:D) mode bugs fixed:
       - '(' character with spaces around it was not being recognized as in-
          creasing the nesting level, causing an internal error later on the
          line when the matching ')' was encountered
       -  '>=' and '<=' operators were not excluded from '>' and '<' detection

    Dropped the $space_close_brackets option; it now always puts spaces between
    consecutive '>' characters (unless they're the >> operator, with any luck.)
    This was necessary to keep the /meta wrapping logic from getting out of
    control.

    /iter:L now forces $newiter to 'iterator', so the word 'iterator' is
    never shortened in /iter:L mode.

    Added platform configuration sections in STLTask.INI for MSVC 7 and 7.1.

05/14 (STLFilt.pl v2.50, CL.CPP v2.41)
    Major update of the Perl script, adding support for special intelligent
    line wrapping of long template-based typenames as typical of template
    metaprogramming applications. This is the same wrapping logic that has
    been in the gcc-specific script (gSTLFilt.pl) for several months, finally
    ported to the MSVC version (the /meta option is new to both platforms).
    New command-line options:

    /break:x        Break algorithm: D[ave Abrahams] or P[lain] (the default).
                    The "Dave" option employs the new wrapping algorithm.

    /cbreak:x       Comma break: B = break before commas (default), A = after
                    [applies only in /break:D mode]

    /closewrap:x    Wrap before unmatched closing delimiters: Y (default) or N
                    [applies only in /break:D mode]

    /meta:x         Configure for metaprogramming [Y] or not [N] as follows:

                    /meta:y (or just /meta) forces /break:D, and forces /cbreak
                    and /closewrap options according to values specified in the
                    $meta_y_cbreak and $meta_y_closewrap variable initiali-
                    zations, respectively.

                    /meta:n forces /break:P (/cbreak and /closewrap don't apply.)

                    If no /meta option is present, the default values for
                    /break, /cbreak and /closewrap are determined by
                    the INI file (if using a Proxy compiler) or by the settings
                    of $break_algorithm, $comma_wrap and $close_wrap in the 
                    user-configurable area of the Perl script.

                    In either case, if the output width hasn't yet been set to
                    a non-zero value, it is set to 80 (choosing a wrapping
                    flavor makes no sense with wrapping disabled.) This may be
                    overridden by a subsequent /width option.

                    Note also that /meta may not be specified in the INI files,
                    because it is intended as a command-line "override"
                    mechanism. The individual settings of /break, /cbreak and
                    /closewrap, however, may be (and apply only when the /meta
                    option is not used.)
    
    A new Perl script user-configurable variable, $space_after_commas, forces a
    space after any comma appearing in messages. Default value is 0 (don't).

    Made some adjustments to start-of-line processing to smooth out MSVC's 
    somewhat random tabbing behavior. Now the first line of each message (con-
    taining the primary error's filename/line number) is not indented, and
    subsequent lines (in "Plain" break algorithm mode) are indented exactly
    one tab stop. "Dave" mode has its own, more elaborate set of tabbing rules.

    The Proxy CL has been updated to recognize all the above options.


04/22 (STLFilt.pl v2.46)
    Shortened the primary regex ($t) a tad more.

04/12 (STLFilt.pl v2.45, updated README-VCTool.txt to support VC7)
    Turns out it wasn't all that trivial to adapt the new IDE "Tool" approach
    to VC7. I had to hack the Perl script a bit more, and new instructions
    have been added to the doc file (README-VCTool.txt) explaining how to set
    it up within VC7.  

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 (STLFilt.pl v2.44)
    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.

    Restored the default value of $lognative to 'N', after it was inadvertently
    left at 'Y' for the v2.43 release (oops).

04/05 (STLFilt.pl v2.43, new files: README-VCTool.txt and MFiltTool.BAT)
    Thanks to Alex Pirseyedi, there is now a nice documented technique for
    allowing on-demand Decryption from within the MSVC IDE that does *not*
    require installation of the Proxy CL.EXE! The new README-VCTool.txt
    file describes the procedure, and MFiltTool.BAT is provided as a driver
    script. This technique uses facilities I'm not very familiar with, so if
    anybody finds issues please let me know ASAP and I'll do my best to iron
    them out. So far, though, this looks like a big win. Thanks, Alex!

03/19 (CL.CPP v2.40)
    The Proxy CL now accepts quotation marks around pathnames in Proxy-CL.INI,
    and detects faulty quotation.

03/18
    Added simultaneous multi-platform support to STLTask via a new config-
    uration file, STLTask.INI, to be placed into the same directory as
    Proxy-CL.INI. The new version of STLTask is backwards-compatible with the
    old Proxy-CL.INI, so the new features don't show up unless you actually
    tailor and install STLTask.INI into the Windows directory. For more
    details, see the latest version of README-STLTask.txt in the package.

03/10
    Had a report of C4786 warnings not being properly filtered, which ended up
    being an MSVC issue: The IDE occasionally streams stand-alone filenames
    (of the files being compiled) right into the middle of error/warning
    messages, creating a garbled mess I've found no reasonable way to filter.
    Rather than attempting to compensate for this, which might work 90% of the
    time but suppress important status information the rest of the time, I've
    decided to punt completely. If anyone knows how to correct or sanely adjust
    for MSVC's multithreading defects, please let me know...

02/05 (STLFilt.pl v2.42)
    Optimized the primary regex, $t, to avoid "regex too long" blowups under
    some older versions of Perl. This should also result in substantially
    faster execution under all Perl implementations.

01/30 (STLFilt.pl v2.41)
    Fixed obscure bug when "[]" sequence present in a "with" clause 
    substitution.

01/18 (STLFilt.pl v2.40, CL.CPP v2.30)
    Thanks to careful detective work and some new defensive coding above and
    beyond the call of duty by Thomas Becker, the package is now compatible
    with ActivePerl 5.8. 

    Two new variables in the user-configurable section of STLFilt.pl:
        $hide_generated_warns: optionally suppresses "has generated..."
                warnings
        $hide_deprecated_warns:  optionally suppresses "..was declared
                deprecated" warnings
    Both default to 1 (suppress the warnings).


====
2002
====

12/24 (STLFilt.pl v2.32)
    Fixed some remaining line-wrapping issues, esp. wrt MSVC7/STLport

12/22 (STLFilt.pl v2.31)
    Corrected the "off-by-1" error in /width:nn processing, so that
    the nn in /width:nn can be the actual width of the display (instead of 
    one less) and things come out looking right.

    Finally got fed up with the screwy indentation of MSVC6 messages and
    decided to reformat them into something that does not induce dizziness.

    Tweaked the wrapping algorithm some more for MSVC7 so that a) the tabbing
    is more aesthetic, b) candidate signatures get a smidgen more indentation,
    pathnames always appear at the start of a line and d) semicolons always
    force a line break.

12/17
    Discovered that ActivePerl 5.8 (the new release) does not work
    correctly with the Proxy CL. For now, please use only ActivePerl 5.6.1.

12/03 (STLFilt.pl v2.30)
    Tuned the Perl script for MSVC 7.1 beta ("Everett"): 
    "Multiple candidate" errors get reformatted back to the way they'd 
    come out if /WL weren't being used (more or less).
    Also, the new "stdext" namespace qualification is stripped.

9/07 (STLFilt.pl v2.21)
    Re-ordered the user-configurable settings section, so that all options
    corresponding to available command-line switches are together at the top,
    and other settings appear at the end of the list.

⌨️ 快捷键说明

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