DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6903>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6903 Exported classes with inlined virtual functions. Summary: Exported classes with inlined virtual functions. Product: Xerces-C++ Version: 1.6.0 Platform: All URL: http://cvs.apache.org/viewcvs.cgi/xml- xerces/c/src/xercesc/sax/ErrorHandler.hpp?rev=1.1.1.1&co ntent-type=text/vnd.viewcvs-markup OS/Version: All Status: NEW Severity: Minor Priority: Other Component: SAX/SAX2 AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Some SAX classes like SAX/ErrorHandler, looks like: class SAX_EXPORT ErrorHandler { public: ErrorHandler() {} virtual ~ErrorHandler() {} }; When linking Xerces DLL to my program, my linker (CodeWarrior) gives multiple definied warning(s): ErrorHandler::~ErrorHandler is defined in the XERCES.DLL, and in application. Since the destructor is virtual, exported, inlined the linker is right. The descructor should no be inlined, or is should not be exported. Morover since all of the virtual functions has implementation, the compiler can generate a vtbl for it. So the vtbl is also defined twice. I think that the destructor's implementation should not be inlined. Regards, Miklos --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
