diff options
Diffstat (limited to 'gcc/cp/cp-lang.c')
-rw-r--r-- | gcc/cp/cp-lang.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/cp/cp-lang.c b/gcc/cp/cp-lang.c index b4b7ec4..7070929 100644 --- a/gcc/cp/cp-lang.c +++ b/gcc/cp/cp-lang.c @@ -36,6 +36,7 @@ along with GCC; see the file COPYING3. If not see enum c_language_kind c_language = clk_cxx; static void cp_init_ts (void); static const char * cxx_dwarf_name (tree t, int verbosity); +static enum classify_record cp_classify_record (tree type); /* Lang hooks common to C++ and ObjC++ are declared in cp/cp-objcp-common.h; consequently, there should be very few hooks below. */ @@ -44,6 +45,8 @@ static const char * cxx_dwarf_name (tree t, int verbosity); #define LANG_HOOKS_NAME "GNU C++" #undef LANG_HOOKS_INIT #define LANG_HOOKS_INIT cxx_init +#undef LANG_HOOKS_CLASSIFY_RECORD +#define LANG_HOOKS_CLASSIFY_RECORD cp_classify_record #undef LANG_HOOKS_GENERIC_TYPE_P #define LANG_HOOKS_GENERIC_TYPE_P class_tmpl_impl_spec_p #undef LANG_HOOKS_DECL_PRINTABLE_NAME @@ -153,6 +156,15 @@ cxx_dwarf_name (tree t, int verbosity) return cxx_printable_name (t, verbosity); } +static enum classify_record +cp_classify_record (tree type) +{ + if (CLASSTYPE_DECLARED_CLASS (type)) + return RECORD_IS_CLASS; + + return RECORD_IS_STRUCT; +} + void finish_file (void) { |