public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/16904] New: ICE in finish_class_member_access_expr, at cp/typeck.c:1945
@ 2004-08-06 19:30 v dot haisman at sh dot cvut dot cz
  2004-08-06 19:31 ` [Bug c++/16904] " v dot haisman at sh dot cvut dot cz
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: v dot haisman at sh dot cvut dot cz @ 2004-08-06 19:30 UTC (permalink / raw)
  To: gcc-bugs

I've made a typo and as result I've produced this ICE:

wilx@logout:::~/tmp> g++ -c testcase.cxx
testcase.cxx: In member function `void X<T>::handler() [with T = S]':
testcase.cxx:16:   instantiated from here
testcase.cxx:9: error: no type named `BaseType' in `struct S'
testcase.cxx:9: internal compiler error: in finish_class_member_access_expr, at
cp/typeck.c:1945
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.


Configuration: 
wilx@logout:::~/tmp> gcc -v
Reading specs from /home/4/wilx/lib/gcc/i386-unknown-freebsd4.10/3.5.0/specs
Configured with: ../srcdir/configure --disable-nls
--enable-version-specific-runtime-libs --enable-dwarf2 --with-cpu=pentium3
--with-arch=pentium3 --with-system-zlib --disable-shared --prefix=/home/4/wilx
--enable-languages=c,c++,objc --disable-sjlj-exceptions
--enable-shared=libstdc++ --enable-shared=libobjc --with-gc=zone
Thread model: posix
gcc version 3.5.0 20040803 (experimental)

-- 
           Summary: ICE in finish_class_member_access_expr, at
                    cp/typeck.c:1945
           Product: gcc
           Version: 3.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: v dot haisman at sh dot cvut dot cz
                CC: gcc-bugs at gcc dot gnu dot org,v dot haisman at sh dot
                    cvut dot cz
 GCC build triplet: i386-unknown-freebsd4.10
  GCC host triplet: i386-unknown-freebsd4.10
GCC target triplet: i386-unknown-freebsd4.10


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


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

* [Bug c++/16904] ICE in finish_class_member_access_expr, at cp/typeck.c:1945
  2004-08-06 19:30 [Bug c++/16904] New: ICE in finish_class_member_access_expr, at cp/typeck.c:1945 v dot haisman at sh dot cvut dot cz
@ 2004-08-06 19:31 ` v dot haisman at sh dot cvut dot cz
  2004-08-06 19:57 ` [Bug c++/16904] [3.4/3.5 regression] " bangerth at dealii dot org
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: v dot haisman at sh dot cvut dot cz @ 2004-08-06 19:31 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From v dot haisman at sh dot cvut dot cz  2004-08-06 19:31 -------
Created an attachment (id=6896)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=6896&action=view)
Testcase


-- 


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


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

* [Bug c++/16904] [3.4/3.5 regression] ICE in finish_class_member_access_expr, at cp/typeck.c:1945
  2004-08-06 19:30 [Bug c++/16904] New: ICE in finish_class_member_access_expr, at cp/typeck.c:1945 v dot haisman at sh dot cvut dot cz
  2004-08-06 19:31 ` [Bug c++/16904] " v dot haisman at sh dot cvut dot cz
@ 2004-08-06 19:57 ` bangerth at dealii dot org
  2004-08-06 19:59 ` bangerth at dealii dot org
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: bangerth at dealii dot org @ 2004-08-06 19:57 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From bangerth at dealii dot org  2004-08-06 19:57 -------
Confirmed, an ICE after error. This is a regression over 3.3.4, which 
only issued the error. 
 
The testcase in the attachment is already nice and small. 
 
W. 

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |error-recovery
   Last reconfirmed|0000-00-00 00:00:00         |2004-08-06 19:57:08
               date|                            |
            Summary|ICE in                      |[3.4/3.5 regression] ICE in
                   |finish_class_member_access_e|finish_class_member_access_e
                   |xpr, at cp/typeck.c:1945    |xpr, at cp/typeck.c:1945
   Target Milestone|---                         |3.4.2


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


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

* [Bug c++/16904] [3.4/3.5 regression] ICE in finish_class_member_access_expr, at cp/typeck.c:1945
  2004-08-06 19:30 [Bug c++/16904] New: ICE in finish_class_member_access_expr, at cp/typeck.c:1945 v dot haisman at sh dot cvut dot cz
  2004-08-06 19:31 ` [Bug c++/16904] " v dot haisman at sh dot cvut dot cz
  2004-08-06 19:57 ` [Bug c++/16904] [3.4/3.5 regression] " bangerth at dealii dot org
@ 2004-08-06 19:59 ` bangerth at dealii dot org
  2004-08-06 20:34 ` pinskia at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: bangerth at dealii dot org @ 2004-08-06 19:59 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From bangerth at dealii dot org  2004-08-06 19:59 -------
It is, however, possible to make it even smaller :-) 
------------------ 
template <typename T> struct X { 
  X () { 
    this->T::handler (); 
  } 
}; 
 
template struct X<int>; 
-------------------- 
 
g/x> /home/bangerth/bin/gcc-3.5-pre/bin/c++ -c x.cc 
x.cc: In constructor `X<T>::X() [with T = int]': 
x.cc:7:   instantiated from here 
x.cc:3: internal compiler error: in finish_class_member_access_expr, at 
cp/typeck.c:1945 
Please submit a full bug report, 
with preprocessed source if appropriate. 
See <URL:http://gcc.gnu.org/bugs.html> for instructions. 
 
