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/
|