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:
parent
5dd6b2daae
commit
2c3b8badaa
7 changed files with 53 additions and 3 deletions
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
10
gcc/testsuite/c-c++-common/gomp/pr91401-1.c
Normal file
10
gcc/testsuite/c-c++-common/gomp/pr91401-1.c
Normal 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++)
|
||||
;
|
||||
}
|
15
gcc/testsuite/c-c++-common/gomp/pr91401-2.c
Normal file
15
gcc/testsuite/c-c++-common/gomp/pr91401-2.c
Normal 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
|
Loading…
Add table
Reference in a new issue