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
This commit is contained in:
parent
3d5a109a9c
commit
fe93f42f5e
@ -1,3 +1,9 @@
|
||||
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;
|
||||
|
@ -1,3 +1,7 @@
|
||||
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.
|
||||
|
9
gcc/testsuite/g++.dg/rtti/crash2.C
Normal file
9
gcc/testsuite/g++.dg/rtti/crash2.C
Normal file
@ -0,0 +1,9 @@
|
||||
// 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 {};
|
Loading…
Reference in New Issue
Block a user