c++/3971: compilation problem with templates and inheritance

kennedy@roguewave.com kennedy@roguewave.com
Wed Aug 8 15:56:00 GMT 2001


>Number:         3971
>Category:       c++
>Synopsis:       compilation problem with templates and inheritance
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Aug 08 15:56:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     kennedy@roguewave.com
>Release:        2.95.2
>Organization:
>Environment:
linux
>Description:
The following testcase fails to compile with these errors:
/tmp/cczRL2T7.o: In function `A<int>::show(void)':
/tmp/cczRL2T7.o(.A<int>::gnu.linkonce.t.show(void)+0x19): undefined reference to `cout'
/tmp/cczRL2T7.o(.A<int>::gnu.linkonce.t.show(void)+0x1e): undefined reference to `ostream::operator<<(int)'
/tmp/cczRL2T7.o(.A<int>::gnu.linkonce.t.show(void)+0x29): undefined reference to `ostream::operator<<(char const *)'
collect2: ld returned 1 exit status
>How-To-Repeat:
gcc -o private private.cpp
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/x-unknown-content-type-cppfile; name="private.cpp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="private.cpp"

I2luY2x1ZGUgPG1hdGguaD4NCiNpbmNsdWRlIDxpb3N0cmVhbS5oPg0KDQp0ZW1wbGF0ZTwgY2xh
c3MgVCA+IGNsYXNzIEI7DQoNCnRlbXBsYXRlPCBjbGFzcyBUID4gDQpjbGFzcyBBDQp7DQpwdWJs
aWM6DQogIEEoVCB4PTApIHtkYXRhPXg7fQ0KICBBKGNvbnN0IEE8VD4gJlgpIDogZGF0YShYLmRh
dGEpIHt9DQogIHN0YXRpYyBBPFQ+IG11bHRpcGx5KGNvbnN0IEE8VD4gJmEsIGNvbnN0IEE8VD4g
JmIpOw0KICB2b2lkIHNob3coKSB7IGNvdXQgPDxkYXRhIDw8IlxuIjsgfQ0KcHJpdmF0ZToNCiAg
VCBkYXRhOw0KfTsgIA0KDQp0ZW1wbGF0ZTwgY2xhc3MgVCA+IA0KY2xhc3MgQiA6IHByaXZhdGUg
QTxUPg0Kew0KcHVibGljOg0KICBCKFQgeD0wKSA6IEE8VD4oeCkge30NCiAgQihjb25zdCBBPFQ+
ICZYICkgOiBBPFQ+KFgpIHs7fQ0KICB2b2lkIHNob3coKSB7IEE8VD46OnNob3coKTsgfQ0KfTsN
Cg0KdGVtcGxhdGU8IGNsYXNzIFQ+DQpBPFQ+IEE8VD46Om11bHRpcGx5KGNvbnN0IEE8VD4gJmEs
IGNvbnN0IEE8VD4gJmIpIA0KeyANCiAgcmV0dXJuIEE8VD4oYS5kYXRhICogYi5kYXRhKTsgDQp9
DQoNCnRlbXBsYXRlPCBjbGFzcyBUPiANCmlubGluZSBBPFQ+IG9wZXJhdG9yICooY29uc3QgQTxU
PiAmYSwgY29uc3QgQTxUPiAmYikNCnsNCiAgcmV0dXJuIEE8VD46Om11bHRpcGx5KGEsYik7DQp9
DQoNCnRlbXBsYXRlPCBjbGFzcyBUPg0KaW5saW5lIEI8VD4gb3BlcmF0b3IgKihjb25zdCBCPFQ+
ICZhLCBjb25zdCBCPFQ+ICZiKQ0Kew0KICByZXR1cm4gKGNvbnN0IEE8VD4gJilhICogKGNvbnN0
IEE8VD4gJiliOw0KfQ0KDQovLyBUcnkgY29tbWVudGluZyBvdXQgdGhpcyBvcGVyYXRvcg0KdGVt
cGxhdGU8IGNsYXNzIFQ+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL1sxXQ0K
aW5saW5lIEI8VD4gb3BlcmF0b3IgKihjb25zdCBCPFQ+ICZhLCBjb25zdCBBPFQ+ICZiKSAvL1sx
XQ0KeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
L1sxXQ0KICByZXR1cm4gKGNvbnN0IEE8VD4gJilhICogYjsgICAgICAgICAgICAgICAgICAgICAg
ICAvL1sxXQ0KfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvL1sxXQ0KDQoNCg0KaW50IG1haW4oKQ0Kew0KICBCPGludD4gbzIoMTAwKTsNCiAgQTxp
bnQ+IG8xKDI2KTsNCiAgbzIgPSBvMiAqIG8xOw0KICBvMi5zaG93KCk7DQogIHJldHVybiAxOw0K
fQ0K



More information about the Gcc-prs mailing list