public inbox for gcc-prs@sourceware.org help / color / mirror / Atom feed
From: Robert Boehne <rboehne@ricardo-us.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, Subject: Re: c++/4122: undefined reference to `non-virtual thunk to ...' Date: Fri, 14 Dec 2001 15:16:00 -0000 [thread overview] Message-ID: <20011214231602.2926.qmail@sources.redhat.com> (raw) The following reply was made to PR c++/4122; it has been noted by GNATS. From: Robert Boehne <rboehne@ricardo-us.com> To: gcc-gnats@gcc.gnu.org, gcc-prs@gcc.gnu.org, juergen@monocerus.demon.co.uk, boehme@informatik.hu-berlin.de, loewis@informatik.hu-berlin.de, rboehne@ricardo-us.com, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org, michael@ritzert.de Cc: jason_merrill@redhat.com Subject: Re: c++/4122: undefined reference to `non-virtual thunk to ...' Date: Fri, 14 Dec 2001 17:04:59 -0600 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=4122 Hello, I've tracked this problem down to the changes applied on June 6, 2001 in the gcc-3_0-branch that correspond to this ChangeLog entry: 2001-06-06 Jason Merrill <jason_merrill@redhat.com> * cp-tree.h (THUNK_GENERATE_WITH_VTABLE_P): Lose. (struct lang_decl_flags): Lose generate_with_vtable_p. (BV_GENERATE_THUNK_WITH_VTABLE_P): Lose. * class.c (copy_virtuals): Adjust. * decl2.c (mark_vtable_entries): Adjust. * method.c (make_thunk, build_vtable_entry): Adjust. * class.c (update_vtable_entry_for_fn): Only look as far as the first defining class. (build_vtbl_initializer): Put nothing in the slot for a function only defined in a lost primary virtual base. (add_vcall_offset_vtbl_entries_1): Use the same code for the lost primary case and the normal case. (dfs_unshared_virtual_bases): Don't lose a non-virtual primary base. (get_vfield_offset, get_derived_offset): Lose. (dfs_find_final_overrider): Use look_for_overrides_here. (get_matching_virtual): New fn. * semantics.c (emit_associated_thunks): Check BV_USE_VCALL_INDEX_P, not BV_VCALL_INDEX. * search.c (look_for_overrides_here): Split out from... (look_for_overrides_r): Here. * class.c (find_final_overrider): Return error_mark_node on error. This problem is present in all releases of 3.0 as well as CVS head. My uninitiated eye can't definitively say, but it looks suspicious that a macro named "THUNK_GENERATE_WITH_VTABLE_P" was removed in this patch. I hope to have a valid patch to fix this problem before year's end, but I won't be the least bit upset if someone else figures this out before I do. Any insight into the problem would be appreciated. I determined this by checking out the branch with -rgcc-3_0-branch -D "June 6, 2001 4:00pm" and bootstrapping, then attempting to compile the i2.cpp example attached to the PR in GNATS (which compiles and runs without error) then updating cvs by another four hours (-rgcc-3_0-branch -D "June 6, 2001 8:00pm") and repeating. Thanks, Robert Boehne
next reply other threads:[~2001-12-14 23:16 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2001-12-14 15:16 Robert Boehne [this message] -- strict thread matches above, loose matches on Subject: below -- 2002-01-11 4:49 rodrigc 2002-01-10 7:46 Robert Boehne 2002-01-10 5:26 Michael Ritzert 2002-01-09 22:31 rodrigc 2001-12-21 4:56 Nathan Sidwell 2001-12-20 8:16 Robert Boehne 2001-12-19 19:26 Jason Merrill 2001-12-19 18:56 Robert Boehne 2001-08-25 3:46 michael
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=20011214231602.2926.qmail@sources.redhat.com \ --to=rboehne@ricardo-us.com \ --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).