https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48396
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- cp/rtti.c defines: /* Declare language defined type_info type and a pointer to const type_info. This is incomplete here, and will be completed when the user #includes <typeinfo>. There are language defined restrictions on what can be done until that is included. Create the internal versions of the ABI types. */ void init_rtti_processing (void) { push_nested_namespace (std_node); tree type_info_type = xref_tag (class_type, get_identifier ("type_info")); pop_nested_namespace (std_node); const_type_info_type_node = cp_build_qualified_type (type_info_type, TYPE_QUAL_CONST); type_info_ptr_type = build_pointer_type (const_type_info_type_node); vec_alloc (unemitted_tinfo_decls, 124); create_tinfo_types (); } Is there a way to do that without making it visible to user code? Or without implicitly adding it to the GMF?