public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* c++/10782: undefined reference to `virtual thunk ...
@ 2003-05-14 14:46 dens
  0 siblings, 0 replies; 2+ messages in thread
From: dens @ 2003-05-14 14:46 UTC (permalink / raw)
  To: gcc-gnats


>Number:         10782
>Category:       c++
>Synopsis:       undefined reference to `virtual thunk ...
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed May 14 14:46:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     dens@stl.sarov.ru
>Release:        unknown-1.0
>Organization:
>Environment:
cat /proc/version 
Linux version 2.4.18-14smp (bhcompile@stripples.devel.redhat.com) (gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7)) #1 SMP Wed Sep 4 12:34:47 EDT 2002

cat /etc/issue
Red Hat Linux release 8.0 (Psyche)
Kernel \r on an \m

rpm -qa | grep gcc
gcc-gnat-3.2-7
gcc-objc-3.2-7
gcc-3.2-7
libgcc-3.2-7
gcc-g77-3.2-7
gcc-java-3.2-7
gcc-c++-3.2-7
>Description:
G++ doesn't generate virtual thunk for c21 destructor from attached sample:

nm gtest.o | grep c21D
000006e4 T _ZN3c183c193c21D0Ev
0000066a T _ZN3c183c193c21D1Ev
000005ec T _ZN3c183c193c21D2Ev
         U _ZTv0_n16_N3c183c193c21D0Ev
         U _ZTv0_n16_N3c183c193c21D1Ev
[dens@sr007lnx work]$ g++ gtest.cpp 
gtest.cpp:69: warning: direct base `c0::c1' inaccessible in `c8' due to 
   ambiguity
/home/dens/tmp/ccbwnzlp.o(.gnu.linkonce.d._ZTC3c264_N3c183c193c21E+0x30): undefined reference to `virtual thunk [v:0,-16] to c18::c19::c21::~c21 [in-charge]()'
/home/dens/tmp/ccbwnzlp.o(.gnu.linkonce.d._ZTC3c264_N3c183c193c21E+0x34): undefined reference to `virtual thunk [v:0,-16] to c18::c19::c21::~c21 [in-charge deleting]()'
collect2: ld returned 1 exit status
 
NB in case when c26 constructor is "inline" thunk is not needed. It isn't good also.
>How-To-Repeat:
g++ gtest.cpp
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="gtest.cpp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="gtest.cpp"

