aboutsummaryrefslogtreecommitdiff
path: root/gcc/integrate.c
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1997-10-07 21:43:02 +0000
committerJeff Law <law@gcc.gnu.org>1997-10-07 15:43:02 -0600
commitf644bd14253c5d5d2bf8c920cd30c2cc7048f037 (patch)
treee0734ccb148a2dc3b2c9b44e14d3458843e5e778 /gcc/integrate.c
parentaa0c1401170ea57bdb67debe7763097d1f82bd86 (diff)
downloadgcc-f644bd14253c5d5d2bf8c920cd30c2cc7048f037.zip
gcc-f644bd14253c5d5d2bf8c920cd30c2cc7048f037.tar.gz
gcc-f644bd14253c5d5d2bf8c920cd30c2cc7048f037.tar.bz2
integrate.c (save_for_inline_copying): Avoid undefined pointer operations.
* integrate.c (save_for_inline_copying): Avoid undefined pointer operations. (expand_inline_function): Likewise. From-SVN: r15866
Diffstat (limited to 'gcc/integrate.c')
-rw-r--r--gcc/integrate.c25
1 files changed, 7 insertions, 18 deletions
diff --git a/gcc/integrate.c b/gcc/integrate.c
index 5ab8f59..aa3654e 100644
--- a/gcc/integrate.c
+++ b/gcc/integrate.c
@@ -414,10 +414,6 @@ save_for_inline_copying (fndecl)
rtx first_nonparm_insn;
char *new, *new1;
- /* The pointer used to track the true location of the memory used
- for LABEL_MAP. */
- rtx *real_label_map = 0;
-
/* Make and emit a return-label if we have not already done so.
Do this before recording the bounds on label numbers. */
@@ -519,9 +515,7 @@ save_for_inline_copying (fndecl)
/* We used to use alloca here, but the size of what it would try to
allocate would occasionally cause it to exceed the stack limit and
cause unpredictable core dumps. Some examples were > 2Mb in size. */
- real_label_map
- = (rtx *) xmalloc ((max_labelno - min_labelno) * sizeof (rtx));
- label_map = real_label_map - min_labelno;
+ label_map = (rtx *) xmalloc ((max_labelno) * sizeof (rtx));
for (i = min_labelno; i < max_labelno; i++)
label_map[i] = gen_label_rtx ();
@@ -664,8 +658,8 @@ save_for_inline_copying (fndecl)
set_new_first_and_last_insn (first_insn, last_insn);
- if (real_label_map)
- free (real_label_map);
+ if (label_map)
+ free (label_map);
}
/* Return a copy of a chain of nodes, chained through the TREE_CHAIN field.
@@ -1250,10 +1244,6 @@ expand_inline_function (fndecl, parms, target, ignore, type,
rtvec arg_vector = ORIGINAL_ARG_VECTOR (header);
rtx static_chain_value = 0;
- /* The pointer used to track the true location of the memory used
- for MAP->LABEL_MAP. */
- rtx *real_label_map = 0;
-
/* Allow for equivalences of the pseudos we make for virtual fp and ap. */
max_regno = MAX_REGNUM (header) + 3;
if (max_regno < FIRST_PSEUDO_REGISTER)
@@ -1393,9 +1383,8 @@ expand_inline_function (fndecl, parms, target, ignore, type,
/* We used to use alloca here, but the size of what it would try to
allocate would occasionally cause it to exceed the stack limit and
cause unpredictable core dumps. */
- real_label_map
- = (rtx *) xmalloc ((max_labelno - min_labelno) * sizeof (rtx));
- map->label_map = real_label_map - min_labelno;
+ label_map = (rtx *) xmalloc ((max_labelno) * sizeof (rtx));
+ map->label_map = label_map;
map->insn_map = (rtx *) alloca (INSN_UID (header) * sizeof (rtx));
bzero ((char *) map->insn_map, INSN_UID (header) * sizeof (rtx));
@@ -2044,8 +2033,8 @@ expand_inline_function (fndecl, parms, target, ignore, type,
}
/* Make sure we free the things we explicitly allocated with xmalloc. */
- if (real_label_map)
- free (real_label_map);
+ if (label_map)
+ free (label_map);
return target;
}