* dwarf2dbg.c (dwarf2_gen_line_info): Mirror the section symbol
[external/binutils.git] / gas / expr.h
index da90743..32a1661 100644 (file)
@@ -1,5 +1,5 @@
 /* expr.h -> header file for expr.c
-   Copyright (C) 1987, 92-97, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1987, 92-98, 1999 Free Software Foundation, Inc.
 
    This file is part of GAS, the GNU Assembler.
 
@@ -102,6 +102,8 @@ typedef enum
   O_logical_and,
   /* (X_add_symbol || X_op_symbol) + X_add_number.  */
   O_logical_or,
+  /* X_op_symbol [ X_add_symbol ] */
+  O_index,
   /* this must be the largest value */
   O_max
 } operatorT;
@@ -109,19 +111,13 @@ typedef enum
 typedef struct expressionS
 {
   /* The main symbol.  */
-  struct symbol *X_add_symbol;
+  symbolS *X_add_symbol;
   /* The second symbol, if needed.  */
-  struct symbol *X_op_symbol;
+  symbolS *X_op_symbol;
   /* 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 : 5;
-#else
-  unsigned X_op : 5;
-#endif
+  /* The type of the expression.  */
+  operatorT X_op;
   /* 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
@@ -149,14 +145,13 @@ extern void expr_begin PARAMS ((void));
 extern void expr_set_precedence PARAMS ((void));
 extern segT expr PARAMS ((int rank, expressionS * resultP));
 extern unsigned int get_single_number PARAMS ((void));
-extern struct symbol *make_expr_symbol PARAMS ((expressionS * expressionP));
+extern symbolS *make_expr_symbol PARAMS ((expressionS * expressionP));
 extern int expr_symbol_where
-  PARAMS ((struct symbol *, char **, unsigned int *));
+  PARAMS ((symbolS *, char **, unsigned int *));
 
-extern struct symbol * expr_build_uconstant PARAMS ((offsetT));
-extern struct symbol * expr_build_unary PARAMS ((operatorT, struct symbol *));
-extern struct symbol * expr_build_binary
-  PARAMS ((operatorT, struct symbol *, struct symbol *));
-extern struct symbol * expr_build_dot PARAMS ((void));
+extern symbolS *expr_build_uconstant PARAMS ((offsetT));
+extern symbolS *expr_build_unary PARAMS ((operatorT, symbolS *));
+extern symbolS *expr_build_binary PARAMS ((operatorT, symbolS *, symbolS *));
+extern symbolS *expr_build_dot PARAMS ((void));
 
 /* end of expr.h */