public inbox for gcc-prs@sourceware.org help / color / mirror / Atom feed
From: Michael Matz <matz@suse.de> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, Subject: Re: c++/9524: ICE in c_expand_expr, at c-common.c:4319 when compiling boost 1.29.0 Date: Fri, 14 Feb 2003 15:46:00 -0000 [thread overview] Message-ID: <20030214154601.8873.qmail@sources.redhat.com> (raw) The following reply was made to PR c++/9524; it has been noted by GNATS. From: Michael Matz <matz@suse.de> To: <reichelt@igpm.rwth-aachen.de> Cc: <gcc-bugs@gcc.gnu.org>, <gcc-prs@gcc.gnu.org>, <gcc-gnats@gcc.gnu.org>, <larsbj@gullik.net>, Mark Mitchell <mark@codesourcery.com> Subject: Re: c++/9524: ICE in c_expand_expr, at c-common.c:4319 when compiling boost 1.29.0 Date: Fri, 14 Feb 2003 13:27:43 +0100 (CET) Hi, reichelt@igpm.rwth-aachen.de writes: > State-Changed-From-To: open->analyzed > State-Changed-Why: > The code does indeed crash the compiler. > I bet this is the same failure as in PR 9443. > Just to be sure, however, I'm leaving the PR open. A very reduced testcase for this error is: -------- snip ------------- struct B { void (*f)(void); void g(); }; void B::g() { B::f(); } --------- snap ------------ This compiled with either 3.3 CVS or HEAD ICEs the compiler exhibits the abort. The causing patch for this is a big one from Mark, ChangeLog starting with: +2002-07-31 Mark Mitchell <mark@codesourcery.com> + + * call.c (build_field_call): Do not look up the field by name. + (build_method_call): Simplify. + (struct z_candidate): Add access_path and conversion_path. Remove + basetype_path. + (convert_class_to_reference): Adjust use of + add_function_candidate. + (add_candidate): Add conversion_path argument. .... When one removes the qualification from the call (i.e. replace 'B::f()' with 'f()'), the file compiles. The difference is, that while expanding the call, in the working case it's a: <call_expr 0x40159d00 ... arg 0 <component_ref 0x40159ce0 type <pointer_type 0x40189e70 type <function_type 0x4015e2a0> ... while in the broken case the call expressions is a: <call_expr 0x40159ce0 ... arg 0 <field_decl 0x40189ee0 f ... A field_decl is never expected as the first elem of a call_expr, and this makes finally the expansion functions crash. Ciao, Michael.
next reply other threads:[~2003-02-14 15:46 UTC|newest] Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top 2003-02-14 15:46 Michael Matz [this message] -- strict thread matches above, loose matches on Subject: below -- 2003-02-01 13:16 Lars Gullik Bjønnes 2003-01-31 21:43 reichelt 2003-01-31 13:16 larsbj
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20030214154601.8873.qmail@sources.redhat.com \ --to=matz@suse.de \ --cc=gcc-prs@gcc.gnu.org \ --cc=nobody@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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).