diff options
Diffstat (limited to 'odb/pragma.cxx')
-rw-r--r-- | odb/pragma.cxx | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/odb/pragma.cxx b/odb/pragma.cxx index d6043cc..080de98 100644 --- a/odb/pragma.cxx +++ b/odb/pragma.cxx @@ -456,8 +456,7 @@ check_spec_decl_type (tree d, return false; } } - else if (p == "pointer" || - p == "abstract" || + else if (p == "abstract" || p == "callback" || p == "query" || p == "object" || @@ -470,6 +469,17 @@ check_spec_decl_type (tree d, return false; } } + else if (p == "pointer") + { + // Table can be used for namespaces and classes (object or view). + // + if (tc != NAMESPACE_DECL && tc != RECORD_TYPE) + { + error (l) << "name '" << name << "' in db pragma " << p << " does " + << "not refer to a class" << endl; + return false; + } + } else if (p == "table") { // Table can be used for namespaces, members (container), and types |