Y2xhc3MgYzAgCnsKICBwdWJsaWM6CiAgYzAoKTsKCiAgY2xhc3MgYzEgCiAgewogICAgcHVibGlj
OgogICAgYzEoKTsKCiAgICBzaWduZWQgY2hhciBtMDsKICAgIHN0YXRpYyBsb25nIGRvdWJsZSB2
b2xhdGlsZSB2MDsKCiAgfSAvKiBjbGFzcyBjMSAqLzsKCn0gLyogY2xhc3MgYzAgKi87CgpjMDo6
YzAoKSB7fQpjMDo6YzE6OmMxKCkge30KCm5hbWVzcGFjZSBzdGQgewoKICBjbGFzcyBjMyA6IAog
ICAgcHJpdmF0ZSB2aXJ0dWFsIDo6YzA6OmMxCiAgewogICAgcHVibGljOgogICAgYzMoKTsKCiAg
ICBjbGFzcyBjNiAKICAgIHsKICAgICAgcHVibGljOgogICAgICBjNigpOwoKICAgICAgY2xhc3Mg
YzcgOiBwdWJsaWMgdmlydHVhbCA6OmMwOjpjMQogICAgICB7CiAgICAgICAgcHVibGljOgogICAg
ICAgIGM3KCk7CgogICAgICAgIHZpcnR1YWwgfmM3KCk7CgogICAgICAgIHN0YXRpYyBkb3VibGUg
Y29uc3Qgdm9sYXRpbGUgdjE7CgogICAgICB9IC8qIGNsYXNzIGM3ICovOwoKICAgIH0gLyogY2xh
c3MgYzYgKi87CgogICAgdmlydHVhbCB+YzMoKTsKCiAgfSAvKiBjbGFzcyBjMyAqLzsKCiAgYzM6
OmMzKCkge30KCiAgYzM6On5jMygpIHt9CgogIGMzOjpjNjo6YzYoKSB7fQoKICBjMzo6YzY6OmM3
OjpjNygpIHt9CgogIGMzOjpjNjo6Yzc6On5jNygpIHt9CgogIGRvdWJsZSBjb25zdCB2b2xhdGls
ZSBjMzo6YzY6OmM3Ojp2MSA9IDAuMDsKCn0gLyogbmFtZXNwYWNlIHN0ZCAqLwoKY2xhc3MgYzgg
OiAKICBwcm90ZWN0ZWQgdmlydHVhbCA6OmMwLAogIHB1YmxpYyB2aXJ0dWFsIDo6c3RkOjpjMzo6
YzY6OmM3LAogIHByb3RlY3RlZCA6OmMwOjpjMQp7CiAgcHVibGljOgogIGM4KCk7CgogIHN0cnVj
dCBjOSA6IAogICAgcHJvdGVjdGVkIDo6c3RkOjpjMzo6YzY6OmM3CiAgewogICAgYzkoKTsKCgog
ICAgdmlydHVhbCB+YzkoKTsKCiAgfSAvKiBzdHJ1Y3QgYzkgKi87CgoKfSAvKiBjbGFzcyBjOCAq
LzsKCmM4OjpjOCgpIHt9CgoKYzg6OmM5OjpjOSgpIHt9CgpjODo6Yzk6On5jOSgpIHt9CgoKCnN0
cnVjdCBjMTggOiAKICBwdWJsaWMgdmlydHVhbCA6OnN0ZDo6YzMKewogIGMxOCgpOwoKCiAgY2xh
c3MgYzE5IAogIHsKICAgIHB1YmxpYzoKICAgIGMxOSgpOwoKICAgIHN0cnVjdCBjMjEgOiAKICAg
ICAgcHVibGljIHZpcnR1YWwgOjpzdGQ6OmMzOjpjNjo6YzcsCiAgICAgIHB1YmxpYyA6OmM4CiAg
ICB7CiAgICAgIGMyMSgpOwoKCiAgICAgIHZpcnR1YWwgfmMyMSgpOwoKICAgIH0gLyogc3RydWN0
IGMyMSAqLzsKCiAgICB+YzE5KCk7CgogIH0gLyogY2xhc3MgYzE5ICovOwoKICB2aXJ0dWFsIH5j
MTgoKTsKCn0gLyogc3RydWN0IGMxOCAqLzsKCmMxODo6YzE4KCkge30KCmMxODo6fmMxOCgpIHt9
CgpjMTg6OmMxOTo6YzE5KCkge30KCmMxODo6YzE5Ojp+YzE5KCkge30KCmMxODo6YzE5OjpjMjE6
OmMyMSgpIHt9CgpjMTg6OmMxOTo6YzIxOjp+YzIxKCkge30KCnN0cnVjdCBjMjYgOiBwdWJsaWMg
dmlydHVhbCA6OmMxODo6YzE5OjpjMjEKewogICAgICBjMjYoKTsKfTsgCmMyNjo6YzI2KCkge30K
CgoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCiAgTWFpbiBQcm9ncmFtCioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKaW50Cm1h
aW4gKGludCBhcmdjLCBjaGFyICoqYXJndikgewpyZXR1cm4gMDsKfQo=


^ permalink raw reply	[flat|nested] 2+ messages in thread
* Re: c++/10782: undefined reference to `virtual thunk ...
@ 2003-05-14 15:11 bangerth
  0 siblings, 0 replies; 2+ messages in thread
From: bangerth @ 2003-05-14 15:11 UTC (permalink / raw)
  To: dens, gcc-bugs, gcc-prs, nobody

Synopsis: undefined reference to `virtual thunk ...

State-Changed-From-To: open->closed
State-Changed-By: bangerth
State-Changed-When: Wed May 14 15:11:28 2003
State-Changed-Why:
    Confirmed with 3.2.x, but already fixed in 3.3 and mainline

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=10782


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-05-14 15:11 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-05-14 14:46 c++/10782: undefined reference to `virtual thunk dens
2003-05-14 15:11 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).