This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/4135: Unable to link: "non-virtual thunk" in HPUX11 and AIX (gcc-3.0.1)
- From: rodrigc at gcc dot gnu dot org
- To: gcc-bugs at gcc dot gnu dot org, gcc-gnats at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, nobody at gcc dot gnu dot org, rodrigc at gcc dot gnu dot org, torbjorn dot gard at streamserve dot com
- Date: 12 Dec 2001 16:40:02 -0000
- Subject: Re: c++/4135: Unable to link: "non-virtual thunk" in HPUX11 and AIX (gcc-3.0.1)
Synopsis: Unable to link: "non-virtual thunk" in HPUX11 and AIX (gcc-3.0.1)
State-Changed-From-To: open->feedback
State-Changed-By: rodrigc
State-Changed-When: Wed Dec 12 08:40:01 2001
State-Changed-Why:
Does the patch you provided in PR 3536 solve
this problem?
Hello,
The thunks were actually generated and found in the object files but they
were not public so linking failed. Adding the three lower lines to the
function make_thunk() in /gcc/cp/method.c seems solve problem 3536.
Line 361:
/* And neither is it a clone. */
DECL_CLONED_FUNCTION (thunk) = NULL_TREE;
DECL_EXTERNAL (thunk) = 1;
+ /* Make the thunk public unless it is for a destructor */
+ if (!DECL_DESTRUCTOR_P (func_decl))
+ TREE_PUBLIC (thunk) = 1;
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=4135&database=gcc