diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2013-11-29 13:00:35 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2013-11-29 05:00:35 -0800 |
commit | d7947e191bdfd580d7b8ddb2a72f050cbfc41913 (patch) | |
tree | 6cfb0c8004407472eafd8773114fe3983adc250c | |
parent | 35814b034651b543b2521f9bd028c35f1fcaac1a (diff) | |
download | gcc-d7947e191bdfd580d7b8ddb2a72f050cbfc41913.zip gcc-d7947e191bdfd580d7b8ddb2a72f050cbfc41913.tar.gz gcc-d7947e191bdfd580d7b8ddb2a72f050cbfc41913.tar.bz2 |
Properly handle function without arguments
PR c/59309
* cilk.c (gimplify_cilk_spawn): Properly handle function without
arguments.
From-SVN: r205525
-rw-r--r-- | gcc/c-family/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/c-family/cilk.c | 7 |
2 files changed, 11 insertions, 2 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 12db521..616a742 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,9 @@ +2013-11-29 H.J. Lu <hongjiu.lu@intel.com> + + PR c/59309 + * cilk.c (gimplify_cilk_spawn): Properly handle function without + arguments. + 2013-11-29 Jakub Jelinek <jakub@redhat.com> PR c/59280 diff --git a/gcc/c-family/cilk.c b/gcc/c-family/cilk.c index c85b5f2..99d9c7e 100644 --- a/gcc/c-family/cilk.c +++ b/gcc/c-family/cilk.c @@ -757,7 +757,10 @@ gimplify_cilk_spawn (tree *spawn_p, gimple_seq *before ATTRIBUTE_UNUSED, /* This should give the number of parameters. */ total_args = list_length (new_args); - arg_array = XNEWVEC (tree, total_args); + if (total_args) + arg_array = XNEWVEC (tree, total_args); + else + arg_array = NULL; ii_args = new_args; for (ii = 0; ii < total_args; ii++) @@ -771,7 +774,7 @@ gimplify_cilk_spawn (tree *spawn_p, gimple_seq *before ATTRIBUTE_UNUSED, call1 = cilk_call_setjmp (cfun->cilk_frame_decl); - if (*arg_array == NULL_TREE) + if (arg_array == NULL || *arg_array == NULL_TREE) call2 = build_call_expr (function, 0); else call2 = build_call_expr_loc_array (EXPR_LOCATION (*spawn_p), function, |