aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/c-family/ChangeLog9
-rw-r--r--gcc/c-family/c-common.h3
-rw-r--r--gcc/c-family/c-gimplify.c4
-rw-r--r--gcc/c-family/cilk.c7
-rw-r--r--gcc/cp/ChangeLog7
-rw-r--r--gcc/cp/cp-gimplify.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/cilk-plus/CK/pr69267.cc10
8 files changed, 38 insertions, 9 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index fdc96ea..8c86989 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,12 @@
+2016-01-27 Ryan Burn <contact@rnburn.com>
+
+ PR cilkplus/69267
+ * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
+ gimplify_arg. Removed superfluous post_p argument.
+ * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
+ superfluous post_p argument.
+ * c-gimplify.c (c_gimplify_expr): Likewise.
+
2016-01-26 David Malcolm <dmalcolm@redhat.com>
PR other/69006
diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h
index 93e605b..fa3746c 100644
--- a/gcc/c-family/c-common.h
+++ b/gcc/c-family/c-common.h
@@ -1449,8 +1449,7 @@ extern bool is_cilkplus_vector_p (tree);
extern tree insert_cilk_frame (tree);
extern void cilk_init_builtins (void);
extern int gimplify_cilk_spawn (tree *);
-extern void cilk_gimplify_call_params_in_spawned_fn (tree *, gimple_seq *,
- gimple_seq *);
+extern void cilk_gimplify_call_params_in_spawned_fn (tree *, gimple_seq *);
extern void cilk_install_body_with_frame_cleanup (tree, tree, void *);
extern bool cilk_detect_spawn_and_unwrap (tree *);
extern bool cilk_set_spawn_marker (location_t, tree);
diff --git a/gcc/c-family/c-gimplify.c b/gcc/c-family/c-gimplify.c
index a5d348c..0757193 100644
--- a/gcc/c-family/c-gimplify.c
+++ b/gcc/c-family/c-gimplify.c
@@ -277,7 +277,7 @@ c_gimplify_expr (tree *expr_p, gimple_seq *pre_p ATTRIBUTE_UNUSED,
if (!seen_error ())
{
- cilk_gimplify_call_params_in_spawned_fn (expr_p, pre_p, post_p);
+ cilk_gimplify_call_params_in_spawned_fn (expr_p, pre_p);
return (enum gimplify_status) gimplify_cilk_spawn (expr_p);
}
return GS_ERROR;
@@ -292,7 +292,7 @@ c_gimplify_expr (tree *expr_p, gimple_seq *pre_p ATTRIBUTE_UNUSED,
it is supposed to be. */
&& !seen_error ())
{
- cilk_gimplify_call_params_in_spawned_fn (expr_p, pre_p, post_p);
+ cilk_gimplify_call_params_in_spawned_fn (expr_p, pre_p);
return (enum gimplify_status) gimplify_cilk_spawn (expr_p);
}
diff --git a/gcc/c-family/cilk.c b/gcc/c-family/cilk.c
index 4d6be33..0b876b9 100644
--- a/gcc/c-family/cilk.c
+++ b/gcc/c-family/cilk.c
@@ -779,8 +779,7 @@ create_cilk_wrapper (tree exp, tree *args_out)
gimple sequences from the caller of gimplify_cilk_spawn. */
void
-cilk_gimplify_call_params_in_spawned_fn (tree *expr_p, gimple_seq *pre_p,
- gimple_seq *post_p)
+cilk_gimplify_call_params_in_spawned_fn (tree *expr_p, gimple_seq *pre_p)
{
int ii = 0;
tree *fix_parm_expr = expr_p;
@@ -797,8 +796,8 @@ cilk_gimplify_call_params_in_spawned_fn (tree *expr_p, gimple_seq *pre_p,
if (TREE_CODE (*fix_parm_expr) == CALL_EXPR)
for (ii = 0; ii < call_expr_nargs (*fix_parm_expr); ii++)
- gimplify_expr (&CALL_EXPR_ARG (*fix_parm_expr, ii), pre_p, post_p,
- is_gimple_reg, fb_rvalue);
+ gimplify_arg (&CALL_EXPR_ARG (*fix_parm_expr, ii), pre_p,
+ EXPR_LOCATION (*fix_parm_expr));
}
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index c8653c4..493b17a 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,10 @@
+2016-01-27 Ryan Burn <contact@rnburn.com>
+
+ PR cilkplus/69267
+ * cp-gimplify.c (cilk_cp_gimplify_call_params_in_spawned_fn): Removed
+ superfluous post_p argument in call to
+ cilk_gimplify_call_params_in_spawned_fn.
+
2016-01-27 Marek Polacek <polacek@redhat.com>
PR c++/69379
diff --git a/gcc/cp/cp-gimplify.c b/gcc/cp/cp-gimplify.c
index ce0975b..bb81534 100644
--- a/gcc/cp/cp-gimplify.c
+++ b/gcc/cp/cp-gimplify.c
@@ -98,7 +98,7 @@ cilk_cp_gimplify_call_params_in_spawned_fn (tree *expr_p, gimple_seq *pre_p,
{
int ii = 0;
- cilk_gimplify_call_params_in_spawned_fn (expr_p, pre_p, post_p);
+ cilk_gimplify_call_params_in_spawned_fn (expr_p, pre_p);
if (TREE_CODE (*expr_p) == AGGR_INIT_EXPR)
for (ii = 0; ii < aggr_init_expr_nargs (*expr_p); ii++)
gimplify_expr (&AGGR_INIT_EXPR_ARG (*expr_p, ii), pre_p, post_p,
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a7b0452..98bb775 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2016-01-27 Ryan Burn <contact@rnburn.com>
+
+ PR cilkplus/69267
+ * g++.dg/cilk-plus/CK/pr69267.cc: New test.
+
2016-01-27 Uros Bizjak <ubizjak@gmail.com>
PR target/69512
diff --git a/gcc/testsuite/g++.dg/cilk-plus/CK/pr69267.cc b/gcc/testsuite/g++.dg/cilk-plus/CK/pr69267.cc
new file mode 100644
index 0000000..7d00e49
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cilk-plus/CK/pr69267.cc
@@ -0,0 +1,10 @@
+/* { dg-do compile } */
+/* { dg-options "-fcilkplus" } */
+
+struct A {};
+
+void f (A) {}
+
+void g () {
+ _Cilk_spawn f (A ());
+}