gas/expr.h fixme

Message ID aMi-EFG4O6u7zSzc@squeak.grove.modra.org
State New
Headers
Series gas/expr.h fixme |

Commit Message

Alan Modra Sept. 16, 2025, 1:32 a.m. UTC
  * expr.h (expressionS): Adjust comments.  Use ENUM_BITFIELD
	for X_op.
	(enum operatorT): Define.
  

Patch

diff --git a/gas/expr.h b/gas/expr.h
index 2be3d69683c..8a8d58df8f5 100644
--- a/gas/expr.h
+++ b/gas/expr.h
@@ -37,7 +37,7 @@ 
 
    NOTE: This enumeration must match the op_rank array in expr.c.  */
 
-typedef enum
+typedef enum operatorT
 {
   /* An illegal expression.  */
   O_illegal,
@@ -122,14 +122,8 @@  typedef struct expressionS
   /* A number to add.  */
   offsetT X_add_number;
 
-  /* The type of the expression.  We can't assume that an arbitrary
-     compiler can handle a bitfield of enum type.  FIXME: We could
-     check this using autoconf.  */
-#ifdef __GNUC__
-  operatorT X_op : 8;
-#else
-  unsigned char X_op;
-#endif
+  /* The type of the expression.  */
+  ENUM_BITFIELD (operatorT) X_op : 8;
 
   /* Non-zero if the expression value should be regarded as unsigned.  This is
      only valid for
@@ -145,9 +139,7 @@  typedef struct expressionS
      signed word.  */
   unsigned int X_extrabit : 1;
 
-  /* 7 additional bits can be defined if needed.  */
-
-  /* Machine dependent field */
+  /* Machine dependent field.  */
   unsigned short X_md;
 } expressionS;