openmp: fix UBSAN error at gcc/fortran/openmp.c:4737
authorMartin Liska <mliska@suse.cz>
Mon, 17 Aug 2020 08:37:24 +0000 (10:37 +0200)
committerMartin Liska <mliska@suse.cz>
Mon, 17 Aug 2020 09:02:36 +0000 (11:02 +0200)
commit5625b2c56acdcce9733b970b1fd2ff1349ebe657
treeae2ef074a357264df67f38bc6eec79d853fe31f5
parent9a5381f749ee2cef51af67895de182113e45f642
openmp: fix UBSAN error at gcc/fortran/openmp.c:4737

Since 21cfe724cbdc30612bf1ef59b26f19ada2210832 there's a new
OMP_LIST_NONTEMPORAL value, but it was missing in
resolve_omp_clauses static array that is defined at the function
beginning:

./xgcc -B. /home/marxin/Programming/gcc/gcc/testsuite/gfortran.dg/gomp/nontemporal-1.f90 -fopenmp -c
../../gcc/fortran/openmp.c:4737:28: runtime error: index 21 out of bounds for type 'char *[21]'
    #0 0xbdb956 in resolve_omp_clauses ../../gcc/fortran/openmp.c:4737
    #1 0xbeb076 in resolve_omp_do ../../gcc/fortran/openmp.c:6139
    #2 0xbf029a in gfc_resolve_omp_directive(gfc_code*, gfc_namespace*) ../../gcc/fortran/openmp.c:6792
    #3 0xcb6363 in gfc_resolve_code(gfc_code*, gfc_namespace*) ../../gcc/fortran/resolve.c:12185
    #4 0xcef8cf in resolve_codes ../../gcc/fortran/resolve.c:17303

gcc/fortran/ChangeLog:

* openmp.c (resolve_omp_clauses): Add NONTEMPORAL to clause
names.
gcc/fortran/openmp.c