diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2010-10-14 14:06:48 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2010-10-14 14:06:48 +0200 |
commit | 644c7b372ab61ad600817a4945a96f2bfb0f76e2 (patch) | |
tree | 3affbadec3a484884b403e1ef506ce48f5f3605b /xsde/xsde.cxx | |
parent | 783b167522ccf3aee85969dfb932274914449808 (diff) |
Error out if generating parser/serializer for customized type
Diffstat (limited to 'xsde/xsde.cxx')
-rw-r--r-- | xsde/xsde.cxx | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/xsde/xsde.cxx b/xsde/xsde.cxx index 476869e..9695208 100644 --- a/xsde/xsde.cxx +++ b/xsde/xsde.cxx @@ -907,11 +907,20 @@ main (Int argc, Char* argv[]) if (gen_serializer) CXX::Serializer::Generator::process_names (*s_ops, s, f); - if (gen_hybrid && gen_parser) - CXX::Hybrid::Generator::process_parser_names (*h_ops, s, f); + try + { + if (gen_hybrid && gen_parser) + CXX::Hybrid::Generator::process_parser_names (*h_ops, s, f); - if (gen_hybrid && gen_serializer) - CXX::Hybrid::Generator::process_serializer_names (*h_ops, s, f); + if (gen_hybrid && gen_serializer) + CXX::Hybrid::Generator::process_serializer_names (*h_ops, s, f); + } + catch (CXX::Hybrid::Generator::Failed const&) + { + // Diagnostics has already been issued. + // + return 1; + } } } else |