aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlmir Usmanov <i.usmanov@samsung.com>2013-10-03 12:02:02 +0000
committerIlmir Usmanov <i.usmanov@samsung.com>2013-10-03 12:02:02 +0000
commit42cc066f7a965cbc51d54a96330d8ae7dedc052c (patch)
tree3661c0d75726363ed3742e2389c500aab31f6851
parent3f3a6bf184975b2f39ba4aacd537c353711644f2 (diff)
Fixed ICE on empty kernel
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/openacc-1_0-branch@203158 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/oacc-low.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/oacc-low.c b/gcc/oacc-low.c
index 3f2178d3e83..630eda47c05 100644
--- a/gcc/oacc-low.c
+++ b/gcc/oacc-low.c
@@ -307,7 +307,11 @@ lower_oacc_kernels(gimple_stmt_iterator *gsi, oacc_context* ctx)
vec<tree> args;
args.create(16);
splay_tree_foreach(ctx->param_map, create_call_params, (void*)&args);
- size_t size = sizeof(struct gimple_statement_acc_kernels) + (args.length() - 1) * sizeof(tree);
+ size_t size;
+ if (args.length() != 0)
+ size = sizeof(struct gimple_statement_acc_kernels) + (args.length() - 1) * sizeof(tree);
+ else
+ size = sizeof(struct gimple_statement_acc_kernels);
gimple new_stmt = ggc_alloc_gimple_statement_d (size);
memcpy(new_stmt, stmt, sizeof(struct gimple_statement_acc_kernels));