aboutsummaryrefslogtreecommitdiff
path: root/odb/pragma.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2012-03-05 16:07:28 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2012-03-05 16:07:28 +0200
commit4f8832bc28718feae612a2c1ed79020d32709ee7 (patch)
tree42378ab8b30c68773841900ee7d960a6ac9aba80 /odb/pragma.cxx
parentcd44a367fd73293b1c8edc36aa61667ca020a2eb (diff)
Add support for specifying object/view pointer on namespace
Diffstat (limited to 'odb/pragma.cxx')
-rw-r--r--odb/pragma.cxx14
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