diff options
Diffstat (limited to 'gcc/tree-nested.c')
-rw-r--r-- | gcc/tree-nested.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/tree-nested.c b/gcc/tree-nested.c index f391c65..6b9d753 100644 --- a/gcc/tree-nested.c +++ b/gcc/tree-nested.c @@ -1069,7 +1069,9 @@ static bool convert_nonlocal_omp_clauses (tree *pclauses, struct walk_stmt_info *wi) { struct nesting_info *const info = (struct nesting_info *) wi->info; - bool need_chain = false, need_stmts = false; + /* If not optimizing, we will force the creation of the CHAIN object in + convert_all_function_calls, so we need to take it into account here. */ + bool need_chain = info->outer && !optimize, need_stmts = false; tree clause, decl; int dummy; bitmap new_suppress; @@ -1697,7 +1699,9 @@ static bool convert_local_omp_clauses (tree *pclauses, struct walk_stmt_info *wi) { struct nesting_info *const info = (struct nesting_info *) wi->info; - bool need_frame = false, need_stmts = false; + /* If not optimizing, we will force the creation of the FRAME object in + convert_all_function_calls, so we need to take it into account here. */ + bool need_frame = info->inner && !optimize, need_stmts = false; tree clause, decl; int dummy; bitmap new_suppress; |