Commit fe93f42f by Nathan Sidwell Committed by Nathan Sidwell

rtti.c (get_tinfo_decl): Avoid caching tinfo_descs when it might change.

cp:
	* rtti.c (get_tinfo_decl): Avoid caching tinfo_descs when it might
	change.
	(create_pseudo_type_info): First parameter is an int.
testsuite:
	* g++.dg/rtti/crash2.C: New.

From-SVN: r101011
parent 3d5a109a
2005-06-16 Nathan Sidwell <nathan@codesourcery.com>
* rtti.c (get_tinfo_decl): Avoid caching tinfo_descs when it might
change.
(create_pseudo_type_info): First parameter is an int.
2005-06-15 Aldy Hernandez <aldyh@redhat.com>
* typeck.c (build_binary_op): Same.
......
......@@ -117,7 +117,7 @@ static tree generic_initializer (tinfo_s *, tree);
static tree ptr_initializer (tinfo_s *, tree);
static tree ptm_initializer (tinfo_s *, tree);
static tree class_initializer (tinfo_s *, tree, tree);
static void create_pseudo_type_info (tinfo_kind, const char *, ...);
static void create_pseudo_type_info (int, const char *, ...);
static tree get_pseudo_ti_init (tree, unsigned);
static unsigned get_pseudo_ti_index (tree);
static void create_tinfo_types (void);
......@@ -369,8 +369,8 @@ get_tinfo_decl (tree type)
d = IDENTIFIER_GLOBAL_VALUE (name);
if (!d)
{
tinfo_s *ti = VEC_index (tinfo_s, tinfo_descs,
get_pseudo_ti_index (type));
int ix = get_pseudo_ti_index (type);
tinfo_s *ti = VEC_index (tinfo_s, tinfo_descs, ix);
d = build_lang_decl (VAR_DECL, name, ti->type);
SET_DECL_ASSEMBLER_NAME (d, name);
......@@ -1100,7 +1100,7 @@ get_pseudo_ti_init (tree type, unsigned tk_index)
NULL. */
static void
create_pseudo_type_info (tinfo_kind tk, const char *real_name, ...)
create_pseudo_type_info (int tk, const char *real_name, ...)
{
tinfo_s *ti;
tree pseudo_type;
......
2005-06-16 Nathan Sidwell <nathan@codesourcery.com>
* g++.dg/rtti/crash2.C: New.
2005-06-15 Joseph S. Myers <joseph@codesourcery.com>
* gcc.dg/noncompile/20040203-3.c: Update expected message.
......
// Copyright (C) 2005 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 16 Jun 2005 <nathan@codesourcery.com>
// Crash when compiler is optimized
// Origin: Andrew Pinski pinskia@gcc.gnu.org
struct facet { virtual ~facet(); };
struct ctype_base {};
struct ctype : facet, ctype_base {};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment