aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/rtti.c
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2005-06-16 08:21:00 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2005-06-16 08:21:00 +0000
commitfe93f42f5e6cf7503f722f66e825fd5367153cdf (patch)
tree45ac8abe456ab808e94f317301eb28db35d93232 /gcc/cp/rtti.c
parent3d5a109a9cf5479d273c81b632d2041950ef0f1b (diff)
downloadgcc-fe93f42f5e6cf7503f722f66e825fd5367153cdf.zip
gcc-fe93f42f5e6cf7503f722f66e825fd5367153cdf.tar.gz
gcc-fe93f42f5e6cf7503f722f66e825fd5367153cdf.tar.bz2
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
Diffstat (limited to 'gcc/cp/rtti.c')
-rw-r--r--gcc/cp/rtti.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c
index 317068e..c9f3d38 100644
--- a/gcc/cp/rtti.c
+++ b/gcc/cp/rtti.c
@@ -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;