[
https://issues.apache.org/jira/browse/STDCXX-119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12608488#action_12608488
]
Farid Zaripov commented on STDCXX-119:
--------------------------------------
It seems that compiler should instantiate the vtable for std::iostream in
testcase object file, but dllimport attribute on B mistakenly brings it to
think, that vtable for base class is also should be imported from external
shared library.
> [Intel C++ 8.1/Windows 2000] vtable related unsats in threaded optimized
> builds
> -------------------------------------------------------------------------------
>
> Key: STDCXX-119
> URL: https://issues.apache.org/jira/browse/STDCXX-119
> Project: C++ Standard Library
> Issue Type: Bug
> Components: 27. Input/Output
> Affects Versions: 4.1.2
> Environment: $ icl -help 2>&1 | head -n 3
> Intel(R) C++ Compiler for 32-bit applications, Version 8.1 Build 20050201Z
> Package ID: w_cc_pc_8.1.025
> Copyright (C) 1985-2005 Intel Corporation. All rights reserved.
> Windows 2000 Professional SP2
> Reporter: Liviu Nicoara
> Assignee: Travis Vitek
> Fix For: 4.2.2
>
>
> (Incident e-mail at:
> http://mail-archives.apache.org/mod_mbox/incubator-stdcxx-dev/200601.mbox/raw/[EMAIL
> PROTECTED]/)
> The following test case fails to link:
> $ cat t.cpp
> #include <sstream>
> struct A : public std::iostream
> {
> A () : std::iostream (0) { }
> };
> #include <strstream>
> int main ()
> {
> std::stringstream ss;
> ss << int (0);
> return 0;
> }
> and yields:
> icl -D_RWCONFIG=12d -I.\..\..\..\../include -I.\..\..\..\../include/ansi
> -I.\..\..\..\.. -I.\..\..\..\.. -I.. -I. -nologo -GX -MD -O2 -c ..\t.cpp
> t.cpp
> Microsoft (R) Program Maintenance Utility Version 7.10.3077
> Copyright (C) Microsoft Corporation. All rights reserved.
> link -nologo /NODEFAULTLIB:msvcprt /LIBPATH:.\..\..\..\..\lib
> /OUT:t.exe t.obj tlt12d.lib ftp12d.lib thread12d.lib itc12d.lib
> functor_list12d.lib internet12d.lib functor12d.lib pointer12d.lib sync12d.lib
> threxcept12d.lib trace12d.lib network12d.lib ws2_32.lib tls12d.lib std12d.lib
> user32.lib
> t.obj : error LNK2019: unresolved external symbol "const
> std::basic_iostream<char,struct std::char_traits<char> >::`vftable'"
> ([EMAIL PROTECTED]@[EMAIL PROTECTED]@@@std@@6B@) referenced in
> function _main
> t.obj : error LNK2019: unresolved external symbol "const
> std::basic_iostream<char,struct std::char_traits<char> >::`vbtable'{for
> `std::basic_istream<char,struct std::char_traits<char> >'}"
> ([EMAIL PROTECTED]@[EMAIL PROTECTED]@@@std@@[EMAIL PROTECTED]@[EMAIL
> PROTECTED]@@@1@@)
> referenced in function _main
> t.obj : error LNK2019: unresolved external symbol "const
> std::basic_iostream<char,struct std::char_traits<char> >::`vbtable'{for
> `std::basic_ostream<char,struct std::char_traits<char> >'}"
> ([EMAIL PROTECTED]@[EMAIL PROTECTED]@@@std@@[EMAIL PROTECTED]@[EMAIL
> PROTECTED]@@@1@@)
> referenced in function _main
> t.exe : fatal error LNK1120: 3 unresolved externals
> NMAKE : fatal error U1077: 'link' : return code '0x460'
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.