Kwok Cheung Yeung wrote on July 9, 2025:
This patch adds macros to refer to the fields of OpenMP iterators by name rather than by index, as the number of items has increased to 10 and referring to them by index has become error-prone.

Subject: [PATCH 07/11] openmp: Add macros for iterator element access

gcc/c/

        * c-parser.cc (c_parser_omp_iterators): Use macros for accessing
        iterator elements.
        (c_parser_omp_clause_affinity): Likewise.
        (c_parser_omp_clause_depend): Likewise.
        (c_parser_omp_clause_map): Likewise.
        (c_parser_omp_clause_from_to): Likewise.
        * c-typeck.cc (c_omp_finish_iterators): Likewise.

gcc/cp/

        * parser.cc (cp_parser_omp_iterators): Use macros for accessing
        iterator elements.
        (cp_parser_omp_clause_affinity): Likewise.
        (cp_parser_omp_clause_depend): Likewise.
        (cp_parser_omp_clause_from_to): Likewise.
        (cp_parser_omp_clause_map): Likewise.
        * semantics.cc (cp_omp_finish_iterators): Likewise.

gcc/fortran/

        * trans-openmp.cc (gfc_trans_omp_array_section): Use macros for
        accessing iterator elements.
        (handle_iterator): Likewise.
        (gfc_trans_omp_clauses): Likewise.

gcc/

        * gimplify.cc (gimplify_omp_affinity): Use macros for accessing
        iterator elements.
        (compute_omp_iterator_count): Likewise.
        (build_omp_iterator_loop): Likewise.
        (remove_unused_omp_iterator_vars): Likewise.
        (build_omp_iterators_loops): Likewise.
        (enter_omp_iterator_loop_context_1): Likewise.
        (extract_base_bit_offset): Likewise.
        * omp-low.cc (lower_omp_map_iterator_expr): Likewise.
        (lower_omp_map_iterator_size): Likewise.
        (allocate_omp_iterator_elems): Likewise.
        (free_omp_iterator_elems): Likewise.
        * tree-inline.cc (copy_tree_body_r): Likewise.
        * tree-pretty-print.cc (dump_omp_iterators): Likewise.
        * tree.h (OMP_ITERATORS_VAR, OMP_ITERATORS_BEGIN, OMP_ITERATORS_END,
        OMP_ITERATORS_STEP, OMP_ITERATORS_ORIG_STEP, OMP_ITERATORS_BLOCK,
        OMP_ITERATORS_LABEL, OMP_ITERATORS_INDEX, OMP_ITERATORS_ELEMS,
        OMP_ITERATORS_COUNT, OMP_ITERATORS_EXPANDED_P): New macros.

LGTM. Thanks!

Tobias

Reply via email to