aboutsummaryrefslogtreecommitdiff
path: root/odb/pragma.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2012-01-08 17:27:40 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2012-01-08 17:27:40 +0200
commit4fd6bca4e75870958ea61b94e0a1e60e78cd91bc (patch)
tree2119cae72f45e1ceff1982d8364b4b678ac4ee69 /odb/pragma.hxx
parent7cd11b5f604c7d786261568aa31cd2ae3638f61e (diff)
Add support for defining composite value type as class template instantiations
Diffstat (limited to 'odb/pragma.hxx')
-rw-r--r--odb/pragma.hxx14
1 files changed, 12 insertions, 2 deletions
diff --git a/odb/pragma.hxx b/odb/pragma.hxx
index 0b09b43..57531ba 100644
--- a/odb/pragma.hxx
+++ b/odb/pragma.hxx
@@ -101,15 +101,25 @@ struct pragma_set: std::set<pragma>
// namespace case is the global_namespace node.
//
typedef std::map<tree, pragma_list> loc_pragmas;
+extern loc_pragmas loc_pragmas_;
// Pragmas associated with this declaration.
//
typedef std::map<tree, pragma_set> decl_pragmas;
-
-extern loc_pragmas loc_pragmas_;
extern decl_pragmas decl_pragmas_;
+// List of pragma names (in context name form) that disqualify a value
+// type from being treated as composite (i.e., simple value pragmas).
+//
+typedef std::set<std::string> pragma_name_set;
+extern pragma_name_set simple_value_pragmas_;
+
extern "C" void
register_odb_pragmas (void*, void*);
+struct pragmas_failed {};
+
+void
+post_process_pragmas ();
+
#endif // ODB_PRAGMA_HXX