re PR c/91401 (schedule + dist_schedule clauses rejected on distribute parallel for)

PR c/91401
c/
	* c-parser.c (c_parser_omp_clause_dist_schedule): Fix up typos in the
	check_no_duplicate_clause call.  Comment it out, instead emit a
	warning for duplicate dist_schedule clauses.
cp/
	* parser.c (cp_parser_omp_clause_dist_schedule): Comment out the
	check_no_duplicate_clause call, instead emit a warning for duplicate
	dist_schedule clauses.
testsuite/
	* c-c++-common/gomp/pr91401-1.c: New test.
	* c-c++-common/gomp/pr91401-2.c: New test.

From-SVN: r274226
This commit is contained in:
Jakub Jelinek 2019-08-09 09:23:03 +02:00 committed by Jakub Jelinek
parent 5dd6b2daae
commit 2c3b8badaa
7 changed files with 53 additions and 3 deletions

View file

@ -1,3 +1,10 @@
2019-08-09 Jakub Jelinek <jakub@redhat.com>
PR c/91401
* c-parser.c (c_parser_omp_clause_dist_schedule): Fix up typos in the
check_no_duplicate_clause call. Comment it out, instead emit a
warning for duplicate dist_schedule clauses.
2019-08-08 Richard Sandiford <richard.sandiford@arm.com>
* c-decl.c (finish_enum): Clear C_TYPE_BEING_DEFINED.

View file

@ -14811,7 +14811,10 @@ c_parser_omp_clause_dist_schedule (c_parser *parser, tree list)
c_parser_skip_until_found (parser, CPP_CLOSE_PAREN,
"expected %<,%> or %<)%>");
check_no_duplicate_clause (list, OMP_CLAUSE_SCHEDULE, "schedule");
/* check_no_duplicate_clause (list, OMP_CLAUSE_DIST_SCHEDULE,
"dist_schedule"); */
if (omp_find_clause (list, OMP_CLAUSE_DIST_SCHEDULE))
warning_at (loc, 0, "too many %qs clauses", "dist_schedule");
if (t == error_mark_node)
return list;

View file

@ -1,3 +1,10 @@
2019-08-09 Jakub Jelinek <jakub@redhat.com>
PR c/91401
* parser.c (cp_parser_omp_clause_dist_schedule): Comment out the
check_no_duplicate_clause call, instead emit a warning for duplicate
dist_schedule clauses.
2019-08-08 Paolo Carlini <paolo.carlini@oracle.com>
* decl.c (grokdeclarator): Use id_loc and EXPR_LOCATION in

View file

@ -35258,8 +35258,10 @@ cp_parser_omp_clause_dist_schedule (cp_parser *parser, tree list,
else if (!cp_parser_require (parser, CPP_CLOSE_PAREN, RT_COMMA_CLOSE_PAREN))
goto resync_fail;
check_no_duplicate_clause (list, OMP_CLAUSE_DIST_SCHEDULE, "dist_schedule",
location);
/* check_no_duplicate_clause (list, OMP_CLAUSE_DIST_SCHEDULE,
"dist_schedule", location); */
if (omp_find_clause (list, OMP_CLAUSE_DIST_SCHEDULE))
warning_at (location, 0, "too many %qs clauses", "dist_schedule");
OMP_CLAUSE_CHAIN (c) = list;
return c;

View file

@ -1,3 +1,9 @@
2019-08-09 Jakub Jelinek <jakub@redhat.com>
PR c/91401
* c-c++-common/gomp/pr91401-1.c: New test.
* c-c++-common/gomp/pr91401-2.c: New test.
2019-08-09 Alexandre Oliva <oliva@adacore.com>
* gcc.target/i386/sse2-mul-1.c: Use rand. Drop fallback.

View file

@ -0,0 +1,10 @@
/* PR c/91401 */
void
foo (void)
{
int i;
#pragma omp distribute parallel for schedule (static) dist_schedule (static)
for (i = 0; i < 64; i++)
;
}

View file

@ -0,0 +1,15 @@
#pragma omp declare target
void f0 (void);
void
f1 (void)
{
int i;
#pragma omp distribute dist_schedule(static) dist_schedule(static) /* { dg-warning "too many 'dist_schedule' clauses" } */
for (i = 0; i < 8; ++i)
f0 ();
#pragma omp distribute dist_schedule(static,2) dist_schedule(static,4) /* { dg-warning "too many 'dist_schedule' clauses" } */
for (i = 0; i < 8; ++i)
f0 ();
}
#pragma omp end declare target