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