Skip to content
Snippets Groups Projects
Commit 795258ff authored by g0dil's avatar g0dil
Browse files

Fixes for g++-4

parent 0688b953
No related branches found
No related tags found
No related merge requests found
...@@ -35,6 +35,7 @@ namespace pkf { ...@@ -35,6 +35,7 @@ namespace pkf {
namespace impl { namespace impl {
struct PkReg_Entry { struct PkReg_Entry {
virtual ~PkReg_Entry() {}
virtual void registerInterpreter(Packet const * p, virtual void registerInterpreter(Packet const * p,
Packet::iterator b, Packet::iterator e) = 0; Packet::iterator b, Packet::iterator e) = 0;
virtual Packet::ptr reinterpret(Packet * p) = 0; virtual Packet::ptr reinterpret(Packet * p) = 0;
......
...@@ -45,11 +45,11 @@ namespace impl { ...@@ -45,11 +45,11 @@ namespace impl {
Parser_traits_fixed_size_check(&Parser::bytes))-sizeof(Parser_traits_sentinel<1>); Parser_traits_fixed_size_check(&Parser::bytes))-sizeof(Parser_traits_sentinel<1>);
}; };
template <class T> template <class R>
Parser_traits_sentinel<2> Parser_traits_fixed_size_check(T); Parser_traits_sentinel<2> Parser_traits_fixed_size_check(R (*)());
template <class R,class T> template <class R,class T>
Parser_traits_sentinel<1> Parser_traits_fixed_size_check(R (T::*)()); Parser_traits_sentinel<1> Parser_traits_fixed_size_check(R (T::*)() const);
template <class Parser, class Iterator> template <class Parser, class Iterator>
bool check(Iterator const & b, Iterator const & e, ParserBase *); bool check(Iterator const & b, Iterator const & e, ParserBase *);
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
// Custom includes // Custom includes
#include "ParserBase.hh" #include "ParserBase.hh"
#include "Packet.hh" #include "Packet.hh"
#include <boost/static_assert.hpp>
#include <boost/test/auto_unit_test.hpp> #include <boost/test/auto_unit_test.hpp>
#include <boost/test/test_tools.hpp> #include <boost/test/test_tools.hpp>
...@@ -85,6 +86,9 @@ namespace { ...@@ -85,6 +86,9 @@ namespace {
BOOST_AUTO_UNIT_TEST(parserBase_construction) BOOST_AUTO_UNIT_TEST(parserBase_construction)
{ {
BOOST_STATIC_ASSERT( pkf::Parser_traits< Parse_Test<> >::fixed_size );
BOOST_STATIC_ASSERT( ! pkf::Parser_traits< Parse_Test2<> >::fixed_size );
BOOST_CHECK_EQUAL( pkf::min_bytes< Parse_Test<int> >(), 14u ); BOOST_CHECK_EQUAL( pkf::min_bytes< Parse_Test<int> >(), 14u );
BOOST_CHECK( pkf::check< Parse_Test<int> >(0,14) ); BOOST_CHECK( pkf::check< Parse_Test<int> >(0,14) );
BOOST_CHECK( ! pkf::check< Parse_Test<int> >(2,15) ); BOOST_CHECK( ! pkf::check< Parse_Test<int> >(2,15) );
......
...@@ -68,6 +68,7 @@ namespace lib { ...@@ -68,6 +68,7 @@ namespace lib {
template <class Type> TypeIdValue(Type *); template <class Type> TypeIdValue(Type *);
struct Value { struct Value {
virtual ~Value() {}
virtual std::type_info const & id() = 0; virtual std::type_info const & id() = 0;
virtual Value * clone() = 0; virtual Value * clone() = 0;
}; };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment