Re: [Quickfix-developers] Solaris gcc 3.x and Quickfix 1.4
Brought to you by:
orenmnero
From: Oren M. <ore...@ya...> - 2003-03-10 20:51:26
|
Ah ok. Looks like the 3.x compiler is a little more strict. A good thing actually. We plan on adding a gcc 3.2 build machine soon, so these things shouldn't creep up on us again. The warnings you can safely ignore, however if you want them to go away, you can do just as it says and add a newline at the ends of those files. Those files are all generated, so we will have to make sure they get generated with an newline in the future. As for the error. Looks like 3.x checks to make sure derived methods have a matching throw specifier. For instance if you look at the first error it reports: AcceptorTestCase.h:73: looser throw specifier for `virtual void FIX::TestAcceptor::onInitialize(const FIX::SessionSettings&)' ../Acceptor.h:113: overriding `virtual void FIX::Acceptor::onInitialize(const FIX::SessionSettings&) throw (FIX::RuntimeError&)' If you look at the declaration of onInitialize in Acceptor.h, you will see in in fact looks like this: virtual void onInitialize( const SessionSettings& ) throw ( RuntimeError& ) = 0; While in AcceptorTestCase.h, the derived method looks like this: void onInitialize( const SessionSettings& ) {} when it *should* look more like this: void onInitialize( const SessionSettings& ) throw (FIX::RuntimeError&) {} So the throw specifiers match. We had recently added that throw specifier. gcc 2.9.x doesn't check throw specifiers at compile time, and Visual Studio could care less at any time. Looks like we forgot to add the specifier in that test case. --- Chuck Houpt <zzc...@xc...> wrote: > I tried out 1.4 with gcc 3.x on Solaris 8, but ran > into a compilation error - this happens with both > gcc 3.0.3 and 3.2.2 (sunfreeware packaged versions). > For 3.0.3, I tried compiling with STLPort, but that > produced the same error. > > Does anyone else see this, any idea how to proceed? > > Thanks - Chuck > > Here's the error: > > > c++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I.. -I../.. > -I../../.. -fexceptions -Wal > l -I/usr/local/include/libxml2 -I/usr/j2se/include > -I/usr/j2se/include/solaris - > Wp,-MD,.deps/AcceptorTestCase.pp -c > AcceptorTestCase.cpp -fPIC -DPIC -o .libs/A > cceptorTestCase.lo > In file included from ../Field.h:59, > from ../FieldMap.h:58, > from ../Message.h:58, > from ../Application.h:54, > from ../Acceptor.h:58, > from AcceptorTestCase.h:55, > from AcceptorTestCase.cpp:57: > ../FieldNumbers.h:743:1: warning: no newline at end > of file > In file included from ../DeprecatedFields.h:55, > from ../Fields.h:55, > from ../Message.h:59, > from ../Application.h:54, > from ../Acceptor.h:58, > from AcceptorTestCase.h:55, > from AcceptorTestCase.cpp:57: > ../DeprecatedFieldNumbers.h:74:7: warning: no > newline at end of file > In file included from ../Fields.h:55, > from ../Message.h:59, > from ../Application.h:54, > from ../Acceptor.h:58, > from AcceptorTestCase.h:55, > from AcceptorTestCase.cpp:57: > ../DeprecatedFields.h:70:7: warning: no newline at > end of file > In file included from ../Message.h:59, > from ../Application.h:54, > from ../Acceptor.h:58, > from AcceptorTestCase.h:55, > from AcceptorTestCase.cpp:57: > ../Fields.h:721:1: warning: no newline at end of > file > In file included from ../Messages.h:54, > from ../Session.h:61, > from ../Acceptor.h:61, > from AcceptorTestCase.h:55, > from AcceptorTestCase.cpp:57: > ../FIX40_Messages.h:1132:1: warning: no newline at > end of file > In file included from ../Messages.h:55, > from ../Session.h:61, > from ../Acceptor.h:61, > from AcceptorTestCase.h:55, > from AcceptorTestCase.cpp:57: > ../FIX41_Messages.h:1433:1: warning: no newline at > end of file > In file included from ../Messages.h:56, > from ../Session.h:61, > from ../Acceptor.h:61, > from AcceptorTestCase.h:55, > from AcceptorTestCase.cpp:57: > ../FIX42_Messages.h:3107:1: warning: no newline at > end of file > In file included from ../Messages.h:57, > from ../Session.h:61, > from ../Acceptor.h:61, > from AcceptorTestCase.h:55, > from AcceptorTestCase.cpp:57: > ../FIX43_Messages.h:6943:1: warning: no newline at > end of file > In file included from AcceptorTestCase.cpp:57: > AcceptorTestCase.h:73: looser throw specifier for > `virtual void > FIX::TestAcceptor::onInitialize(const > FIX::SessionSettings&)' > ../Acceptor.h:113: overriding `virtual void > FIX::Acceptor::onInitialize(const > > FIX::SessionSettings&) throw > (FIX::RuntimeError&)' > AcceptorTestCase.h:73: looser throw specifier for > `virtual void > FIX::TestAcceptor::onInitialize(const > FIX::SessionSettings&)' > ../Acceptor.h:113: overriding `virtual void > FIX::Acceptor::onInitialize(const > > FIX::SessionSettings&) throw > (FIX::RuntimeError&)' > ../Utility.h:114: warning: `const char*FIX::EOL' > defined but not used > make[4]: *** [AcceptorTestCase.lo] Error 1 > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers __________________________________________________ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/ |