W. 

-- 


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


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

* [Bug c++/16904] [3.4/3.5 regression] ICE in finish_class_member_access_expr, at cp/typeck.c:1945
  2004-08-06 19:30 [Bug c++/16904] New: ICE in finish_class_member_access_expr, at cp/typeck.c:1945 v dot haisman at sh dot cvut dot cz
                   ` (2 preceding siblings ...)
  2004-08-06 19:59 ` bangerth at dealii dot org
@ 2004-08-06 20:34 ` pinskia at gcc dot gnu dot org
  2004-08-06 23:58 ` [Bug c++/16904] [3.3/3.4/3.5 " reichelt at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-06 20:34 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-08-06 20:34 -------
Note this is invalid code as T is not a base class of the template, we should have rejected it before got 
to this point.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|error-recovery              |ice-on-invalid-code


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


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

* [Bug c++/16904] [3.3/3.4/3.5 regression] ICE in finish_class_member_access_expr, at cp/typeck.c:1945
  2004-08-06 19:30 [Bug c++/16904] New: ICE in finish_class_member_access_expr, at cp/typeck.c:1945 v dot haisman at sh dot cvut dot cz
                   ` (3 preceding siblings ...)
  2004-08-06 20:34 ` pinskia at gcc dot gnu dot org
@ 2004-08-06 23:58 ` reichelt at gcc dot gnu dot org
  2004-08-10  1:43 ` pinskia 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 @ 2004-08-06 23:58 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From reichelt at gcc dot gnu dot org  2004-08-06 23:58 -------
The following example is even smaller,
and it crashes the compiler since gcc 3.3:

================================
template<typename T> struct X
{
    X() { this->T::i; }
};

X<int> x;
================================


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |reichelt at gcc dot gnu dot
                   |                            |org
           Keywords|                            |monitored
      Known to work|                            |3.2.3
            Summary|[3.4/3.5 regression] ICE in |[3.3/3.4/3.5 regression] ICE
                   |finish_class_member_access_e|in
                   |xpr, at cp/typeck.c:1945    |finish_class_member_access_e
                   |                            |xpr, at cp/typeck.c:1945


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


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

* [Bug c++/16904] [3.3/3.4/3.5 regression] ICE in finish_class_member_access_expr, at cp/typeck.c:1945
  2004-08-06 19:30 [Bug c++/16904] New: ICE in finish_class_member_access_expr, at cp/typeck.c:1945 v dot haisman at sh dot cvut dot cz
                   ` (4 preceding siblings ...)
  2004-08-06 23:58 ` [Bug c++/16904] [3.3/3.4/3.5 " reichelt at gcc dot gnu dot org
@ 2004-08-10  1:43 ` pinskia at gcc dot gnu dot org
  2004-08-11 22:13 ` cvs-commit at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-10  1:43 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-08-10 01:43 -------
: Search converges between 2002-08-04-trunk (#84) and 2002-08-11-trunk (#85).


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gdr at gcc dot gnu dot org
      Known to fail|                            |3.3.3 3.4.0 3.5.0


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


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

* [Bug c++/16904] [3.3/3.4/3.5 regression] ICE in finish_class_member_access_expr, at cp/typeck.c:1945
  2004-08-06 19:30 [Bug c++/16904] New: ICE in finish_class_member_access_expr, at cp/typeck.c:1945 v dot haisman at sh dot cvut dot cz
                   ` (5 preceding siblings ...)
  2004-08-10  1:43 ` pinskia at gcc dot gnu dot org
@ 2004-08-11 22:13 ` cvs-commit at gcc dot gnu dot org
  2004-08-11 22:15 ` cvs-commit at gcc dot gnu dot org
  2004-08-11 22:19 ` mmitchel at gcc dot gnu dot org
  8 siblings, 0 replies; 10+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-08-11 22:13 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-08-11 22:13 -------
Subject: Bug 16904

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	mmitchel@gcc.gnu.org	2004-08-11 22:13:32

Modified files:
	gcc/cp         : ChangeLog parser.c pt.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/g++.dg/parse: error16.C 
	gcc/testsuite/g++.dg/template: error14.C error15.C 

Log message:
	PR c++/16964
	* parser.c (cp_parser_class_specifier): Robustify.
	
	PR c++/16904
	* pt.c (tsubst_copy_and_build): Complain about invalid
	qualification.
	
	PR c++/16929
	* pt.c (tsubst_default_argument): Clear out current_class_ptr and
	current_class_ref while tsubsting.
	
	PR c++/16964
	* g++.dg/parse/error16.C: New test.
	
	PR c++/16904
	* g++.dg/template/error14.C: New test.
	
	PR c++/16929
	* g++.dg/template/error15.C: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4269&r2=1.4270
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/parser.c.diff?cvsroot=gcc&r1=1.233&r2=1.234
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&r1=1.901&r2=1.902
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.4118&r2=1.4119
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/parse/error16.C.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/error14.C.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/error15.C.diff?cvsroot=gcc&r1=NONE&r2=1.1



-- 


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


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

* [Bug c++/16904] [3.3/3.4/3.5 regression] ICE in finish_class_member_access_expr, at cp/typeck.c:1945
  2004-08-06 19:30 [Bug c++/16904] New: ICE in finish_class_member_access_expr, at cp/typeck.c:1945 v dot haisman at sh dot cvut dot cz
                   ` (6 preceding siblings ...)
  2004-08-11 22:13 ` cvs-commit at gcc dot gnu dot org
@ 2004-08-11 22:15 ` cvs-commit at gcc dot gnu dot org
  2004-08-11 22:19 ` mmitchel at gcc dot gnu dot org
  8 siblings, 0 replies; 10+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-08-11 22:15 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-08-11 22:14 -------
Subject: Bug 16904

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_4-branch
Changes by:	mmitchel@gcc.gnu.org	2004-08-11 22:14:44

Modified files:
	gcc/cp         : ChangeLog parser.c pt.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/g++.dg/parse: error16.C 
	gcc/testsuite/g++.dg/template: error14.C error15.C 

Log message:
	PR c++/16964
	* parser.c (cp_parser_class_specifier): Robustify.
	
	PR c++/16904
	* pt.c (tsubst_copy_and_build): Complain about invalid
	qualification.
	
	PR c++/16929
	* pt.c (tsubst_default_argument): Clear out current_class_ptr and
	current_class_ref while tsubsting.
	
	PR c++/16964
	* g++.dg/parse/error16.C: New test.
	
	PR c++/16904
	* g++.dg/template/error14.C: New test.
	
	PR c++/16929
	* g++.dg/template/error15.C: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.3892.2.140&r2=1.3892.2.141
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/parser.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.157.2.36&r2=1.157.2.37
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.816.2.36&r2=1.816.2.37
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.3389.2.243&r2=1.3389.2.244
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/parse/error16.C.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/error14.C.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/error15.C.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=NONE&r2=1.1.2.1



-- 


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


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

* [Bug c++/16904] [3.3/3.4/3.5 regression] ICE in finish_class_member_access_expr, at cp/typeck.c:1945
  2004-08-06 19:30 [Bug c++/16904] New: ICE in finish_class_member_access_expr, at cp/typeck.c:1945 v dot haisman at sh dot cvut dot cz
                   ` (7 preceding siblings ...)
  2004-08-11 22:15 ` cvs-commit at gcc dot gnu dot org
@ 2004-08-11 22:19 ` mmitchel at gcc dot gnu dot org
  8 siblings, 0 replies; 10+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-08-11 22:19 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2004-08-11 22:19 -------
Fixed in GCC 3.4.2.

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


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


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

end of thread, other threads:[~2004-08-11 22:19 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-06 19:30 [Bug c++/16904] New: ICE in finish_class_member_access_expr, at cp/typeck.c:1945 v dot haisman at sh dot cvut dot cz
2004-08-06 19:31 ` [Bug c++/16904] " v dot haisman at sh dot cvut dot cz
2004-08-06 19:57 ` [Bug c++/16904] [3.4/3.5 regression] " bangerth at dealii dot org
2004-08-06 19:59 ` bangerth at dealii dot org
2004-08-06 20:34 ` pinskia at gcc dot gnu dot org
2004-08-06 23:58 ` [Bug c++/16904] [3.3/3.4/3.5 " reichelt at gcc dot gnu dot org
2004-08-10  1:43 ` pinskia at gcc dot gnu dot org
2004-08-11 22:13 ` cvs-commit at gcc dot gnu dot org
2004-08-11 22:15 ` cvs-commit at gcc dot gnu dot org
2004-08-11 22:19 ` mmitchel 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).