When compiling the test suite for crypto++ 5.6.1 using LLVM, I got a whole
bunch of warnings that looked like this:
> In file included from regtest.cpp:1:
> ./factory.h:45:4: warning: delete called on
> 'ObjectFactory<CryptoPP::PK_Encryptor>' that is abstract
> but has non-virtual destructor [-Wdelete-non-virtual-dtor]
> delete (ObjectFactory<AbstractClass> *)i->second;
> ^
> ./factory.h:91:56: note: in instantiation of member function
> 'CryptoPP::ObjectFactoryRegistry<CryptoPP::PK_Encryptor,
> 0>::~ObjectFactoryRegistry' requested
> here
> static ObjectFactoryRegistry<AbstractClass, instance> s_registry;
> ^
> ./factory.h:101:50: note: in instantiation of member function
> 'CryptoPP::ObjectFactoryRegistry<CryptoPP::PK_Encryptor, 0>::Registry'
> requested here
> ObjectFactoryRegistry<AbstractClass, instance>::Registry().
> ^
> ./factory.h:108:2: note: in instantiation of member function
> 'CryptoPP::RegisterDefaultFactoryFor<CryptoPP::PK_Encryptor,
>
> CryptoPP::PK_FinalTemplate<CryptoPP::TF_EncryptorImpl<CryptoPP::TF_CryptoSchemeOptions<CryptoPP::TF_ES<CryptoPP::OAEP<SHA>,
> CryptoPP::RSA, int>, CryptoPP::RSA, CryptoPP::OAEP<SHA> > > >,
> 0>::RegisterDefaultFactoryFor'
> requested here
> RegisterDefaultFactoryFor<PK_Encryptor, CPP_TYPENAME
> SchemeClass::Encryptor>((const ...
> ^
> regtest.cpp:91:2: note: in instantiation of function template specialization
>
> 'CryptoPP::RegisterAsymmetricCipherDefaultFactories<CryptoPP::RSAES<CryptoPP::OAEP<SHA>
> > >'
> requested here
> RegisterAsymmetricCipherDefaultFactories<RSAES<OAEP<SHA1> >
> >("RSA/OAEP-MGF1(SHA-1)");
> ^
> In file included from regtest.cpp:1:
> ./factory.h:45:4: warning: delete called on
> 'ObjectFactory<CryptoPP::PK_Decryptor>' that is abstract
> but has non-virtual destructor [-Wdelete-non-virtual-dtor]
> delete (ObjectFactory<AbstractClass> *)i->second;
> ^
Adding the line:
virtual ~ObjectFactory () {}
to factory.h both:
* Silenced the warning
* Left the test results unchanged
-- Marshall
Marshall Clow Idio Software <mailto:[email protected]>
A.D. 1517: Martin Luther nails his 95 Theses to the church door and is promptly
moderated down to (-1, Flamebait).
-- Yu Suzuki
--
You received this message because you are subscribed to the "Crypto++ Users"
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at
http://www.cryptopp.com.