aboutsummaryrefslogtreecommitdiff
path: root/gas/expr.h
diff options
context:
space:
mode:
Diffstat (limited to 'gas/expr.h')
-rw-r--r--gas/expr.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/gas/expr.h b/gas/expr.h
index 32a1661..e376409 100644
--- a/gas/expr.h
+++ b/gas/expr.h
@@ -116,8 +116,14 @@ typedef struct expressionS
symbolS *X_op_symbol;
/* A number to add. */
offsetT X_add_number;
- /* The type of the expression. */
- operatorT X_op;
+ /* 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 : 7;
+#else
+ unsigned X_op : 7;
+#endif
/* Non-zero if X_add_number should be regarded as unsigned. This is
only valid for O_constant expressions. It is only used when an
O_constant must be extended into a bignum (i.e., it is not used