https://gcc.gnu.org/g:70e64d3930ef75aa7e50d73ea638838d5c7a2fd8

commit 70e64d3930ef75aa7e50d73ea638838d5c7a2fd8
Author: Paul-Antoine Arras <[email protected]>
Date:   Mon Oct 27 15:25:17 2025 +0100

    OpenMP/Fortran: Skip context selectors that have OMP_TRAIT_INVALID 
[PR122439]
    
    This fixes a fallout of r16-4540-g80af807e52e4f4 that caused undefined
    behaviour.
    
            PR fortran/122439
    
    gcc/fortran/ChangeLog:
    
            * openmp.cc (gfc_resolve_omp_context_selector): Skip selectors that 
have
            OMP_TRAIT_INVALID.
    
    (cherry picked from commit b8a8bb30d950b49beeac17e3495ca78d67278cd7)

Diff:
---
 gcc/fortran/openmp.cc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gcc/fortran/openmp.cc b/gcc/fortran/openmp.cc
index 7a915adbb9da..c603d3784fd0 100644
--- a/gcc/fortran/openmp.cc
+++ b/gcc/fortran/openmp.cc
@@ -12787,6 +12787,8 @@ gfc_resolve_omp_context_selector (gfc_omp_set_selector 
*oss,
              }
          }
 
+       if (os->code == OMP_TRAIT_INVALID)
+         break;
        enum omp_tp_type property_kind = omp_ts_map[os->code].tp_type;
        gfc_omp_trait_property *otp = os->properties;

Reply via email to