openmp: Avoid ICE on depend clause on depobj OpenMP construct [PR98072]
authorJakub Jelinek <jakub@redhat.com>
Tue, 1 Dec 2020 20:41:44 +0000 (21:41 +0100)
committerJakub Jelinek <jakub@redhat.com>
Tue, 1 Dec 2020 20:46:03 +0000 (21:46 +0100)
commit91ddf867a57b028ab322b737ea8355d5a472cd44
tree9d41ad142b68b1b5856a1be28230e50801b2cbee
parentd02c41dd414dcc65a08bc82f312f7808b5d90028
openmp: Avoid ICE on depend clause on depobj OpenMP construct [PR98072]

Since r11-5430 we ICE on the following testcase.  When parsing the depobj
directive we don't really use cp_parser_omp_all_clauses routine which ATM
disables generation of location wrappers and the newly added assertion
that there are no location wrappers thus triggers.

Fixed by adding the location wrappers suppression sentinel.

Longer term, we should handle location wrappers inside of OpenMP clauses.

2020-12-01  Jakub Jelinek  <jakub@redhat.com>

PR c++/98072
* parser.c (cp_parser_omp_depobj): Suppress location wrappers when
parsing depend clause.

* c-c++-common/gomp/depobj-2.c: New test.
gcc/cp/parser.c
gcc/testsuite/c-c++-common/gomp/depobj-2.c [new file with mode: 0644]