+2017-06-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/81006
+ * c-typeck.c (handle_omp_array_sections_1): Convert TYPE_MAX_VALUE
+ to sizetype before size_binop.
+
2017-06-07 Jakub Jelinek <jakub@redhat.com>
* gimple-parser.c (c_parser_parse_gimple_body): Use TDI_gimple instead
&& TREE_CODE (TYPE_MAX_VALUE (TYPE_DOMAIN (type)))
== INTEGER_CST)
{
- tree size = size_binop (PLUS_EXPR,
- TYPE_MAX_VALUE (TYPE_DOMAIN (type)),
- size_one_node);
+ tree size
+ = fold_convert (sizetype, TYPE_MAX_VALUE (TYPE_DOMAIN (type)));
+ size = size_binop (PLUS_EXPR, size, size_one_node);
if (TREE_CODE (low_bound) == INTEGER_CST)
{
if (tree_int_cst_lt (size, low_bound))
2017-06-08 Jakub Jelinek <jakub@redhat.com>
+ PR c/81006
+ * semantics.c (handle_omp_array_sections_1): Convert TYPE_MAX_VALUE
+ to sizetype before size_binop.
+
PR c++/81011
* cp-gimplify.c (cxx_omp_finish_clause): When changing clause
to OMP_CLAUSE_SHARED, also clear OMP_CLAUSE_SHARED_FIRSTPRIVATE
&& TREE_CODE (TYPE_MAX_VALUE (TYPE_DOMAIN (type)))
== INTEGER_CST)
{
- tree size = size_binop (PLUS_EXPR,
- TYPE_MAX_VALUE (TYPE_DOMAIN (type)),
- size_one_node);
+ tree size
+ = fold_convert (sizetype, TYPE_MAX_VALUE (TYPE_DOMAIN (type)));
+ size = size_binop (PLUS_EXPR, size, size_one_node);
if (TREE_CODE (low_bound) == INTEGER_CST)
{
if (tree_int_cst_lt (size, low_bound))
2017-06-08 Jakub Jelinek <jakub@redhat.com>
+ PR c/81006
+ * c-c++-common/gomp/pr81006.c: New test.
+
PR c++/81011
* g++.dg/gomp/pr81011.C: New test.
--- /dev/null
+/* PR c/81006 */
+/* { dg-do compile } */
+
+int a[] = {};
+
+void foo()
+{
+ #pragma omp task depend(out: a[:]) /* { dg-error "zero length array section in .depend. clause" } */
+ {}
+}