[Bug c++/15674] [3.3/3.4/3.5 Regression] [DR214] template argument binding differs between member and static fumctions

giovannibajo at libero dot it gcc-bugzilla@gcc.gnu.org
Thu May 27 19:51:00 GMT 2004


------- Additional Comments From giovannibajo at libero dot it  2004-05-27 10:47 -------
Notice that EDG also differs in the member vs non-member case, in that the non-
member case is considered ambigous while the member case is not.

So, given Nathan analysys, the original testcase should always call the "T*" 
specialization (array->pointer decay should always happen). We have a wrong-
code bug. 2.95 used to refuse the code, so let me rate this as a regression. I 
understand that it is probably going to be minor, but nonetheless it is better 
to reject the code rather than selecting the invalid specialization.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |giovannibajo at libero dot
                   |                            |it
           Severity|normal                      |critical
           Keywords|                            |wrong-code
      Known to fail|                            |2.95.3 3.0.4 3.2.3 3.3.3
                   |                            |3.4.0 3.5.0
            Summary|template argument binding   |[3.3/3.4/3.5 Regression]
                   |differs between member and  |[DR214] template argument
                   |static fumctions            |binding differs between
                   |                            |member and static fumctions
   Target Milestone|---                         |3.4.1


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



More information about the Gcc-bugs mailing list