diff options
author | Ilmir Usmanov <i.usmanov@samsung.com> | 2013-10-03 12:02:02 +0000 |
---|---|---|
committer | Ilmir Usmanov <i.usmanov@samsung.com> | 2013-10-03 12:02:02 +0000 |
commit | 42cc066f7a965cbc51d54a96330d8ae7dedc052c (patch) | |
tree | 3661c0d75726363ed3742e2389c500aab31f6851 | |
parent | 3f3a6bf184975b2f39ba4aacd537c353711644f2 (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.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)); |