aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-inline.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@gcc.gnu.org>2019-01-11 22:03:53 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2019-01-11 22:03:53 +0100
commitda972c05f48637060ae3a3b121f99d1522413b82 (patch)
tree52b89022a5b5b913eb3ed34efd5c71cfade6bf23 /gcc/tree-inline.h
parentb13091dd9dbabe7fde4b112c4bfb9be729493c16 (diff)
downloadgcc-da972c05f48637060ae3a3b121f99d1522413b82.zip
gcc-da972c05f48637060ae3a3b121f99d1522413b82.tar.gz
gcc-da972c05f48637060ae3a3b121f99d1522413b82.tar.bz2
re PR middle-end/85956 (ICE in wide_int_to_tree_1, at tree.c:1549)
PR middle-end/85956 PR lto/88733 * tree-inline.h (struct copy_body_data): Add adjust_array_error_bounds field. * tree-inline.c (remap_type_1): Formatting fix. If TYPE_MAX_VALUE of ARRAY_TYPE's TYPE_DOMAIN is newly error_mark_node, replace it with a dummy "omp dummy var" variable if id->adjust_array_error_bounds. * omp-low.c (new_omp_context): Set cb.adjust_array_error_bounds. fortran/ * trans-openmp.c: Include attribs.h. (gfc_walk_alloc_comps, gfc_omp_clause_linear_ctor): Handle VAR_DECL max bound with "omp dummy var" attribute like NULL or error_mark_node - recompute number of elts independently. testsuite/ * c-c++-common/gomp/pr85956.c: New test. * g++.dg/gomp/pr88733.C: New test. From-SVN: r267858
Diffstat (limited to 'gcc/tree-inline.h')
-rw-r--r--gcc/tree-inline.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/tree-inline.h b/gcc/tree-inline.h
index dc25c39..f09e2b4 100644
--- a/gcc/tree-inline.h
+++ b/gcc/tree-inline.h
@@ -122,6 +122,10 @@ struct copy_body_data
/* True if the location information will need to be reset. */
bool reset_location;
+ /* Replace error_mark_node as upper bound of array types with
+ an uninitialized VAR_DECL temporary. */
+ bool adjust_array_error_bounds;
+
/* A function to be called when duplicating BLOCK nodes. */
void (*transform_lang_insert_block) (tree);