summaryrefslogtreecommitdiff
path: root/odb/plugin.cxx
diff options
context:
space:
mode:
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.