From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23328 invoked by alias); 3 Dec 2002 01:35:07 -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 23308 invoked by uid 61); 3 Dec 2002 01:35:07 -0000 Date: Mon, 02 Dec 2002 17:35:00 -0000 Message-ID: <20021203013507.23307.qmail@sources.redhat.com> To: gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, marek.rouchal@infineon.com, nobody@gcc.gnu.org From: reichelt@igpm.rwth-aachen.de Reply-To: reichelt@igpm.rwth-aachen.de, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, marek.rouchal@infineon.com, nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org Subject: Re: c++/8173: ICE in g++ on compiling Qt-retated code (PerlQt module) X-SW-Source: 2002-12/txt/msg00109.txt.bz2 List-Id: Old Synopsis: Internal error in g++ on compiling Qt-retated code (PerlQt module) New Synopsis: ICE in g++ on compiling Qt-retated code (PerlQt module) State-Changed-From-To: open->analyzed State-Changed-By: reichelt State-Changed-When: Mon Dec 2 17:35:05 2002 State-Changed-Why: Confirmed. The code is in fact illegal, since in x_QTSManip::x_0 we have the expression (QTSMFI)x[1].s_int with x[1].s_int being an int and QTSMFI being defined as typedef int (QTextStream::*QTSMFI)(int); Mainline correctly reports x_QTSManip.cpp: In static member function `static void x_QTSManip::x_0(Smoke::StackItem*)': x_QTSManip.cpp:10: error: invalid conversion from 'int' to 'int (QTextStream::*)(int)' However, gcc 2.95.x - 3.2.1 fail with an ICE. A reduced testcase is the following: -----------------------snip here-------------------------- struct A { typedef int (A::* P)(int); A(P); }; A a((A::P)1); -----------------------snip here-------------------------- http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8173