My current AmorphousDB API (pure virtual) is defined without destructors. It compiles and works just fine on Visual Studio 10 and whatever the current gcc is on Linux.
Earlier versions of the compilers required the the inline definition of a protected destructor to compile without warning. To be completely frank, I didn't even notice that absence of the compiler warnings on my formal API until I looked a few minutes ago. This is a step forward, but somebody needs to decide how far back compilers to be accomodated. As a developer, I don't see anything wrong with requiring a modern compiler. As a user, however, I find it an incredible pain in the ass to have to hunt down and install a compiler, associated runtime, a new gdb, and work through the rats's nest of new bugs, warts, errors, and omissions. But if you really want inter-gcc version pain, try to maintain a subsystem that requires interpretation of Dwarf data. You run into include files with comments like, "If you aren't gdb, you shouldn't be looking at this file." > On Jul 22, 2014, at 8:20 AM, Jim Starkey <j...@jimstarkey.net> wrote: > > Public interface objects should be reference counted with a protected virtual > destructor. > > There are no issues with overloaded functions, though they do complicate the > mapping from object method to flat function names. On balance, it's probably > best to avoid them. > > Rtti is intended to salvage badly designed systems whose "designers" have > painted themselves into corners. > > > > >> On Jul 22, 2014, at 7:41 AM, Dmitry Yemanov <firebi...@yandex.ru> wrote: >> >> 21.07.2014 18:04, Alex Peshkoff wrote: >> >>> Ahh - it's related with multiple inheritance and rtti. Luckily we do not >>> use both in interfaces. >> >> Just for clarity - besides that, we must neither use virtual destructors >> nor overloaded methods to guarantee the stable vtable layout. >> >> >> Dmitry >> >> >> ------------------------------------------------------------------------------ >> Want fast and easy access to all the code in your enterprise? Index and >> search up to 200,000 lines of code with a free copy of Black Duck >> Code Sight - the same software that powers the world's largest code >> search on Ohloh, the Black Duck Open Hub! Try it now. >> http://p.sf.net/sfu/bds >> Firebird-Devel mailing list, web interface at >> https://lists.sourceforge.net/lists/listinfo/firebird-devel ------------------------------------------------------------------------------ Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel