aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/cp/rtti.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/cp/rtti.c')
-rw-r--r--gcc-4.9/gcc/cp/rtti.c10
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