aboutsummaryrefslogtreecommitdiff
path: root/gcc/c/c-parser.cc
diff options
context:
space:
mode:
authorSandra Loosemore <sloosemore@baylibre.com>2025-05-12 16:41:45 +0000
committerSandra Loosemore <sloosemore@baylibre.com>2025-05-15 20:25:49 +0000
commit7affa61f67813b86206db027b981b165bccb84b7 (patch)
tree977db435fb0ae6c99bd060bb45da32702c63e67d /gcc/c/c-parser.cc
parent9c46ffc29646d1c0b16446e8b7e8b294cae49792 (diff)
downloadgcc-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