>From 71c41b76ca8449586138ed40295b15fce6e21897 Mon Sep 17 00:00:00 2001
From: Kael Andrew Alonzo Franco <[email protected]>
Date: Tue, 21 Jul 2026 16:45:05 -0400
Subject: [PATCH] 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]>
---
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 bf7bc5eda5b..b89a8477e7c 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 09e1f32ce8b..c7dda36645e 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 0b3943e7425..7453909164b 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 ee3cbb2716d..0800230873b 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 de8d97c6141..855075138ce 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 a7e6ab70b6b..e4a0a6b1bc7 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 53ea168a44b..cf31f8e0bcd 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 f2e8fd2447f..d4082a84059 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 c73b42ed44f..87245184461 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 5c54c9d6052..a0e7e10795e 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 f8de6e8d4c2..f573c54744c 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 6d69be19860..f11bb95415b 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 e9504d3a019..eb56806217f 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 259b939dce4..35898874c0a 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 0b7589e656f..82045c44bbe 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 bdfdd8d603e..5903b66bcda 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 1d3d3cabc73..20529fcc3bc 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 898a2d24625..710801bd65c 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 1e199302981..8b50c60c132 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 81f58278887..fe4152b3480 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 409314543f7..d7c816a6097 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 fb7c33a76d5..b7bf3e559a0 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 9f009b25fa2..624baa52e22 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 e0311189db4..aa0b4c77a39 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 4ec0098e5db..4e7553329df 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 dd128592d3d..20c98264baa 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 55756c2d90d..3c0ce1794c2 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 d175cff7b36..78729fbec64 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 13d097666d6..e289765cfe0 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 307779b37ef..50c045db155 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 e54f9247888..8fea25a77bd 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 5b301341cff..36386b79118 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
--
2.55.0