This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: c++/8173: ICE in g++ on compiling Qt-retated code (PerlQt module)


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]