public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/22454] New: 'template class/operator overloading/default argument' internal compiler error
@ 2005-07-13 10:31 gcc at vanviegen dot net
  2005-07-13 11:30 ` [Bug c++/22454] [4.0/4.1 Regression] " pinskia at gcc dot gnu dot org
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: gcc at vanviegen dot net @ 2005-07-13 10:31 UTC (permalink / raw)
  To: gcc-bugs

As describing the problem in words is rather tricky, I'll stick to just 
listing the simplified code and the error message: 
 
---- test.cpp ---- 
template<class X> 
class SortedList 
{ 
    typedef bool (X::*largerThanMethodType)(const X &) const; 
    SortedList(largerThanMethodType cm = &X::operator>); 
} 
 
---- g++ test.cpp ---- 
test.cpp:5: internal compiler error: in cp_lexer_peek_nth_token, at 
cp/parser.c:479 
Please submit a full bug report, 
with preprocessed source if appropriate. 
See <URL:http://gcc.gnu.org/bugs.html> for instructions. 
For Debian GNU/Linux specific bug reporting instructions, 
see <URL:file:///usr/share/doc/gcc-4.0/README.Bugs>.

-- 
           Summary: 'template class/operator overloading/default argument'
                    internal compiler error
           Product: gcc
           Version: 4.0.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: gcc at vanviegen dot net
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i486-linux-gnu
  GCC host triplet: i486-linux-gnu
GCC target triplet: i486-linux-gnu


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


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/22454] [4.0/4.1 Regression] 'template class/operator overloading/default argument' internal compiler error
  2005-07-13 10:31 [Bug c++/22454] New: 'template class/operator overloading/default argument' internal compiler error gcc at vanviegen dot net
@ 2005-07-13 11:30 ` pinskia at gcc dot gnu dot org
  2005-07-17 21:22 ` pinskia at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-13 11:30 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-13 11:28 -------
Confirmed, a regression from 3.4.0.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |ice-on-invalid-code
      Known to fail|                            |4.0.0 4.1.0
      Known to work|                            |3.4.0
   Last reconfirmed|0000-00-00 00:00:00         |2005-07-13 11:28:42
               date|                            |
            Summary|'template class/operator    |[4.0/4.1 Regression]
                   |overloading/default         |'template class/operator
                   |argument' internal compiler |overloading/default
                   |error                       |argument' internal compiler
                   |                            |error
   Target Milestone|---                         |4.0.2


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


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/22454] [4.0/4.1 Regression] 'template class/operator overloading/default argument' internal compiler error
  2005-07-13 10:31 [Bug c++/22454] New: 'template class/operator overloading/default argument' internal compiler error gcc at vanviegen dot net
  2005-07-13 11:30 ` [Bug c++/22454] [4.0/4.1 Regression] " pinskia at gcc dot gnu dot org
@ 2005-07-17 21:22 ` pinskia at gcc dot gnu dot org
  2005-07-25 13:57 ` [Bug c++/22454] [4.0/4.1 Regression] ICE with operator in default argument in template class reichelt at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-17 21:22 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 21:22 -------
*** Bug 22535 has been marked as a duplicate of this bug. ***

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bitmap at pan dot homelinux
                   |                            |dot com


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


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/22454] [4.0/4.1 Regression] ICE with operator in default argument in template class
  2005-07-13 10:31 [Bug c++/22454] New: 'template class/operator overloading/default argument' internal compiler error gcc at vanviegen dot net
  2005-07-13 11:30 ` [Bug c++/22454] [4.0/4.1 Regression] " pinskia at gcc dot gnu dot org
  2005-07-17 21:22 ` pinskia at gcc dot gnu dot org
@ 2005-07-25 13:57 ` reichelt at gcc dot gnu dot org
  2005-07-25 14:01 ` reichelt at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2005-07-25 13:57 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From reichelt at gcc dot gnu dot org  2005-07-25 13:54 -------
Here's an example with valid code:

=========================================
template<int> struct A
{
    A(void(A::*)() = &A::operator+);
    void operator+ ();
};
=========================================


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |reichelt at gcc dot gnu dot
                   |                            |org
           Keywords|ice-on-invalid-code         |ice-on-valid-code, monitored
            Summary|[4.0/4.1 Regression]        |[4.0/4.1 Regression] ICE
                   |'template class/operator    |with operator in default
                   |overloading/default         |argument in template class
                   |argument' internal compiler |
                   |error                       |


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


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/22454] [4.0/4.1 Regression] ICE with operator in default argument in template class
  2005-07-13 10:31 [Bug c++/22454] New: 'template class/operator overloading/default argument' internal compiler error gcc at vanviegen dot net
                   ` (2 preceding siblings ...)
  2005-07-25 13:57 ` [Bug c++/22454] [4.0/4.1 Regression] ICE with operator in default argument in template class reichelt at gcc dot gnu dot org
@ 2005-07-25 14:01 ` reichelt at gcc dot gnu dot org
  2005-08-19 18:43 ` reichelt at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2005-07-25 14:01 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From reichelt at gcc dot gnu dot org  2005-07-25 13:56 -------
Btw, apart from the missing semicolon at the end of the class,
the original example was valid, too.


-- 


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


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/22454] [4.0/4.1 Regression] ICE with operator in default argument in template class
  2005-07-13 10:31 [Bug c++/22454] New: 'template class/operator overloading/default argument' internal compiler error gcc at vanviegen dot net
                   ` (3 preceding siblings ...)
  2005-07-25 14:01 ` reichelt at gcc dot gnu dot org
