diff options
author | Sandra Loosemore <sloosemore@baylibre.com> | 2025-05-12 16:41:45 +0000 |
---|---|---|
committer | Sandra Loosemore <sloosemore@baylibre.com> | 2025-05-15 20:25:49 +0000 |
commit | 7affa61f67813b86206db027b981b165bccb84b7 (patch) | |
tree | 977db435fb0ae6c99bd060bb45da32702c63e67d /gcc/c/c-parser.cc | |
parent | 9c46ffc29646d1c0b16446e8b7e8b294cae49792 (diff) | |
download | gcc-7affa61f67813b86206db027b981b165bccb84b7.zip gcc-7affa61f67813b86206db027b981b165bccb84b7.tar.gz gcc-7affa61f67813b86206db027b981b165bccb84b7.tar.bz2 |
OpenMP, Fortran: Handle errors in 'declare mapper' instantiation
The patch "OpenMP: Reprocess expanded clauses after 'declare mapper'
instantiation" added further error-checking to
gfc_omp_instantiate_mappers, which is called during the translation
phase of processing, but these errors were effectively ignored for
further processing of the code. This patch makes the translation
phase insert an error_mark_node in these situations instead of
generating normal tree code.
This patch fixes an ICE in gfortran.dg/gomp/declare-mapper-29.f90
where it was attempting to gimplify code that had already been
diagnosed as invalid in the front end.
gcc/fortran/ChangeLog
* gfortran.h (gfc_omp_instantiate_mappers): Adjust declaration
to return an error status instead of void.
* openmp.cc (gfc_gomp_instantiate_mappers): Likewise for the
the definition.
* trans-openmp.cc (gfc_trans_omp_target): Check return status of
call to gfc_omp_instantiate_mappers and insert an error_mark_node
on failure instead of continuing normal processing of the construct.
(gfc_trans_omp_target_data): Likewise.
(gfc_trans_omp_target_enter_data): Likewise.
(gfc_trans_omp_target_exit_data): Likewise.
Diffstat (limited to 'gcc/c/c-parser.cc')
0 files changed, 0 insertions, 0 deletions