Commit 72aa3dca by Richard Guenther Committed by Richard Biener

re PR middle-end/44785 (Invalid memory access in gfortran.dg/extends_3.f03)

2010-07-04  Richard Guenther  <rguenther@suse.de>

	PR middle-end/44785
	* tree-inline.c (initialize_inlined_parameters): Do not
	re-use pointer-map slot over remap_type call.

From-SVN: r161800
parent ef2a9157
2010-07-04 Richard Guenther <rguenther@suse.de> 2010-07-04 Richard Guenther <rguenther@suse.de>
PR middle-end/44785
* tree-inline.c (initialize_inlined_parameters): Do not
re-use pointer-map slot over remap_type call.
2010-07-04 Richard Guenther <rguenther@suse.de>
* tree-ssa-sccvn.c (vn_reference_lookup_3): Fix last commit. * tree-ssa-sccvn.c (vn_reference_lookup_3): Fix last commit.
2010-07-04 Richard Guenther <rguenther@suse.de> 2010-07-04 Richard Guenther <rguenther@suse.de>
......
...@@ -2690,19 +2690,20 @@ initialize_inlined_parameters (copy_body_data *id, gimple stmt, ...@@ -2690,19 +2690,20 @@ initialize_inlined_parameters (copy_body_data *id, gimple stmt,
if (varp if (varp
&& TREE_CODE (*varp) == VAR_DECL) && TREE_CODE (*varp) == VAR_DECL)
{ {
tree def = (gimple_in_ssa_p (cfun) tree def = (gimple_in_ssa_p (cfun) && is_gimple_reg (p)
? gimple_default_def (id->src_cfun, p) : NULL); ? gimple_default_def (id->src_cfun, p) : NULL);
TREE_TYPE (*varp) = remap_type (TREE_TYPE (*varp), id); tree var = *varp;
TREE_TYPE (var) = remap_type (TREE_TYPE (var), id);
/* Also remap the default definition if it was remapped /* Also remap the default definition if it was remapped
to the default definition of the parameter replacement to the default definition of the parameter replacement
by the parameter setup. */ by the parameter setup. */
if (def && gimple_in_ssa_p (cfun) && is_gimple_reg (p)) if (def)
{ {
tree *defp = (tree *) pointer_map_contains (id->decl_map, def); tree *defp = (tree *) pointer_map_contains (id->decl_map, def);
if (defp if (defp
&& TREE_CODE (*defp) == SSA_NAME && TREE_CODE (*defp) == SSA_NAME
&& SSA_NAME_VAR (*defp) == *varp) && SSA_NAME_VAR (*defp) == var)
TREE_TYPE (*defp) = TREE_TYPE (*varp); TREE_TYPE (*defp) = TREE_TYPE (var);
} }
} }
} }
......
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