diff options
Diffstat (limited to 'gcc-4.9/gcc/cp/rtti.c')
-rw-r--r-- | gcc-4.9/gcc/cp/rtti.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/cp/rtti.c b/gcc-4.9/gcc/cp/rtti.c index a8e6d25c8..7600215de 100644 --- a/gcc-4.9/gcc/cp/rtti.c +++ b/gcc-4.9/gcc/cp/rtti.c @@ -1231,6 +1231,10 @@ create_pseudo_type_info (int tk, const char *real_name, ...) /* Create the pseudo type. */ pseudo_type = make_class_type (RECORD_TYPE); finish_builtin_struct (pseudo_type, pseudo_name, fields, NULL_TREE); + /* For lightweight IPO (LIPO), the list of builtin decls + and types are remembered. */ + cp_add_built_in_decl (pseudo_type); + CLASSTYPE_AS_BASE (pseudo_type) = pseudo_type; ti = &(*tinfo_descs)[tk]; @@ -1396,6 +1400,9 @@ create_tinfo_types (void) ti->name = NULL_TREE; finish_builtin_struct (ti->type, "__type_info_pseudo", fields, NULL_TREE); + /* For lightweight IPO (LIPO), the list of builtin decls + and types are remembered. */ + cp_add_built_in_decl (ti->type); } /* Fundamental type_info */ @@ -1437,6 +1444,9 @@ create_tinfo_types (void) ti->name = NULL_TREE; finish_builtin_struct (ti->type, "__base_class_type_info_pseudo", fields, NULL_TREE); + /* For lightweight IPO (LIPO), the list of builtin decls + and types are remembered. */ + cp_add_built_in_decl (ti->type); } /* Pointer type_info. Adds two fields, qualification mask |