public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c++/9443: ICE in resolve_scoped_fn_name, at cp/call.c:2604
@ 2003-01-31 15:56 Volker Reichelt
0 siblings, 0 replies; 4+ messages in thread
From: Volker Reichelt @ 2003-01-31 15:56 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR c++/9443; it has been noted by GNATS.
From: Volker Reichelt <reichelt@igpm.rwth-aachen.de>
To: gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org, larsbj@gullik.net
Cc:
Subject: Re: c++/9443: ICE in resolve_scoped_fn_name, at cp/call.c:2604
Date: Fri, 31 Jan 2003 17:50:18 +0100
That was really a tough one, but here's a shorter testcase, nevertheless:
-----------------------------snip here------------------------------
struct A
{
int i;
};
template <int> struct B
{
int foo() { return A::i; } // illegal
};
void bar() { B<0>().foo(); }
-----------------------------snip here------------------------------
With gcc 3.4-20030127 I get the following ICE (which matches the submitter's):
PR9443.ii: In member function `void* B<<anonymous> >::foo() [with int
<anonymous> = 0]':
PR9443.ii:11: instantiated from here
PR9443.ii:8: internal compiler error: in c_expand_expr, at c-common.c:4338
Please submit a full bug report, [etc.]
So that's in fact an ice-on-illegal-code. (Wolfgang, you got a different
ICE, did you configure your compiler with --enable-checking?)
When I get rid of the unused template parameter, I get a segfault instead.
Even stranger: If I replace "return A::i;" by "return A::j;" the code compiles,
although "j" is defined nowhere. So that's an additional accepts-illegal.
Since we get no error message with 3.2/3.3 branch, I rate this as a
regression. (Although the error message is a little misleading:
PR9443.ii:8: error: type `A' is not a base type for type `B<0>')
Regards,
Volker
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9443
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: c++/9443: ICE in resolve_scoped_fn_name, at cp/call.c:2604
@ 2003-01-31 16:16 Volker Reichelt
0 siblings, 0 replies; 4+ messages in thread
From: Volker Reichelt @ 2003-01-31 16:16 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR c++/9443; it has been noted by GNATS.
From: Volker Reichelt <reichelt@igpm.rwth-aachen.de>
To: gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org, larsbj@gullik.net
Cc:
Subject: Re: c++/9443: ICE in resolve_scoped_fn_name, at cp/call.c:2604
Date: Fri, 31 Jan 2003 18:08:33 +0100
Oops, I forgot a couple of words:
> Since we get no error message with 3.2/3.3 branch, I rate this as a
this should read instead: Since we get no ICE but a normal error message
...
> regression. (Although the error message is a little misleading:
> PR9443.ii:8: error: type `A' is not a base type for type `B<0>')
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9443
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: c++/9443: ICE in resolve_scoped_fn_name, at cp/call.c:2604
@ 2003-01-29 9:46 Giovanni Bajo
0 siblings, 0 replies; 4+ messages in thread
From: Giovanni Bajo @ 2003-01-29 9:46 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR c++/9443; it has been noted by GNATS.
From: "Giovanni Bajo" <giovannibajo@libero.it>
To: <gcc-gnats@gcc.gnu.org>,
<gcc-bugs@gcc.gnu.org>,
<nobody@gcc.gnu.org>,
<gcc-prs@gcc.gnu.org>,
<larsbj@gullik.net>
Cc:
Subject: Re: c++/9443: ICE in resolve_scoped_fn_name, at cp/call.c:2604
Date: Wed, 29 Jan 2003 10:35:10 +0100
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&p
r=9443
Isn't __attribute__((unused)) meant to be used for functions? The code looks
like:
template<typename _CharT>
__timepunct<_CharT>::__timepunct(__c_locale int __cloc,
const char* __s __attribute__
((__unused__)),
size_t __refs)
which confuses G++ 3.2, but at least reporting a correct error. So I don't
see any bug with 3.2.
Giovanni Bajo
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: c++/9443: ICE in resolve_scoped_fn_name, at cp/call.c:2604
@ 2003-01-28 15:36 bangerth
0 siblings, 0 replies; 4+ messages in thread
From: bangerth @ 2003-01-28 15:36 UTC (permalink / raw)
To: gcc-bugs, gcc-prs, larsbj, nobody
Old Synopsis: ICE when using Boost Signals.
New Synopsis: ICE in resolve_scoped_fn_name, at cp/call.c:2604
State-Changed-From-To: open->analyzed
State-Changed-By: bangerth
State-Changed-When: Tue Jan 28 15:36:46 2003
State-Changed-Why:
Confirmed. I'm not making progress reducing this weird Boost
stuff to something more tractable and don't have the time
right now, but at least I can confirm that it crashed
the compiler:
g/a> /home/bangerth/bin/gcc-3.4-pre/bin/c++ -c boost.ice.ii
boost.ice.ii:33269: error: expected class-name
boost.ice.ii:33269: error: expected `{'
boost.ice.ii:33269: error: expected unqualified-id
boost.ice.ii:33269: error: expected expected `;'
[... lot's of errors deleted ...]
boost.ice.ii:40250: internal compiler error: tree check: expected class 't',
have 'x' (error_mark) in resolve_scoped_fn_name, at cp/call.c:2604
Please submit a full bug report,
Previous versions of gcc back to 3.0 just get confused by
earlier errors (so same story), and the preprocessed sources
don't compile with 2.95 at all.
W.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9443
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2003-01-31 16:16 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-01-31 15:56 c++/9443: ICE in resolve_scoped_fn_name, at cp/call.c:2604 Volker Reichelt
-- strict thread matches above, loose matches on Subject: below --
2003-01-31 16:16 Volker Reichelt
2003-01-29 9:46 Giovanni Bajo
2003-01-28 15:36 bangerth
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).