diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2012-03-21 08:36:21 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2012-04-23 16:50:56 +0200 |
commit | 8d89bf37dd4ef3cb7373e1841ff57a53916fff0d (patch) | |
tree | 704b7de0338eba0e008a96a09b6d57e86846d1b1 /odb/pragma.cxx | |
parent | 68ff21c56fb287790440208907ad2a851a108f89 (diff) |
Polymorphic inheritance support
Diffstat (limited to 'odb/pragma.cxx')
-rw-r--r-- | odb/pragma.cxx | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/odb/pragma.cxx b/odb/pragma.cxx index 080de98..698551a 100644 --- a/odb/pragma.cxx +++ b/odb/pragma.cxx @@ -460,7 +460,8 @@ check_spec_decl_type (tree d, p == "callback" || p == "query" || p == "object" || - p == "optimistic") + p == "optimistic" || + p == "polymorphic") { if (tc != RECORD_TYPE) { @@ -881,6 +882,18 @@ handle_pragma (cpp_reader* reader, tt = pragma_lex (&t); } + else if (p == "polymorphic") + { + // polymorphic + // + + // Make sure we've got the correct declaration type. + // + if (decl != 0 && !check_spec_decl_type (decl, decl_name, p, loc)) + return; + + tt = pragma_lex (&t); + } else if (p == "callback") { // callback (name) |