[odb-users] odb location pragmas failure with boost and gcc 6

Boris Kolpackov boris at codesynthesis.com
Thu Dec 22 11:26:13 EST 2016


Hi Roger,

Thanks for the test case and analysis. I could reproduce it and also
reduced it to this:

#include <odb/boost/lazy-ptr.hxx>
#include <boost/unordered_set.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/serialization/vector.hpp>

#pragma db object
struct Board_Option_P
{
  #pragma db id auto
  int id;
};

Interestingly, commenting any include out makes the issue disappear.

I've also got the actual location values for the struct and the two
pragmas. For a successful run (i.e., with the first header commented
out) the values are:

struct 1377050792
    id 1333997889
  auto 1333997987

And for an unsuccessful run:

struct 1056301224
    id 2147498138
  auto 2147498139

So the pragma locations in this case look bogus.

I am still looking into this and will keep you updated.

Boris



More information about the odb-users mailing list