]> git.ipfire.org Git - thirdparty/gcc.git/commit
Fortran/OpenMP: cleanup gfc_free_omp_namelist
authorTobias Burnus <tburnus@baylibre.com>
Sat, 2 May 2026 20:25:48 +0000 (22:25 +0200)
committerTobias Burnus <tburnus@baylibre.com>
Sat, 2 May 2026 20:25:48 +0000 (22:25 +0200)
commit357207648f16eeb6768e081d320bf131a33316fc
tree52d74e92ca266fa75f8c6f1a525637f9fb16d83a
parent174009941a788048084a32204aca26bec3b75298
Fortran/OpenMP: cleanup gfc_free_omp_namelist

Move the logic to deduce what needs to be freed from the
caller to the callee by passing the OMP_LIST_... enum value
instead of multiple bool arguments to gfc_free_omp_namelist.

Additionally, add the name 'gfc_omp_list_type' to the existing
OMP_LIST_... enum values and OMP_LIST_NONE (== OMP_LIST_NUM)
as special value.

As an enum is available, use it properly and replace 0 by
OMP_LIST_FIRST in the list walks.

gcc/fortran/ChangeLog:

* gfortran.h (enum gfc_omp_list_type): Add this name
to the existing OMP_LIST... enum; add OMP_LIST_NONE.
(gfc_free_omp_namelist): Take that enum as arg instead of bool args.
* match.cc (gfc_free_omp_namelist): Update.
* openmp.cc (gfc_free_omp_clauses, gfc_free_omp_declare_variant_list,
gfc_match_omp_clause_reduction, gfc_match_omp_clauses,
gfc_match_omp_allocate, gfc_match_omp_flush,
gfc_match_omp_declare_target, resolve_omp_clauses,
gfc_resolve_omp_parallel_blocks, resolve_omp_do,
gfc_resolve_oacc_blocks, gfc_resolve_oacc_declare): Update
gfc_free_omp_namelist call and used enum type instead of
int.
* st.cc (gfc_free_statement): Likewise.

Co-Authored-By: Julian Brown <julian@codesourcery.com>
gcc/fortran/gfortran.h
gcc/fortran/match.cc
gcc/fortran/openmp.cc
gcc/fortran/st.cc