Discussion:
[odb-users] internal compiler error: cult:compiler::context::no_entry
MM
2018-08-29 19:56:40 UTC
Permalink
odb -d sqlite --sqlite-override-null --std c++14 --profile boost
--omit-drop --generate-query --generate-schema-only --schema-format sql
--at-once -I/src -I/usr/include --changelog-dir /src/odb --options-file
/src/vendors/odb/boost-multiarray.options --input-name mydbname
/src/file_1.hpp ... /src/file_n.hpp
Does the odb compiler use each header file argument separately? or does
it
concatenate all the headers to produce the SQL.
Since you have specified the --at-once option, they are effectively
concatenated in the order specified on the command line.
Still to try to reduce to a reportable example, 1 more question:

In this resulting concatenated stream of c++ code, what happens to #include
directives? They are processed as usual?

MM
Boris Kolpackov
2018-08-30 14:16:56 UTC
Permalink
Post by MM
odb -d sqlite --sqlite-override-null --std c++14 --profile boost
--omit-drop --generate-query --generate-schema-only --schema-format sql
--at-once -I/src -I/usr/include --changelog-dir /src/odb --options-file
/src/vendors/odb/boost-multiarray.options --input-name mydbname
/src/file_1.hpp ... /src/file_n.hpp
Does the odb compiler use each header file argument separately? or does
it concatenate all the headers to produce the SQL.
Since you have specified the --at-once option, they are effectively
concatenated in the order specified on the command line.
In this resulting concatenated stream of c++ code, what happens to #include
directives? They are processed as usual?
Yes, the files are just concatenated together and compiled as a single
translation unit. You can see the relevant code in odb/odb.cxx starting
at line 801:

https://git.codesynthesis.com/cgit/odb/odb/tree/odb/odb.cxx

Loading...