diff options
author | Ian Lance Taylor <iant@golang.org> | 2023-06-21 11:04:04 -0700 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2023-06-21 11:04:04 -0700 |
commit | 97e31a0a2a2d2273687fcdb4e5416aab1a2186e1 (patch) | |
tree | d5c1cae4de436a0fe54a5f0a2a197d309f3d654c /gcc/tree-nested.cc | |
parent | 6612f4f8cb9b0d5af18ec69ad04e56debc3e6ced (diff) | |
parent | 577223aebc7acdd31e62b33c1682fe54a622ae27 (diff) | |
download | gcc-97e31a0a2a2d2273687fcdb4e5416aab1a2186e1.zip gcc-97e31a0a2a2d2273687fcdb4e5416aab1a2186e1.tar.gz gcc-97e31a0a2a2d2273687fcdb4e5416aab1a2186e1.tar.bz2 |
Merge from trunk revision 577223aebc7acdd31e62b33c1682fe54a622ae27.
Diffstat (limited to 'gcc/tree-nested.cc')
-rw-r--r-- | gcc/tree-nested.cc | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/gcc/tree-nested.cc b/gcc/tree-nested.cc index 1418e1f..ae7d1f1 100644 --- a/gcc/tree-nested.cc +++ b/gcc/tree-nested.cc @@ -1311,7 +1311,7 @@ convert_nonlocal_omp_clauses (tree *pclauses, struct walk_stmt_info *wi) pdecl = &TREE_OPERAND (OMP_CLAUSE_DECL (clause), 0); if (TREE_CODE (*pdecl) == POINTER_PLUS_EXPR) pdecl = &TREE_OPERAND (*pdecl, 0); - if (TREE_CODE (*pdecl) == INDIRECT_REF + if (INDIRECT_REF_P (*pdecl) || TREE_CODE (*pdecl) == ADDR_EXPR) pdecl = &TREE_OPERAND (*pdecl, 0); } @@ -1614,7 +1614,7 @@ note_nonlocal_vla_type (struct nesting_info *info, tree type) type = DECL_ORIGINAL_TYPE (TYPE_NAME (type)); while (POINTER_TYPE_P (type) - || TREE_CODE (type) == VECTOR_TYPE + || VECTOR_TYPE_P (type) || TREE_CODE (type) == FUNCTION_TYPE || TREE_CODE (type) == METHOD_TYPE) type = TREE_TYPE (type); @@ -2097,7 +2097,7 @@ convert_local_omp_clauses (tree *pclauses, struct walk_stmt_info *wi) pdecl = &TREE_OPERAND (OMP_CLAUSE_DECL (clause), 0); if (TREE_CODE (*pdecl) == POINTER_PLUS_EXPR) pdecl = &TREE_OPERAND (*pdecl, 0); - if (TREE_CODE (*pdecl) == INDIRECT_REF + if (INDIRECT_REF_P (*pdecl) || TREE_CODE (*pdecl) == ADDR_EXPR) pdecl = &TREE_OPERAND (*pdecl, 0); } @@ -3234,8 +3234,8 @@ remap_vla_decls (tree block, struct nesting_info *root) val = DECL_VALUE_EXPR (var); type = TREE_TYPE (var); - if (!(TREE_CODE (val) == INDIRECT_REF - && TREE_CODE (TREE_OPERAND (val, 0)) == VAR_DECL + if (! (INDIRECT_REF_P (val) + && VAR_P (TREE_OPERAND (val, 0)) && variably_modified_type_p (type, NULL))) continue; @@ -3261,8 +3261,8 @@ remap_vla_decls (tree block, struct nesting_info *root) val = DECL_VALUE_EXPR (var); type = TREE_TYPE (var); - if (!(TREE_CODE (val) == INDIRECT_REF - && TREE_CODE (TREE_OPERAND (val, 0)) == VAR_DECL + if (! (INDIRECT_REF_P (val) + && VAR_P (TREE_OPERAND (val, 0)) && variably_modified_type_p (type, NULL))) continue; @@ -3323,7 +3323,7 @@ fixup_vla_decls (tree block) { tree val = DECL_VALUE_EXPR (var); - if (!(TREE_CODE (val) == INDIRECT_REF + if (! (INDIRECT_REF_P (val) && VAR_P (TREE_OPERAND (val, 0)) && DECL_HAS_VALUE_EXPR_P (TREE_OPERAND (val, 0)))) continue; |