diff options
-rw-r--r-- | gcc/oacc-low.c | 6 |
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)); |