aboutsummaryrefslogtreecommitdiff
path: root/odb/plugin.cxx
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/plugin.cxx
parent7cd11b5f604c7d786261568aa31cd2ae3638f61e (diff)
Add support for defining composite value type as class template instantiations
Diffstat (limited to 'odb/plugin.cxx')
-rw-r--r--odb/plugin.cxx12
1 files changed, 12 insertions, 0 deletions
diff --git a/odb/plugin.cxx b/odb/plugin.cxx
index fbf1fa0..dd813d8 100644
--- a/odb/plugin.cxx
+++ b/odb/plugin.cxx
@@ -107,6 +107,12 @@ gate_callback (void*, void*)
try
{
+ // Post process pragmas.
+ //
+ post_process_pragmas ();
+
+ // Parse the GCC tree to semantic graph.
+ //
parser p (*options_, loc_pragmas_, decl_pragmas_);
auto_ptr<unit> u (p.parse (global_namespace, file_));
@@ -129,6 +135,12 @@ gate_callback (void*, void*)
generator g;
g.generate (*options_, *u, file_);
}
+ catch (pragmas_failed const&)
+ {
+ // Diagnostics has aready been issued.
+ //
+ r = 1;
+ }
catch (parser::failed const&)
{
// Diagnostics has aready been issued.