[Bug c++/12337] [3.3 regression] infinite loop in g++

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Fri Sep 19 05:17:00 GMT 2003


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
  GCC build triplet|i386-redhat-linux           |
   GCC host triplet|i386-redhat-linux           |
 GCC target triplet|i386-redhat-linux           |
           Keywords|                            |rejects-valid
   Last reconfirmed|0000-00-00 00:00:00         |2003-09-19 04:13:24
               date|                            |
            Summary|infinite loop in g++        |[3.3 regression] infinite
                   |                            |loop in g++
   Target Milestone|---                         |3.3.2


------- Additional Comments From pinskia at gcc dot gnu dot org  2003-09-19 04:13 -------
This is fixed on the mainline (20030918).

Actually it is not an infinite loop but taking a very long time because of -ftemplate-depth is large 
in 3.2 and above (until the mainline).  In 3.0.4 where the -ftemplate-depth is small this is rejected 
almost right away which is wrong. The real problem is that GCC is not selecting bool foo(A*); but 
always selecting the template version of foo which is wrong.

Also this is a regression from 2.95.3 which GCC accepted this code.
According to Phil's regression hunter this is fixed: between 2003-09-03-trunk (#390) and 2003
-09-04-trunk (#391).

Also note it is busted between 2.95 was released and 2000-12-31.



More information about the Gcc-bugs mailing list