[Bug c++/30425] New: [3.4/4.0/4.1 Regression] ICE in type_dependent_expression_p, at cp/pt.c:12739

tbm at cyrius dot com gcc-bugzilla@gcc.gnu.org
Wed Jan 10 15:22:00 GMT 2007


[ Forwarded from http://bugs.debian.org/406324 ]

Alexei Sheplyakov reports that gcc 3.4, 4.0 and 4.1 produces an ICE on the
following invalid code:

namespace A {
        class ex;
        struct f { f(const ex& x); };
}

namespace B {
        template<typename T> inline A::f g(const T& p) {
                return f(A::ex(p)); }
}


(sid)648:tbm@em64t: ~] gcc-4.1 -c -O t.cc
t.cc: In function ‘A::f B::g(const T&)’:
t.cc:8: internal compiler error: in type_dependent_expression_p, at
cp/pt.c:12745
Please submit a full bug report,

GCC 3.3 accepts this invalid code, and 4.2 rejects it with:

t.cc: In function 'A::f B::g(const T&)':
t.cc:3: error: argument dependent lookup finds 'struct A::f'
t.cc:8: error:   in call to 'f'


-- 
           Summary: [3.4/4.0/4.1 Regression] ICE in
                    type_dependent_expression_p, at cp/pt.c:12739
           Product: gcc
           Version: 4.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: tbm at cyrius dot com


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



More information about the Gcc-bugs mailing list