diff --git a/gcc/omp-low.cc b/gcc/omp-low.cc index 4f113df92008ae1a67a740636b48afb2bf368f0b..c36ae38cf8e1f412406554147b0748c5e70ac8a2 100644 --- a/gcc/omp-low.cc +++ b/gcc/omp-low.cc @@ -466,7 +466,8 @@ static bool use_pointer_for_field (tree decl, omp_context *shared_ctx) { if (AGGREGATE_TYPE_P (TREE_TYPE (decl)) - || TYPE_ATOMIC (TREE_TYPE (decl))) + || TYPE_ATOMIC (TREE_TYPE (decl)) + || POLY_INT_CST_P (DECL_SIZE (decl))) return true; /* We can only use copy-in/copy-out semantics for shared variables