aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-nested.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2015-07-01 08:21:40 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2015-07-01 08:21:40 +0000
commiteb71ab9f1fcfd23e7b3aef9a5659275bcd840f29 (patch)
tree2f13674372014283e43e7d373769e20742373c23 /gcc/tree-nested.c
parent97e7739106863e3d334a8f9bb0cfcc8ae0e972de (diff)
downloadgcc-eb71ab9f1fcfd23e7b3aef9a5659275bcd840f29.zip
gcc-eb71ab9f1fcfd23e7b3aef9a5659275bcd840f29.tar.gz
gcc-eb71ab9f1fcfd23e7b3aef9a5659275bcd840f29.tar.bz2
re PR middle-end/66633 (ICE on valid "verify_gimple failed" with OpenMP)
PR middle-end/66633 * tree-nested.c (convert_nonlocal_omp_clauses): Initialize need_chain to true if the function is nested and if not optimizing. (convert_local_omp_clauses): Initialize need_frame to true if the function contains nested functions and if not optimizing. From-SVN: r225227
Diffstat (limited to 'gcc/tree-nested.c')
-rw-r--r--gcc/tree-nested.c8
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;