[Bug c++/27732] [4.0 Regression] Parentheses elicit spurious error: "missing '>' to terminate the template argument list"

mmitchel at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Mon Oct 16 23:25:00 GMT 2006



------- Comment #3 from mmitchel at gcc dot gnu dot org  2006-10-16 23:25 -------
James --

Case #1 in Comment #1 is accepted by current G++ 4.1 and mainline branches.  I
do not believe Case #2 is valid, as the standard says that a non-type template
argument may be:

    the address of an object or function with external linkage,  includ-
    ing  function templates and function template-ids but excluding non-
    static class members, expressed as & id-expression

Thus, the parentheses make this case invalid.  Admittedly, that's pedantic, but
I think that's what the standard says.

Comment #3 is a separate enhancement request, and should be refiled separately.

Thanks,

-- Mark


-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.0/4.1/4.2 Regression]    |[4.0 Regression] Parentheses
                   |Parentheses elicit spurious |elicit spurious error:
                   |error: "missing '>' to      |"missing '>' to terminate
                   |terminate the template      |the template argument list"
                   |argument list"              |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27732



More information about the Gcc-bugs mailing list