From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26585 invoked by alias); 27 Apr 2003 04:56:00 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 26564 invoked by uid 71); 27 Apr 2003 04:56:00 -0000 Resent-Date: 27 Apr 2003 04:56:00 -0000 Resent-Message-ID: <20030427045600.26563.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, gianni@mariani.ws Received: (qmail 21639 invoked by uid 48); 27 Apr 2003 04:49:50 -0000 Message-Id: <20030427044950.21638.qmail@sources.redhat.com> Date: Sun, 27 Apr 2003 04:56:00 -0000 From: gianni@mariani.ws Reply-To: gianni@mariani.ws To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c++/10511: tt.cpp:61: Internal compiler error in decay_conversion, at cp/typeck.c:1679 X-SW-Source: 2003-04/txt/msg01206.txt.bz2 List-Id: >Number: 10511 >Category: c++ >Synopsis: tt.cpp:61: Internal compiler error in decay_conversion, at cp/typeck.c:1679 >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Sun Apr 27 04:56:00 UTC 2003 >Closed-Date: >Last-Modified: >Originator: gianni@mariani.ws >Release: gcc (GCC) 3.2.1 >Organization: >Environment: Linux RH 7.2 Configured with: /home/gianni/downloads/gcc/gcc-3.2.1/configure --enable-threads=posix --enable-shared --prefix=/home/gianni/downloads/gcc/gcc-3.2.1-install Thread model: posix gcc version 3.2.1 >Description: compiler says it has an error. It seems like a parser error. Complete code below the error output. g++ tt.cpp -o tt tt.cpp: In member function `void Zoo::B::Fooey(Zoo::A*)': tt.cpp:61: Internal compiler error in decay_conversion, at cp/typeck.c:1679 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. make: *** [tt] Error 1 class Zoo { public: class B; class A { public: A * m_mem1; A * m_mem2; A * m_mem3; template < A * A::* w_aa, A * A::* w_ab, A * A::* w_ac, A * B::* w_ba, A * B::* w_bb, A * B::* w_bc > void TFUNC_A( A * i_1 ) { i_1->w_ac = i_1; } }; class B { public: A * m_b1; A * m_b2; A * m_b3; template < A * A::* w_aa, A * A::* w_ab, A * A::* w_ac, A * B::* w_ba, A * B::* w_bb, A * B::* w_bc > void TFUNC_B( A * i_1 ) { i_1->TFUNC_A( m_b1 ); } typedef void ( B::* ff )( A * i_1 ); void Fooey( A * i_1 ) { ff gg = TFUNC_B< (&A::m_mem1),(&A::m_mem2),(&A::m_mem3),(&::Zoo::B::m_b1),(&::Zoo::B::m_b2),(&::Zoo::B::m_b3) >; this->TFUNC_B< (&A::m_mem1),(&A::m_mem2),(&A::m_mem3),(&B::m_b1),(&B::m_b2),(&B::m_b3) >( i_1 ); } }; }; int main() { Zoo::A a[1]; Zoo::B b[1]; b->Fooey( a ); } >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: