On 8/17/20 10:52 AM, Tobias Burnus wrote:
LGTM & thanks! – Sorry for missing it.
That happens.
(I re-checked against the OMP_LIST_* enum and it seems to be only missing one.)
Good. I'm suggesting one more clean up that uses static assert instead of a run-time check. Thoughts? Martin
>From c9aee2c44d5cf7e417d381988b2f4900e9ea8b05 Mon Sep 17 00:00:00 2001 From: Martin Liska <mli...@suse.cz> Date: Mon, 17 Aug 2020 11:14:13 +0200 Subject: [PATCH] opnemp: add static assert for clause_names. gcc/fortran/ChangeLog: * openmp.c (resolve_omp_clauses): Add static assert for OMP_LIST_NUM and size of clause_names array. Remove check that is always true. --- gcc/fortran/openmp.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c index 60d8e5573c2..4d33a450a33 100644 --- a/gcc/fortran/openmp.c +++ b/gcc/fortran/openmp.c @@ -4371,6 +4371,7 @@ resolve_omp_clauses (gfc_code *code, gfc_omp_clauses *omp_clauses, "TO", "FROM", "REDUCTION", "DEVICE_RESIDENT", "LINK", "USE_DEVICE", "CACHE", "IS_DEVICE_PTR", "USE_DEVICE_PTR", "USE_DEVICE_ADDR", "NONTEMPORAL" }; + STATIC_ASSERT (ARRAY_SIZE (clause_names) == OMP_LIST_NUM); if (omp_clauses == NULL) return; @@ -4732,12 +4733,7 @@ resolve_omp_clauses (gfc_code *code, gfc_omp_clauses *omp_clauses, for (list = 0; list < OMP_LIST_NUM; list++) if ((n = omp_clauses->lists[list]) != NULL) { - const char *name; - - if (list < OMP_LIST_NUM) - name = clause_names[list]; - else - gcc_unreachable (); + const char *name = clause_names[list]; switch (list) { -- 2.28.0