@ 2005-08-19 18:43 ` reichelt at gcc dot gnu dot org
  2005-08-22 14:54 ` nathan at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2005-08-19 18:43 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From reichelt at gcc dot gnu dot org  2005-08-19 18:37 -------
Even shorter testcase:

===============================
template<int> struct A
{
    A(void* = &operator new);
};
===============================


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
  GCC build triplet|i486-linux-gnu              |
   GCC host triplet|i486-linux-gnu              |
 GCC target triplet|i486-linux-gnu              |


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


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/22454] [4.0/4.1 Regression] ICE with operator in default argument in template class
  2005-07-13 10:31 [Bug c++/22454] New: 'template class/operator overloading/default argument' internal compiler error gcc at vanviegen dot net
                   ` (4 preceding siblings ...)
  2005-08-19 18:43 ` reichelt at gcc dot gnu dot org
@ 2005-08-22 14:54 ` nathan at gcc dot gnu dot org
  2005-08-24 10:24 ` cvs-commit at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: nathan at gcc dot gnu dot org @ 2005-08-22 14:54 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |nathan at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2005-07-13 11:28:42         |2005-08-22 14:32:22
               date|                            |


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


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/22454] [4.0/4.1 Regression] ICE with operator in default argument in template class
  2005-07-13 10:31 [Bug c++/22454] New: 'template class/operator overloading/default argument' internal compiler error gcc at vanviegen dot net
                   ` (5 preceding siblings ...)
  2005-08-22 14:54 ` nathan at gcc dot gnu dot org
@ 2005-08-24 10:24 ` cvs-commit at gcc dot gnu dot org
  2005-08-24 10:26 ` nathan at gcc dot gnu dot org
  2005-08-24 10:54 ` cvs-commit at gcc dot gnu dot org
  8 siblings, 0 replies; 10+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-08-24 10:24 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-08-24 10:22 -------
Subject: Bug 22454

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	nathan@gcc.gnu.org	2005-08-24 10:21:47

Modified files:
	gcc/cp         : ChangeLog parser.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/g++.dg/parse: crash29.C 

Log message:
	cp:
	PR c++/22454
	* parser.c (cp_lexer_peek_nth_token): Relax assert.
	testsuite:
	PR c++/22454
	* g++.dg/parse/crash29.C: New.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4857&r2=1.4858
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/parser.c.diff?cvsroot=gcc&r1=1.350&r2=1.351
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.5955&r2=1.5956
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/parse/crash29.C.diff?cvsroot=gcc&r1=NONE&r2=1.1



-- 


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


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/22454] [4.0/4.1 Regression] ICE with operator in default argument in template class
  2005-07-13 10:31 [Bug c++/22454] New: 'template class/operator overloading/default argument' internal compiler error gcc at vanviegen dot net
                   ` (6 preceding siblings ...)
  2005-08-24 10:24 ` cvs-commit at gcc dot gnu dot org
@ 2005-08-24 10:26 ` nathan at gcc dot gnu dot org
  2005-08-24 10:54 ` cvs-commit at gcc dot gnu dot org
  8 siblings, 0 replies; 10+ messages in thread
From: nathan at gcc dot gnu dot org @ 2005-08-24 10:26 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From nathan at gcc dot gnu dot org  2005-08-24 10:24 -------
fixed mainline, 4.0
2005-08-24  Nathan Sidwell  <nathan@codesourcery.com>

	PR c++/22454
	* parser.c (cp_lexer_peek_nth_token): Relax assert.



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


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


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/22454] [4.0/4.1 Regression] ICE with operator in default argument in template class
  2005-07-13 10:31 [Bug c++/22454] New: 'template class/operator overloading/default argument' internal compiler error gcc at vanviegen dot net
                   ` (7 preceding siblings ...)
  2005-08-24 10:26 ` nathan at gcc dot gnu dot org
@ 2005-08-24 10:54 ` cvs-commit at gcc dot gnu dot org
  8 siblings, 0 replies; 10+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-08-24 10:54 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-08-24 10:26 -------
Subject: Bug 22454

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-4_0-branch
Changes by:	nathan@gcc.gnu.org	2005-08-24 10:26:28

Modified files:
	gcc/cp         : ChangeLog parser.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/g++.dg/parse: crash29.C 

Log message:
	cp:
	PR c++/22454
	* parser.c (cp_lexer_peek_nth_token): Relax assert.
	testsuite:
	PR c++/22454
	* g++.dg/parse/crash29.C: New.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.4648.2.81&r2=1.4648.2.82
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/parser.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.319.2.11&r2=1.319.2.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5084.2.346&r2=1.5084.2.347
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/parse/crash29.C.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.2.1



-- 


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


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2005-08-24 10:26 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-07-13 10:31 [Bug c++/22454] New: 'template class/operator overloading/default argument' internal compiler error gcc at vanviegen dot net
2005-07-13 11:30 ` [Bug c++/22454] [4.0/4.1 Regression] " pinskia at gcc dot gnu dot org
2005-07-17 21:22 ` pinskia at gcc dot gnu dot org
2005-07-25 13:57 ` [Bug c++/22454] [4.0/4.1 Regression] ICE with operator in default argument in template class reichelt at gcc dot gnu dot org
2005-07-25 14:01 ` reichelt at gcc dot gnu dot org
2005-08-19 18:43 ` reichelt at gcc dot gnu dot org
2005-08-22 14:54 ` nathan at gcc dot gnu dot org
2005-08-24 10:24 ` cvs-commit at gcc dot gnu dot org
2005-08-24 10:26 ` nathan at gcc dot gnu dot org
2005-08-24 10:54 ` cvs-commit at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).