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


             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: link
Be 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).