This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/29704] [4.1 Regression] ICE: default non-type template argument of pointer-to-member type
- From: "bangerth at dealii dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 15 Nov 2006 02:09:22 -0000
- Subject: [Bug c++/29704] [4.1 Regression] ICE: default non-type template argument of pointer-to-member type
- References: <bug-29704-1824@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from bangerth at dealii dot org 2006-11-15 02:09 -------
(In reply to comment #3)
> 14.3.2/1 says that "a constant expression that evaluates to a null member
> pointer value" is allowed as a non-type template argument, with an explicit
> reference to 4.11, which explains how to obtain one
Uh, where is that from? 14.3.2/1 doesn't appear to contain this in neither the
C++98 standard not in the TC edition. I have this code here:
14.3.2 Template non-type arguments [temp.arg.nontype]
1 A template-argument for a non-type, non-template template-parameter
shall be one of:
[...]
-- a pointer to member expressed as described in _expr.unary.op_ .
_expr.unary.op_ is 5.3.1, and in 5.3.1/2, it talks about taking the address
of member functions. It doesn't appear to say anything about conversions...
W.
--
bangerth at dealii dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bangerth at dealii dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29704