[gcc r17-2692] middle-end: Remove most ENUM_BITFIELD uses. [PR125507]

Kael Andrew Franco via Gcc-cvs <[email protected]>
Newsgroups gmane.comp.gcc.cvs
Message-ID <[email protected]>
https://gcc.gnu.org/g:b37ace0e98ded690b4392e65487f3a9d2120e76e

commit r17-2692-gb37ace0e98ded690b4392e65487f3a9d2120e76e
Author: Kael Andrew Alonzo Franco <[email protected]>
Date:   Fri Jul 24 20:28:25 2026 -0400

    middle-end: Remove most ENUM_BITFIELD uses. [PR125507]
    
    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/c-family/ChangeLog:
    
            * c-common.h (struct c_common_resword): Remove ENUM_BITFIELD.
            * c-indentation.h (struct token_indent_info): Ditto.
    
    gcc/c/ChangeLog:
    
            * c-parser.h (struct c_token): Remove ENUM_BITFIELD.
            * c-tree.h (struct c_declspecs): Ditto.
    
    gcc/cp/ChangeLog:
    
            * cp-tree.h (struct lang_decl_base): Remove ENUM_BITFIELD.
            (struct lang_decl_fn): Ditto.
            (struct cp_declarator): Ditto.
            * name-lookup.h (struct cp_binding_level): Ditto.
    
    gcc/ChangeLog:
    
            * cfgloop.h (class loop): Remove ENUM_BITFIELD.
            * cgraph.h (struct toplevel_node): Ditto.
            (struct symtab_node): Ditto.
            (struct cgraph_node): Ditto.
            * combine.cc (struct reg_stat_type): Ditto.
            * config/i386/i386.h (struct machine_function): Ditto.
            * cse.cc (struct qty_table_elem): Ditto.
            (struct table_elt): Ditto.
            (struct set): Ditto.
            * df.h (struct df_mw_hardreg): Ditto.
            (struct df_base_ref): Ditto.
            * domwalk.h (class dom_walker): Ditto.
            * dwarf2out.h (struct dw_val_node): Ditto.
            * gimple.h (struct gimple): Ditto.
            * ipa-predicate.h (struct expr_eval_op): Ditto.
            (struct condition): Ditto.
            * ipa-ref.h (struct ipa_ref): Ditto.
            * ira-int.h (struct ira_dependent_filter): Ditto.
            (struct ira_allocno): Ditto.
            * lra-int.h (struct lra_operand_data): Ditto.
            (struct lra_insn_reg): Ditto.
            * optabs.h (class expand_operand): Ditto.
            * recog.h (struct operand_alternative): Ditto.
            (struct insn_operand_data): Ditto.
            * ree.cc (struct ext_modified): Ditto.
            * regrename.h (struct du_chain): Ditto.
            * rtl.h (struct rtx_def): Ditto.
            * sched-int.h (struct _dep): Ditto.
            * tree-into-ssa.cc (struct common_info): Ditto.
            * tree-ssa-loop-ivopts.cc (struct iv_cand): Ditto.
            * tree-ssa-sccvn.h (struct vn_nary_op_s): Ditto.
            (struct vn_reference_op_struct): Ditto.
            * value-range-storage.h (class vrange_storage): Ditto.
            * value-range.h (class vrange): Ditto.
            * var-tracking.cc (struct variable): Ditto.
            * vmsdbg.h (struct _DST_HEADER): Ditto.
    
    Signed-off-by: Kael Andrew Franco <[email protected]>

Diff:
---
 gcc/c-family/c-common.h      |  2 +-
 gcc/c-family/c-indentation.h |  4 ++--
 gcc/c/c-parser.h             |  8 ++++----
 gcc/c/c-tree.h               |  6 +++---
 gcc/cfgloop.h                |  2 +-
 gcc/cgraph.h                 |  8 ++++----
 gcc/combine.cc               |  4 ++--
 gcc/config/i386/i386.h       | 12 ++++++------
 gcc/cp/cp-tree.h             |  8 ++++----
 gcc/cp/name-lookup.h         |  2 +-
 gcc/cse.cc                   |  8 ++++----
 gcc/df.h                     |  6 +++---
 gcc/domwalk.h                |  4 ++--
 gcc/dwarf2out.h              |  2 +-
 gcc/gimple.h                 |  2 +-
 gcc/ipa-predicate.h          |  4 ++--
 gcc/ipa-ref.h                |  2 +-
 gcc/ira-int.h                | 10 +++++-----
 gcc/lra-int.h                |  8 ++++----
 gcc/optabs.h                 |  4 ++--
 gcc/recog.h                  |  4 ++--
 gcc/ree.cc                   |  4 ++--
 gcc/regrename.h              |  2 +-
 gcc/rtl.h                    |  4 ++--
 gcc/sched-int.h              |  2 +-
 gcc/tree-into-ssa.cc         |  2 +-
 gcc/tree-ssa-loop-ivopts.cc  |  2 +-
 gcc/tree-ssa-sccvn.h         |  4 ++--
 gcc/value-range-storage.h    |  2 +-
 gcc/value-range.h            |  4 ++--
 gcc/var-tracking.cc          |  2 +-
 gcc/vmsdbg.h                 |  4 ++--
 32 files changed, 71 insertions(+), 71 deletions(-)

diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h
index bf7bc5eda5be..b89a8477e7ce 100644
--- a/gcc/c-family/c-common.h
+++ b/gcc/c-family/c-common.h
@@ -400,7 +400,7 @@ struct GTY(()) c_common_identifier {
 struct c_common_resword
 {
   const char *const word;
-  ENUM_BITFIELD(rid) const rid : 16;
+  enum rid const rid : 16;
   const unsigned int disable   : 32;
 };
 
diff --git a/gcc/c-family/c-indentation.h b/gcc/c-family/c-indentation.h
index 09e1f32ce8b3..c7dda36645e1 100644
--- a/gcc/c-family/c-indentation.h
+++ b/gcc/c-family/c-indentation.h
@@ -25,8 +25,8 @@ along with GCC; see the file COPYING3.  If not see
 struct token_indent_info
 {
   location_t location;
-  ENUM_BITFIELD (cpp_ttype) type : 8;
-  ENUM_BITFIELD (rid) keyword : 8;
+  enum cpp_ttype type : 8;
+  enum rid keyword : 8;
 };
 
 /* Extract token information from TOKEN, which ought to either be a
diff --git a/gcc/c/c-parser.h b/gcc/c/c-parser.h
index 0b3943e74257..7453909164b4 100644
--- a/gcc/c/c-parser.h
+++ b/gcc/c/c-parser.h
@@ -52,16 +52,16 @@ enum c_id_kind {
    of preprocessing tokens to tokens.  */
 struct GTY (()) c_token {
   /* The kind of token.  */
-  ENUM_BITFIELD (cpp_ttype) type : 8;
+  enum cpp_ttype type : 8;
   /* If this token is a CPP_NAME, this value indicates whether also
      declared as some kind of type.  Otherwise, it is C_ID_NONE.  */
-  ENUM_BITFIELD (c_id_kind) id_kind : 8;
+  enum c_id_kind id_kind : 8;
   /* If this token is a keyword, this value indicates which keyword.
      Otherwise, this value is RID_MAX.  */
-  ENUM_BITFIELD (rid) keyword : 8;
+  enum rid keyword : 8;
   /* If this token is a CPP_PRAGMA, this indicates the pragma that
      was seen.  Otherwise it is PRAGMA_NONE.  */
-  ENUM_BITFIELD (pragma_kind) pragma_kind : 8;
+  enum pragma_kind pragma_kind : 8;
   /* The location at which this token was found.  */
   location_t location;
   /* The value associated with this token, if any.  */
diff --git a/gcc/c/c-tree.h b/gcc/c/c-tree.h
index ee3cbb2716d8..0800230873b7 100644
--- a/gcc/c/c-tree.h
+++ b/gcc/c/c-tree.h
@@ -411,11 +411,11 @@ struct c_declspecs {
   enum c_storage_class storage_class;
   /* Any type specifier keyword used such as "int", not reflecting
      modifiers such as "short", or cts_none if none.  */
-  ENUM_BITFIELD (c_typespec_keyword) typespec_word : 8;
+  enum c_typespec_keyword typespec_word : 8;
   /* The kind of type specifier if one has been seen, ctsk_none
      otherwise.  */
-  ENUM_BITFIELD (c_typespec_kind) typespec_kind : 4;
-  ENUM_BITFIELD (c_declspec_il) declspec_il : 3;
+  enum c_typespec_kind typespec_kind : 4;
+  enum c_declspec_il declspec_il : 3;
   /* Whether any expressions in typeof specifiers may appear in
      constant expressions.  */
   bool expr_const_operands : 1;
diff --git a/gcc/cfgloop.h b/gcc/cfgloop.h
index de8d97c6141f..855075138ce4 100644
--- a/gcc/cfgloop.h
+++ b/gcc/cfgloop.h
@@ -207,7 +207,7 @@ public:
 
   /* An integer estimation of the number of iterations.  Estimate_state
      describes what is the state of the estimation.  */
-  ENUM_BITFIELD(loop_estimation) estimate_state : 8;
+  enum loop_estimation estimate_state : 8;
 
   unsigned any_upper_bound : 1;
   unsigned any_estimate : 1;
diff --git a/gcc/cgraph.h b/gcc/cgraph.h
index a7e6ab70b6be..e4a0a6b1bc78 100644
--- a/gcc/cgraph.h
+++ b/gcc/cgraph.h
@@ -126,7 +126,7 @@ struct GTY ((desc ("%h.type"), tag ("TOPLEVEL_BASE"),
   int order;
 
   /* Type of the node.  */
-  ENUM_BITFIELD (toplevel_type) type : 8;
+  enum toplevel_type type : 8;
 };
 
 /* Base of all entries in the symbol table.
@@ -530,7 +530,7 @@ public:
   }
 
   /* The symbols resolution.  */
-  ENUM_BITFIELD (ld_plugin_symbol_resolution) resolution : 8;
+  enum ld_plugin_symbol_resolution resolution : 8;
 
   /*** Flags representing the symbol type.  ***/
 
@@ -1513,7 +1513,7 @@ struct GTY((tag ("SYMTAB_FUNCTION"))) cgraph_node : public symtab_node
   unsigned process : 1;
   /* How commonly executed the node is.  Initialized during branch
      probabilities pass.  */
-  ENUM_BITFIELD (node_frequency) frequency : 2;
+  enum node_frequency frequency : 2;
   /* True when function can only be called at startup (from static ctor).  */
   unsigned only_called_at_startup : 1;
   /* True when function can only be called at startup (from static dtor).  */
@@ -2355,7 +2355,7 @@ struct GTY((tag ("SYMTAB_VARIABLE"))) varpool_node : public symtab_node
      function local statics.   */
   unsigned dynamically_initialized : 1;
 
-  ENUM_BITFIELD(tls_model) tls_model : 3;
+  enum tls_model tls_model : 3;
 
   /* Set if the variable is known to be used by single function only.
      This is computed by ipa_single_use pass and used by late optimizations
diff --git a/gcc/combine.cc b/gcc/combine.cc
index 0711db3f9a6d..6ee3c1a07cdf 100644
--- a/gcc/combine.cc
+++ b/gcc/combine.cc
@@ -196,7 +196,7 @@ struct reg_stat_type {
 
   unsigned HOST_WIDE_INT	last_set_nonzero_bits;
   unsigned short		last_set_sign_bit_copies;
-  ENUM_BITFIELD(machine_mode)	last_set_mode : MACHINE_MODE_BITSIZE;
+  machine_mode			last_set_mode : MACHINE_MODE_BITSIZE;
 
   /* Set to true if references to register n in expressions should not be
      used.  last_set_invalid is set nonzero when this register is being
@@ -231,7 +231,7 @@ struct reg_stat_type {
      truncation if we know that value already contains a truncated
      value.  */
 
-  ENUM_BITFIELD(machine_mode)	truncated_to_mode : MACHINE_MODE_BITSIZE;
+  machine_mode			truncated_to_mode : MACHINE_MODE_BITSIZE;
 };
 
 
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index f2e8fd2447f4..d4082a840593 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -2894,7 +2894,7 @@ struct GTY(()) machine_function {
 
   /* This value is used for amd64 targets and specifies the current abi
      to be used. MS_ABI means ms abi. Otherwise SYSV_ABI means sysv abi.  */
-  ENUM_BITFIELD(calling_abi) call_abi : 8;
+  enum calling_abi call_abi : 8;
 
   /* Nonzero if the function accesses a previous frame.  */
   bool accesses_prev_frame : 1;
@@ -2929,20 +2929,20 @@ struct GTY(()) machine_function {
   bool no_drap_save_restore : 1;
 
   /* Function type.  */
-  ENUM_BITFIELD(function_type) func_type : 2;
+  enum function_type func_type : 2;
 
   /* How to generate indirec branch.  */
-  ENUM_BITFIELD(indirect_branch) indirect_branch_type : 3;
+  enum indirect_branch indirect_branch_type : 3;
 
   /* If true, the current function has local indirect jumps, like
      "indirect_jump" or "tablejump".  */
   bool has_local_indirect_jump : 1;
 
   /* How to generate function return.  */
-  ENUM_BITFIELD(indirect_branch) function_return_type : 3;
+  enum indirect_branch function_return_type : 3;
 
   /* Call saved registers type.  */
-  ENUM_BITFIELD(call_saved_registers_type) call_saved_registers : 3;
+  enum call_saved_registers_type call_saved_registers : 3;
 
   /* If true, there is register available for argument passing.  This
      is used only in ix86_function_ok_for_sibcall by 32-bit to determine
@@ -2969,7 +2969,7 @@ struct GTY(()) machine_function {
   bool outgoing_args_on_stack : 1;
 
   /* If true, ENDBR or patchable area is queued at function entrance.  */
-  ENUM_BITFIELD(queued_insn_type) insn_queued_at_entrance : 2;
+  enum queued_insn_type insn_queued_at_entrance : 2;
 
   /* If true, the function label has been emitted.  */
   bool function_label_emitted : 1;
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index c73b42ed44ff..872451844614 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -3193,8 +3193,8 @@ enum lang_decl_selector
    not make this struct larger than 32 bits.  */
 
 struct GTY(()) lang_decl_base {
-  ENUM_BITFIELD(lang_decl_selector) selector : 3;
-  ENUM_BITFIELD(languages) language : 1;
+  enum lang_decl_selector selector : 3;
+  enum languages language : 1;
   unsigned use_template : 2;
   unsigned not_really_extern : 1;	   /* var or fn */
   unsigned initialized_in_class : 1;	   /* var or fn */
@@ -3296,7 +3296,7 @@ struct GTY(()) lang_decl_fn {
 
   unsigned xobj_func : 1;
   unsigned contract_wrapper : 1;
-  ENUM_BITFIELD(lang_contract_helper) contract_helper : 2;
+  enum lang_contract_helper contract_helper : 2;
 
   unsigned spare : 4;
 
@@ -7081,7 +7081,7 @@ struct cp_parameter_declarator {
 /* A declarator.  */
 struct cp_declarator {
   /* The kind of declarator.  */
-  ENUM_BITFIELD (cp_declarator_kind) kind : 4;
+  enum cp_declarator_kind kind : 4;
   /* Whether we parsed an ellipsis (`...') just before the declarator,
      to indicate this is a parameter pack.  */
   bool parameter_pack_p : 1;
diff --git a/gcc/cp/name-lookup.h b/gcc/cp/name-lookup.h
index 5c54c9d6052c..a0e7e10795e7 100644
--- a/gcc/cp/name-lookup.h
+++ b/gcc/cp/name-lookup.h
@@ -328,7 +328,7 @@ struct GTY(()) cp_binding_level {
   /* The kind of scope that this object represents.  However, a
       SK_TEMPLATE_SPEC scope is represented with KIND set to
       SK_TEMPLATE_PARMS and EXPLICIT_SPEC_P set to true.  */
-  ENUM_BITFIELD (scope_kind) kind : 5;
+  enum scope_kind kind : 5;
 
   /* True if this scope is an SK_TEMPLATE_SPEC scope.  This field is
       only valid if KIND == SK_TEMPLATE_PARMS.  */
diff --git a/gcc/cse.cc b/gcc/cse.cc
index f8de6e8d4c20..f573c54744cb 100644
--- a/gcc/cse.cc
+++ b/gcc/cse.cc
@@ -249,8 +249,8 @@ struct qty_table_elem
   rtx comparison_const;
   int comparison_qty;
   unsigned int first_reg, last_reg;
-  ENUM_BITFIELD(machine_mode) mode : MACHINE_MODE_BITSIZE;
-  ENUM_BITFIELD(rtx_code) comparison_code : RTX_CODE_BITSIZE;
+  machine_mode mode : MACHINE_MODE_BITSIZE;
+  enum rtx_code comparison_code : RTX_CODE_BITSIZE;
 };
 
 /* The table of all qtys, indexed by qty number.  */
@@ -403,7 +403,7 @@ struct table_elt
   struct table_elt *related_value;
   int cost;
   int regcost;
-  ENUM_BITFIELD(machine_mode) mode : MACHINE_MODE_BITSIZE;
+  machine_mode mode : MACHINE_MODE_BITSIZE;
   char in_memory;
   char is_const;
   char flag;
@@ -4192,7 +4192,7 @@ struct set
   /* The SET_DEST, with SUBREG, etc., stripped.  */
   rtx inner_dest;
   /* Original machine mode, in case it becomes a CONST_INT.  */
-  ENUM_BITFIELD(machine_mode) mode : MACHINE_MODE_BITSIZE;
+  machine_mode mode : MACHINE_MODE_BITSIZE;
   /* Nonzero if the SET_SRC is in memory.  */
   unsigned int src_in_memory : 1;
   /* Nonzero if the SET_SRC contains something
diff --git a/gcc/df.h b/gcc/df.h
index 6d69be19860c..f11bb95415b8 100644
--- a/gcc/df.h
+++ b/gcc/df.h
@@ -345,7 +345,7 @@ struct df_mw_hardreg
   rtx mw_reg;                   /* The multiword hardreg.  */
   /* These two bitfields are intentionally oversized, in the hope that
      accesses to 16-bit fields will usually be quicker.  */
-  ENUM_BITFIELD(df_ref_type) type : 16;
+  enum df_ref_type type : 16;
 				/* Used to see if the ref is read or write.  */
   int flags : 16;		/* Various df_ref_flags.  */
   unsigned int start_regno;     /* First word of the multi word subreg.  */
@@ -361,9 +361,9 @@ struct df_base_ref
 {
   /* These three bitfields are intentionally oversized, in the hope that
      accesses to 8 and 16-bit fields will usually be quicker.  */
-  ENUM_BITFIELD(df_ref_class) cl : 8;
+  enum df_ref_class cl : 8;
 
-  ENUM_BITFIELD(df_ref_type) type : 8;
+  enum df_ref_type type : 8;
 				/* Type of ref.  */
   int flags : 16;		/* Various df_ref_flags.  */
   unsigned int regno;		/* The register number referenced.  */
diff --git a/gcc/domwalk.h b/gcc/domwalk.h
index e9504d3a019b..eb56806217ff 100644
--- a/gcc/domwalk.h
+++ b/gcc/domwalk.h
@@ -93,8 +93,8 @@ private:
      if it is set to CDI_DOMINATORS, then we walk the dominator tree,
      if it is set to CDI_POST_DOMINATORS, then we walk the post
      dominator tree.  */
-  const ENUM_BITFIELD (cdi_direction) m_dom_direction : 2;
-  const ENUM_BITFIELD (reachability) m_reachability : 2;
+  const enum cdi_direction m_dom_direction : 2;
+  const enum reachability m_reachability : 2;
   bool m_user_bb_to_rpo;
   basic_block m_unreachable_dom;
   int *m_bb_to_rpo;
diff --git a/gcc/dwarf2out.h b/gcc/dwarf2out.h
index 259b939dce44..35898874c0a6 100644
--- a/gcc/dwarf2out.h
+++ b/gcc/dwarf2out.h
@@ -283,7 +283,7 @@ struct GTY(()) dw_val_node {
     {
       struct dw_val_loc_descr_node
 	{
-	  ENUM_BITFIELD (dwarf_location_atom) dw_loc_opc_v : 8;
+	  enum dwarf_location_atom dw_loc_opc_v : 8;
 	  /* Used to distinguish DW_OP_addr with a direct symbol relocation
 	     from DW_OP_addr with a dtp-relative symbol relocation.  */
 	  unsigned int dw_loc_dtprel_v : 1;
diff --git a/gcc/gimple.h b/gcc/gimple.h
index 0b7589e656f4..82045c44bbeb 100644
--- a/gcc/gimple.h
+++ b/gcc/gimple.h
@@ -226,7 +226,7 @@ struct GTY((desc ("gimple_statement_structure (&%h)"), tag ("GSS_BASE"),
 {
   /* [ WORD 1 ]
      Main identifying code for a tuple.  */
-  ENUM_BITFIELD(gimple_code) code : 8;
+  enum gimple_code code : 8;
 
   /* Nonzero if a warning should not be emitted on this tuple.  */
   unsigned int no_warning	: 1;
diff --git a/gcc/ipa-predicate.h b/gcc/ipa-predicate.h
index bdfdd8d603e1..5903b66bcdaa 100644
--- a/gcc/ipa-predicate.h
+++ b/gcc/ipa-predicate.h
@@ -40,7 +40,7 @@ struct GTY(()) expr_eval_op
   /* Index of parameter operand in expression.  */
   unsigned index : 2;
   /* Operation code of expression.  */
-  ENUM_BITFIELD(tree_code) code : 16;
+  tree_code code : 16;
 };
 
 typedef vec<expr_eval_op, va_gc> *expr_eval_ops;
@@ -54,7 +54,7 @@ struct GTY(()) condition
   tree type;
   tree val;
   int operand_num;
-  ENUM_BITFIELD(tree_code) code : 16;
+  tree_code code : 16;
   /* Set if the used data were loaded from an aggregate parameter or from
      data received by reference.  */
   unsigned agg_contents : 1;
diff --git a/gcc/ipa-ref.h b/gcc/ipa-ref.h
index 1d3d3cabc730..20529fcc3bc4 100644
--- a/gcc/ipa-ref.h
+++ b/gcc/ipa-ref.h
@@ -63,7 +63,7 @@ public:
   /* speculative id is used to link direct calls with their corresponding
      IPA_REF_ADDR references when representing speculative calls.  */
   unsigned int speculative_id : 16;
-  ENUM_BITFIELD (ipa_ref_use) use:3;
+  enum ipa_ref_use use:3;
   unsigned int speculative:1;
 };
 
diff --git a/gcc/ira-int.h b/gcc/ira-int.h
index 898a2d24625a..710801bd65cd 100644
--- a/gcc/ira-int.h
+++ b/gcc/ira-int.h
@@ -271,12 +271,12 @@ struct ira_dependent_filter
 {
   /* Filter ID and MODE of this (dependent) op.  */
   int id;
-  ENUM_BITFIELD (machine_mode) mode : MACHINE_MODE_BITSIZE;
+  machine_mode mode : MACHINE_MODE_BITSIZE;
 
   /* Allocno, hard regno and mode of the referenced op.  */
   ira_allocno_t ref_allocno;
   unsigned int ref_hard_regno;
-  ENUM_BITFIELD (machine_mode) ref_mode : MACHINE_MODE_BITSIZE;
+  machine_mode ref_mode : MACHINE_MODE_BITSIZE;
 
   struct ira_dependent_filter *next;
 };
@@ -298,13 +298,13 @@ struct ira_allocno
   int regno;
   /* Mode of the allocno which is the mode of the corresponding
      pseudo-register.  */
-  ENUM_BITFIELD (machine_mode) mode : MACHINE_MODE_BITSIZE;
+  machine_mode mode : MACHINE_MODE_BITSIZE;
   /* Widest mode of the allocno which in at least one case could be
      for paradoxical subregs where wmode > mode.  */
-  ENUM_BITFIELD (machine_mode) wmode : MACHINE_MODE_BITSIZE;
+  machine_mode wmode : MACHINE_MODE_BITSIZE;
   /* Register class which should be used for allocation for given
      allocno.  NO_REGS means that we should use memory.  */
-  ENUM_BITFIELD (reg_class) aclass : 16;
+  enum reg_class aclass : 16;
   /* Hard register assigned to given allocno.  Negative value means
      that memory was allocated to the allocno.  During the reload,
      spilled allocno has value equal to the corresponding stack slot
diff --git a/gcc/lra-int.h b/gcc/lra-int.h
index 1e199302981a..8b50c60c1329 100644
--- a/gcc/lra-int.h
+++ b/gcc/lra-int.h
@@ -154,9 +154,9 @@ struct lra_operand_data
   alternative_mask early_clobber_alts;
   /* It is taken only from machine description (which is different
      from recog_data.operand_mode) and can be of VOIDmode.  */
-  ENUM_BITFIELD(machine_mode) mode : 16;
+  machine_mode mode : 16;
   /* The type of the operand (in/out/inout).  */
-  ENUM_BITFIELD (op_type) type : 8;
+  enum op_type type : 8;
   /* Through if accessed through STRICT_LOW.  */
   unsigned int strict_low : 1;
   /* True if the operand is an operator.  */
@@ -173,9 +173,9 @@ struct lra_insn_reg
   /* The biggest mode through which the insn refers to the register
      occurrence (remember the register can be accessed through a
      subreg in the insn).  */
-  ENUM_BITFIELD(machine_mode) biggest_mode : 16;
+  machine_mode biggest_mode : 16;
   /* The type of the corresponding operand which is the register.  */
-  ENUM_BITFIELD (op_type) type : 8;
+  enum op_type type : 8;
   /* True if the reg is accessed through a subreg and the subreg is
      just a part of the register.  */
   unsigned int subreg_p : 1;
diff --git a/gcc/optabs.h b/gcc/optabs.h
index 81f582788875..fe4152b34809 100644
--- a/gcc/optabs.h
+++ b/gcc/optabs.h
@@ -45,7 +45,7 @@ enum expand_operand_type {
 class expand_operand {
 public:
   /* The type of operand.  */
-  ENUM_BITFIELD (expand_operand_type) type : 8;
+  enum expand_operand_type type : 8;
 
   /* True if any conversion should treat VALUE as being unsigned
      rather than signed.  Only meaningful for certain types.  */
@@ -59,7 +59,7 @@ public:
 
   /* The mode passed to the convert_*_operand function.  It has a
      type-dependent meaning.  */
-  ENUM_BITFIELD (machine_mode) mode : 16;
+  machine_mode mode : 16;
 
   /* The value of the operand.  */
   rtx value;
diff --git a/gcc/recog.h b/gcc/recog.h
index 409314543f79..d7c816a6097d 100644
--- a/gcc/recog.h
+++ b/gcc/recog.h
@@ -50,7 +50,7 @@ struct operand_alternative
   const char *constraint;
 
   /* The register class valid for this alternative (possibly NO_REGS).  */
-  ENUM_BITFIELD (reg_class) cl : 16;
+  enum reg_class cl : 16;
 
   /* "Badness" of this alternative, computed from number of '?' and '!'
      characters in the constraint string.  */
@@ -505,7 +505,7 @@ struct insn_operand_data
 
   const char *const constraint;
 
-  ENUM_BITFIELD(machine_mode) const mode : 16;
+  machine_mode const mode : 16;
 
   const char strict_low;
 
diff --git a/gcc/ree.cc b/gcc/ree.cc
index fb7c33a76d58..b7bf3e559a01 100644
--- a/gcc/ree.cc
+++ b/gcc/ree.cc
@@ -567,10 +567,10 @@ enum ext_modified_kind
 struct ext_modified
 {
   /* Mode from which ree has zero or sign extended the destination.  */
-  ENUM_BITFIELD(machine_mode) mode : MACHINE_MODE_BITSIZE;
+  machine_mode mode : MACHINE_MODE_BITSIZE;
 
   /* Kind of modification of the insn.  */
-  ENUM_BITFIELD(ext_modified_kind) kind : 2;
+  enum ext_modified_kind kind : 2;
 
   unsigned int do_not_reextend : 1;
 
diff --git a/gcc/regrename.h b/gcc/regrename.h
index 9f009b25fa23..624baa52e228 100644
--- a/gcc/regrename.h
+++ b/gcc/regrename.h
@@ -72,7 +72,7 @@ struct du_chain
   /* The location inside the insn.  */
   rtx *loc;
   /* The register class required by the insn at this location.  */
-  ENUM_BITFIELD(reg_class) cl : 16;
+  enum reg_class cl : 16;
 };
 
 /* This struct describes data gathered during regrename_analyze about
diff --git a/gcc/rtl.h b/gcc/rtl.h
index e0311189db46..aa0b4c77a395 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -313,10 +313,10 @@ struct GTY((desc("0"), tag("0"),
 	    chain_next ("RTX_NEXT (&%h)"),
 	    chain_prev ("RTX_PREV (&%h)"))) rtx_def {
   /* The kind of value the expression has.  */
-  ENUM_BITFIELD(machine_mode) mode : MACHINE_MODE_BITSIZE;
+  machine_mode mode : MACHINE_MODE_BITSIZE;
 
   /* The kind of expression this is.  */
-  ENUM_BITFIELD(rtx_code) code: RTX_CODE_BITSIZE;
+  enum rtx_code code: RTX_CODE_BITSIZE;
 
   /* 1 in a MEM if we should keep the alias set for this mem unchanged
      when we access a component.
diff --git a/gcc/sched-int.h b/gcc/sched-int.h
index 4ec0098e5db8..4e7553329df9 100644
--- a/gcc/sched-int.h
+++ b/gcc/sched-int.h
@@ -230,7 +230,7 @@ struct _dep
 
   /* Dependency major type.  This field is superseded by STATUS above.
      Though, it is still in place because some targets use it.  */
-  ENUM_BITFIELD(reg_note) type:6;
+  enum reg_note type:6;
 
   unsigned nonreg:1;
   unsigned multiple:1;
diff --git a/gcc/tree-into-ssa.cc b/gcc/tree-into-ssa.cc
index dd128592d3dd..20c98264baa3 100644
--- a/gcc/tree-into-ssa.cc
+++ b/gcc/tree-into-ssa.cc
@@ -154,7 +154,7 @@ struct common_info
   /* This field indicates whether or not the variable may need PHI nodes.
      See the enum's definition for more detailed information about the
      states.  */
-  ENUM_BITFIELD (need_phi_state) need_phi_state : 2;
+  enum need_phi_state need_phi_state : 2;
 
   /* The current reaching definition replacing this var.  */
   tree current_def;
diff --git a/gcc/tree-ssa-loop-ivopts.cc b/gcc/tree-ssa-loop-ivopts.cc
index 55756c2d90db..3c0ce1794c2f 100644
--- a/gcc/tree-ssa-loop-ivopts.cc
+++ b/gcc/tree-ssa-loop-ivopts.cc
@@ -455,7 +455,7 @@ struct iv_cand
   bool important;	/* Whether this is an "important" candidate, i.e. such
 			   that it should be considered by all uses.  */
   bool involves_undefs; /* Whether the IV involves undefined values.  */
-  ENUM_BITFIELD(iv_position) pos : 8;	/* Where it is computed.  */
+  enum iv_position pos : 8;/* Where it is computed.  */
   gimple *incremented_at;/* For original biv, the statement where it is
 			   incremented.  */
   tree var_before;	/* The variable used for it before increment.  */
diff --git a/gcc/tree-ssa-sccvn.h b/gcc/tree-ssa-sccvn.h
index d175cff7b362..78729fbec646 100644
--- a/gcc/tree-ssa-sccvn.h
+++ b/gcc/tree-ssa-sccvn.h
@@ -51,7 +51,7 @@ typedef struct vn_nary_op_s
   vn_nary_op_s *unwind_to;
   /* Unique identify that all expressions with the same value have. */
   unsigned int value_id;
-  ENUM_BITFIELD(tree_code) opcode : 16;
+  tree_code opcode : 16;
   unsigned length : 16;
   hashval_t hashcode;
   unsigned predicated_values : 1;
@@ -105,7 +105,7 @@ typedef const struct vn_phi_s *const_vn_phi_t;
 
 typedef struct vn_reference_op_struct
 {
-  ENUM_BITFIELD(tree_code) opcode : 16;
+  tree_code opcode : 16;
   /* Dependence info, used for [TARGET_]MEM_REF only.  For internal
      function calls clique is also used for the internal function code.  */
   unsigned short clique;
diff --git a/gcc/value-range-storage.h b/gcc/value-range-storage.h
index 13d097666d6d..e289765cfe01 100644
--- a/gcc/value-range-storage.h
+++ b/gcc/value-range-storage.h
@@ -58,7 +58,7 @@ public:
 
   // Stack initialization disallowed.
   vrange_storage (enum value_range_discriminator d) : m_discriminator (d) { }
-  const ENUM_BITFIELD(value_range_discriminator) m_discriminator : 4;
+  const enum value_range_discriminator m_discriminator : 4;
 };
 
 // Efficient memory storage for an irange.
diff --git a/gcc/value-range.h b/gcc/value-range.h
index 3226e53cb710..5bea3cbc9d4c 100644
--- a/gcc/value-range.h
+++ b/gcc/value-range.h
@@ -124,8 +124,8 @@ public:
   virtual void verify_range () const { }
 protected:
   vrange (enum value_range_discriminator d) : m_discriminator (d) { }
-  ENUM_BITFIELD(value_range_kind) m_kind : 8;
-  const ENUM_BITFIELD(value_range_discriminator) m_discriminator : 4;
+  enum value_range_kind m_kind : 8;
+  const enum value_range_discriminator m_discriminator : 4;
 };
 
 namespace inchash
diff --git a/gcc/var-tracking.cc b/gcc/var-tracking.cc
index e54f92478886..8fea25a77bde 100644
--- a/gcc/var-tracking.cc
+++ b/gcc/var-tracking.cc
@@ -376,7 +376,7 @@ struct variable
   char n_var_parts;
 
   /* What type of DV this is, according to enum onepart_enum.  */
-  ENUM_BITFIELD (onepart_enum) onepart : CHAR_BIT;
+  enum onepart_enum onepart : CHAR_BIT;
 
   /* True if this variable_def struct is currently in the
      changed_variables hash table.  */
diff --git a/gcc/vmsdbg.h b/gcc/vmsdbg.h
index 5b301341cff2..36386b79118f 100644
--- a/gcc/vmsdbg.h
+++ b/gcc/vmsdbg.h
@@ -46,8 +46,8 @@ typedef struct _DST_HEADER
     } dst__header_length;
   union
     {
-      ENUM_BITFIELD (_DST_TYPE) dst_w_type : 16;
-      ENUM_BITFIELD (_DST_TYPE) dst_x_type : 16;
+      enum _DST_TYPE dst_w_type : 16;
+      enum _DST_TYPE dst_x_type : 16;
     } dst__header_type;
 } DST_HEADER;
 #define DST_K_DST_HEADER_SIZE sizeof 4
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.