mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-21 15:41:09 +08:00
re PR c/59073 (ICE with missing increment in OpenMP for-loop)
PR c/59073 c/ * c-parser.c (c_parser_omp_parallel): If c_parser_omp_for fails, don't set OM_PARALLEL_COMBINED and return NULL. cp/ * parser.c (cp_parser_omp_parallel): If cp_parser_omp_for fails, don't set OM_PARALLEL_COMBINED and return NULL. testsuite/ * c-c++-common/gomp/pr59073.c: New test. From-SVN: r209646
This commit is contained in:
parent
621ad2de21
commit
e162a13486
@ -1,3 +1,9 @@
|
||||
2014-04-22 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c/59073
|
||||
* c-parser.c (c_parser_omp_parallel): If c_parser_omp_for
|
||||
fails, don't set OM_PARALLEL_COMBINED and return NULL.
|
||||
|
||||
2014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
|
||||
|
||||
PR middle-end/60469
|
||||
|
@ -12208,10 +12208,12 @@ c_parser_omp_parallel (location_t loc, c_parser *parser,
|
||||
if (!flag_openmp) /* flag_openmp_simd */
|
||||
return c_parser_omp_for (loc, parser, p_name, mask, cclauses);
|
||||
block = c_begin_omp_parallel ();
|
||||
c_parser_omp_for (loc, parser, p_name, mask, cclauses);
|
||||
tree ret = c_parser_omp_for (loc, parser, p_name, mask, cclauses);
|
||||
stmt
|
||||
= c_finish_omp_parallel (loc, cclauses[C_OMP_CLAUSE_SPLIT_PARALLEL],
|
||||
block);
|
||||
if (ret == NULL_TREE)
|
||||
return ret;
|
||||
OMP_PARALLEL_COMBINED (stmt) = 1;
|
||||
return stmt;
|
||||
}
|
||||
|
@ -1,3 +1,9 @@
|
||||
2014-04-22 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c/59073
|
||||
* parser.c (cp_parser_omp_parallel): If cp_parser_omp_for
|
||||
fails, don't set OM_PARALLEL_COMBINED and return NULL.
|
||||
|
||||
2014-04-18 Jason Merrill <jason@redhat.com>
|
||||
|
||||
DR 1571
|
||||
|
@ -29829,10 +29829,12 @@ cp_parser_omp_parallel (cp_parser *parser, cp_token *pragma_tok,
|
||||
return cp_parser_omp_for (parser, pragma_tok, p_name, mask, cclauses);
|
||||
block = begin_omp_parallel ();
|
||||
save = cp_parser_begin_omp_structured_block (parser);
|
||||
cp_parser_omp_for (parser, pragma_tok, p_name, mask, cclauses);
|
||||
tree ret = cp_parser_omp_for (parser, pragma_tok, p_name, mask, cclauses);
|
||||
cp_parser_end_omp_structured_block (parser, save);
|
||||
stmt = finish_omp_parallel (cclauses[C_OMP_CLAUSE_SPLIT_PARALLEL],
|
||||
block);
|
||||
if (ret == NULL_TREE)
|
||||
return ret;
|
||||
OMP_PARALLEL_COMBINED (stmt) = 1;
|
||||
return stmt;
|
||||
}
|
||||
|
@ -1,3 +1,8 @@
|
||||
2014-04-22 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c/59073
|
||||
* c-c++-common/gomp/pr59073.c: New test.
|
||||
|
||||
2014-04-22 Alex Velenko <Alex.Velenko@arm.com>
|
||||
|
||||
* gcc.target/aarch64/vreinterpret_f64_1.c: New.
|
||||
|
12
gcc/testsuite/c-c++-common/gomp/pr59073.c
Normal file
12
gcc/testsuite/c-c++-common/gomp/pr59073.c
Normal file
@ -0,0 +1,12 @@
|
||||
/* PR c/59073 */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-fopenmp" } */
|
||||
|
||||
void
|
||||
foo ()
|
||||
{
|
||||
int i;
|
||||
#pragma omp distribute parallel for
|
||||
for (i = 0; i < 10; i) /* { dg-error "invalid increment expression" } */
|
||||
;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user