aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/gimplify.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3521329..34ccf5f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2014-05-08 Richard Biener <rguenther@suse.de>
+ * gimplify.c (gimplify_call_expr): Use saved fnptrtype for
+ looking at TYPE_ARG_TYPES.
+
+2014-05-08 Richard Biener <rguenther@suse.de>
+
* gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
pointer propagation special-case.
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index 37c3778..be4d719 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -2329,8 +2329,8 @@ gimplify_call_expr (tree *expr_p, gimple_seq *pre_p, bool want_value)
parms = NULL_TREE;
if (fndecl)
parms = TYPE_ARG_TYPES (TREE_TYPE (fndecl));
- else if (POINTER_TYPE_P (TREE_TYPE (CALL_EXPR_FN (*expr_p))))
- parms = TYPE_ARG_TYPES (TREE_TYPE (TREE_TYPE (CALL_EXPR_FN (*expr_p))));
+ else
+ parms = TYPE_ARG_TYPES (TREE_TYPE (fnptrtype));
if (fndecl && DECL_ARGUMENTS (fndecl))
p = DECL_ARGUMENTS (fndecl);