On Thu, Sep 3, 2026 at 4:08 AM Kael Andrew Alonzo Franco <[email protected]> wrote: > > GCC requires C++14 and C++ supports enum bitfield so ENUM_BITFIELD is > deprecated macro. > > Bootstrapped and regtested on x86_64-pc-linux-gnu. > > PR middle-end/125507 > > gcc/fortran/ChangeLog: > > * gfortran.h (symbol_attribute): Remove ENUM_BITFIELD. > (gfc_omp_namelist): Ditto. > (gfc_omp_clauses): Ditto. > (gfc_common_head): Ditto. > (gfc_namespace): Ditto. > (gfc_intrinsic_arg): Ditto.
Ok. > > Signed-off-by: Kael Andrew Franco <[email protected]> > --- > gcc/fortran/gfortran.h | 56 +++++++++++++++++++++--------------------- > 1 file changed, 28 insertions(+), 28 deletions(-) > > diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h > index 53e239f21a4..6628cd856cf 100644 > --- a/gcc/fortran/gfortran.h > +++ b/gcc/fortran/gfortran.h > @@ -957,7 +957,7 @@ typedef struct > "real" (original) value here. */ > unsigned class_pointer:1; > > - ENUM_BITFIELD (save_state) save:2; > + enum save_state save:2; > > unsigned data:1, /* Symbol is named in a DATA statement. */ > is_protected:1, /* Symbol has been marked as protected. */ > @@ -1043,13 +1043,13 @@ typedef struct > unsigned referenced:1; > > /* Set if the value of the symbol has been assigned one way or another. */ > - ENUM_BITFIELD (value_set) value_set:3; > + enum value_set value_set:3; > > /* Set if the value of the symbol has been used. */ > - ENUM_BITFIELD (value_used) value_used:3; > + enum value_used value_used:3; > > /* Set if the symbol has been allocated in the current procedure. */ > - ENUM_BITFIELD (var_allocated) allocated:2; > + enum var_allocated allocated:2; > > /* Set if we already emitted a warning for this symbol and the > middle-end should not add additional ones. */ > @@ -1059,12 +1059,12 @@ typedef struct > unsigned is_main_program:1; > > /* Mutually exclusive multibit attributes. */ > - ENUM_BITFIELD (gfc_access) access:2; > - ENUM_BITFIELD (sym_intent) intent:2; > - ENUM_BITFIELD (sym_flavor) flavor:4; > - ENUM_BITFIELD (ifsrc) if_source:2; > + enum gfc_access access:2; > + enum sym_intent intent:2; > + enum sym_flavor flavor:4; > + enum ifsrc if_source:2; > > - ENUM_BITFIELD (procedure_type) proc:3; > + enum procedure_type proc:3; > > /* Special attributes for Cray pointers, pointees. */ > unsigned cray_pointer:1, cray_pointee:1; > @@ -1103,7 +1103,7 @@ typedef struct > unsigned omp_declare_target_link:1; > unsigned omp_declare_target_local:1; > unsigned omp_declare_target_indirect:1; > - ENUM_BITFIELD (gfc_omp_device_type) omp_device_type:2; > + enum gfc_omp_device_type omp_device_type:2; > unsigned omp_groupprivate:1; > unsigned omp_allocate:1; > > @@ -1115,7 +1115,7 @@ typedef struct > unsigned oacc_declare_link:1; > > /* OpenACC 'routine' directive's level of parallelism. */ > - ENUM_BITFIELD (oacc_routine_lop) oacc_routine_lop:3; > + enum oacc_routine_lop oacc_routine_lop:3; > unsigned oacc_routine_nohost:1; > > /* Attributes set by compiler extensions (!GCC$ ATTRIBUTES). */ > @@ -1480,13 +1480,13 @@ typedef struct gfc_omp_namelist > gfc_omp_depend_doacross_op depend_doacross_op; > struct > { > - ENUM_BITFIELD (gfc_omp_map_op) op : 16; > + enum gfc_omp_map_op op : 16; > bool readonly; > } map; > gfc_expr *align; > struct > { > - ENUM_BITFIELD (gfc_omp_linear_op) op:4; > + enum gfc_omp_linear_op op:4; > bool old_modifier; > } linear; > struct gfc_common_head *common; > @@ -1750,18 +1750,18 @@ typedef struct gfc_omp_clauses > unsigned full:1, erroneous:1; > unsigned thread_limit_strict:1, num_threads_strict:1; > unsigned num_teams_dims:1, thread_limit_dims:1, num_threads_dims:1; > - ENUM_BITFIELD (gfc_omp_sched_kind) sched_kind:3; > - ENUM_BITFIELD (gfc_omp_device_type) device_type:2; > - ENUM_BITFIELD (gfc_omp_memorder) memorder:3; > - ENUM_BITFIELD (gfc_omp_memorder) fail:3; > - ENUM_BITFIELD (gfc_omp_cancel_kind) cancel:3; > - ENUM_BITFIELD (gfc_omp_proc_bind_kind) proc_bind:3; > - ENUM_BITFIELD (gfc_omp_depend_doacross_op) depobj_update:4; > - ENUM_BITFIELD (gfc_omp_bind_type) bind:2; > - ENUM_BITFIELD (gfc_omp_at_type) at:2; > - ENUM_BITFIELD (gfc_omp_severity_type) severity:2; > - ENUM_BITFIELD (gfc_omp_sched_kind) dist_sched_kind:3; > - ENUM_BITFIELD (gfc_omp_fallback) fallback:2; > + enum gfc_omp_sched_kind sched_kind:3; > + enum gfc_omp_device_type device_type:2; > + enum gfc_omp_memorder memorder:3; > + enum gfc_omp_memorder fail:3; > + enum gfc_omp_cancel_kind cancel:3; > + enum gfc_omp_proc_bind_kind proc_bind:3; > + enum gfc_omp_depend_doacross_op depobj_update:4; > + enum gfc_omp_bind_type bind:2; > + enum gfc_omp_at_type at:2; > + enum gfc_omp_severity_type severity:2; > + enum gfc_omp_sched_kind dist_sched_kind:3; > + enum gfc_omp_fallback fallback:2; > > /* OpenACC. */ > struct gfc_expr *async_expr; > @@ -2239,7 +2239,7 @@ typedef struct gfc_common_head > unsigned char omp_declare_target_link : 1; > unsigned char omp_declare_target_local : 1; > unsigned char omp_groupprivate : 1; > - ENUM_BITFIELD (gfc_omp_device_type) omp_device_type:2; > + enum gfc_omp_device_type omp_device_type:2; > /* Provide sufficient space to hold "symbol.symbol.eq.1234567890". */ > char name[2*GFC_MAX_SYMBOL_LEN + 1 + 14 + 1]; > struct gfc_symbol *head; > @@ -2476,7 +2476,7 @@ typedef struct gfc_namespace > unsigned has_import_set:1; > > /* Flag F2018 import status */ > - ENUM_BITFIELD (importstate) import_state :3; > + enum importstate import_state :3; > > > /* Set to 1 if the namespace uses "IMPLICIT NONE (export)". */ > @@ -2655,7 +2655,7 @@ typedef struct gfc_intrinsic_arg > > gfc_typespec ts; > unsigned optional:1, value:1; > - ENUM_BITFIELD (sym_intent) intent:2; > + enum sym_intent intent:2; > > struct gfc_intrinsic_arg *next; > } > -- > 2.55.0 >
