From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13568 invoked by alias); 16 Nov 2011 07:29:29 -0000 Received: (qmail 13560 invoked by uid 22791); 16 Nov 2011 07:29:28 -0000 X-SWARE-Spam-Status: No, hits=-2.9 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 16 Nov 2011 07:28:34 +0000 From: "cas43 at cs dot stanford.edu" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/51154] internal compiler error: gimplification failed Date: Wed, 16 Nov 2011 07:44:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: cas43 at cs dot stanford.edu X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2011-11/txt/msg01604.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D51154 --- Comment #1 from Craig Schroeder 2011-11-= 16 07:28:29 UTC --- Created attachment 25834 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=3D25834 Variation on same source causing failure with different message. This variant on the source file ICE's with this message: [lots of errors here] g++: internal compiler error: Segmentation fault (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate. See for instructions. Full diagnostic: two.cpp:7:33: error: expected =E2=80=98;=E2=80=99 after class definition two.cpp:19:20: error: =E2=80=98T=E2=80=99 was not declared in this scope two.cpp:19:21: error: template argument 1 is invalid two.cpp:39:36: error: =E2=80=98T=E2=80=99 does not name a type two.cpp:39:38: error: ISO C++ forbids declaration of =E2=80=98dt=E2=80=99 w= ith no type [-fpermissive] two.cpp:39:47: error: =E2=80=98T=E2=80=99 does not name a type two.cpp:39:49: error: ISO C++ forbids declaration of =E2=80=98time=E2=80=99= with no type [-fpermissive] two.cpp:45:18: error: =E2=80=98STREAM_TYPE=E2=80=99 does not name a type two.cpp:52:80: error: =E2=80=98T=E2=80=99 does not name a type two.cpp:52:82: error: ISO C++ forbids declaration of =E2=80=98dt=E2=80=99 w= ith no type [-fpermissive] two.cpp:52:91: error: =E2=80=98T=E2=80=99 does not name a type two.cpp:52:93: error: ISO C++ forbids declaration of =E2=80=98time=E2=80=99= with no type [-fpermissive] two.cpp: In member function =E2=80=98void ADVECTION_DRIVER::Scalar_Adva= nce(int, int)=E2=80=99: two.cpp:53:15: error: =E2=80=98T=E2=80=99 was not declared in this scope two.cpp:53:17: error: =E2=80=98TV_INT=E2=80=99 was not declared in this sco= pe two.cpp:53:23: error: template argument 1 is invalid two.cpp:53:23: error: template argument 2 is invalid two.cpp:53:38: error: invalid type in declaration before =E2=80=98(=E2=80= =99 token two.cpp: In instantiation of =E2=80=98class VECTOR=E2=80=99: two.cpp:43:37: required from =E2=80=98class ADVECTION_EXAMPLE >=E2=80=99 two.cpp:53:79: required from =E2=80=98void ADVECTION_DRIVER::Scalar_A= dvance(int, int) [with TV =3D VECTOR]=E2=80=99 two.cpp:55:25: required from here two.cpp:8:37: error: invalid use of incomplete type =E2=80=98class VECTOR_B= ASE >=E2=80=99 two.cpp:6:40: error: declaration of =E2=80=98class VECTOR_BASE >=E2=80=99 two.cpp: In instantiation of =E2=80=98class ADVECTION_EXAMPLE >=E2=80=99: two.cpp:53:79: required from =E2=80=98void ADVECTION_DRIVER::Scalar_A= dvance(int, int) [with TV =3D VECTOR]=E2=80=99 two.cpp:55:25: required from here two.cpp:12:21: error: =E2=80=98typedef float VECTOR::SCALAR=E2=80= =99 is private two.cpp:43:37: error: within this context two.cpp:9:35: error: =E2=80=98template struct VECTOR::R= EBIND=E2=80=99 is private two.cpp:44:57: error: within this context two.cpp:12:21: error: =E2=80=98typedef float VECTOR::SCALAR=E2=80= =99 is private two.cpp:47:25: error: within this context two.cpp:9:35: error: =E2=80=98template struct VECTOR::R= EBIND=E2=80=99 is private two.cpp:47:25: error: within this context two.cpp: In instantiation of =E2=80=98class ARRAYS_ND_BASE= >=E2=80=99: two.cpp:23:37: required from =E2=80=98class ARRAY >= =E2=80=99 two.cpp:47:25: required from =E2=80=98class ADVECTION_EXAMPLE >=E2=80=99 two.cpp:53:79: required from =E2=80=98void ADVECTION_DRIVER::Scalar_A= dvance(int, int) [with TV =3D VECTOR]=E2=80=99 two.cpp:55:25: required from here two.cpp:14:32: error: no type named =E2=80=98ELEMENT=E2=80=99 in =E2=80=98c= lass VECTOR=E2=80=99 two.cpp:15:14: error: =E2=80=98dimension=E2=80=99 is not a member of =E2=80= =98VECTOR=E2=80=99 two.cpp: In instantiation of =E2=80=98class VECTOR=E2=80=99: two.cpp:18:16: required from =E2=80=98class ARRAYS_ND_BASE >=E2=80=99 two.cpp:23:37: required from =E2=80=98class ARRAY >= =E2=80=99 two.cpp:47:25: required from =E2=80=98class ADVECTION_EXAMPLE >=E2=80=99 two.cpp:53:79: required from =E2=80=98void ADVECTION_DRIVER::Scalar_A= dvance(int, int) [with TV =3D VECTOR]=E2=80=99 two.cpp:55:25: required from here two.cpp:8:37: error: invalid use of incomplete type =E2=80=98class VECTOR_B= ASE >=E2=80=99 two.cpp:6:40: error: declaration of =E2=80=98class VECTOR_BASE >=E2=80=99 two.cpp: In instantiation of =E2=80=98class ARRAY >= =E2=80=99: two.cpp:47:25: required from =E2=80=98class ADVECTION_EXAMPLE >=E2=80=99 two.cpp:53:79: required from =E2=80=98void ADVECTION_DRIVER::Scalar_A= dvance(int, int) [with TV =3D VECTOR]=E2=80=99 two.cpp:55:25: required from here two.cpp:19:23: error: =E2=80=98int ARRAYS_ND_BASE >::array= =E2=80=99 is private two.cpp:23:37: error: within this context two.cpp:18:16: error: =E2=80=98ARRAYS_ND_BASE >::TV_INT ARRAYS_ND_BASE >::counts=E2=80=99 is private two.cpp:23:37: error: within this context two.cpp: In instantiation of =E2=80=98void ADVECTION_DRIVER::Scalar_Adv= ance(int, int) [with TV =3D VECTOR]=E2=80=99: two.cpp:55:25: required from here two.cpp:53:79: error: expression list treated as compound expression in initializer [-fpermissive] two.cpp: In instantiation of =E2=80=98class VECTOR=E2=80=99: two.cpp:53:79: required from =E2=80=98void ADVECTION_DRIVER::Scalar_A= dvance(int, int) [with TV =3D VECTOR]=E2=80=99 two.cpp:55:25: required from here two.cpp:8:37: error: invalid use of incomplete type =E2=80=98class VECTOR_B= ASE >=E2=80=99 two.cpp:6:40: error: declaration of =E2=80=98class VECTOR_BASE >=E2=80=99 two.cpp: In instantiation of =E2=80=98void ARRAY >::Resiz= e(const RANGE >&, bool, bool, const T&) [with T =3D float; int d =3D= 1]=E2=80=99: two.cpp:50:9: required from =E2=80=98void ADVECTION_DRIVER::Initializ= e() [with TV =3D VECTOR]=E2=80=99 two.cpp:55:25: required from here two.cpp:31:46: error: =E2=80=98const class RANGE >=E2=80=99 = has no member named =E2=80=98Edge_Lengths=E2=80=99 two.cpp:20:55: error: =E2=80=98ARRAYS_ND_BASE& ARRAYS_ND_BASE::oper= ator=3D(const T_ARRAY2&) [with T_ARRAY2 =3D VECTOR; TV =3D VECTOR; ARRAYS_ND_BASE =3D ARRAYS_ND_BASE >]=E2=80=99 is priva= te two.cpp:32:3: error: within this context g++: internal compiler error: Segmentation fault (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate. See for instructions.