* subsegs.c: Renamed non-BFD_ASSEMBLER subseg_new to subseg_set.
[binutils-gdb.git] / gas / as.h
index b6992c8450871da2113b2f5998464f8fffa5d53a..72c9bca327ff93ed55728a65b8d82d406588ded4 100644 (file)
--- a/gas/as.h
+++ b/gas/as.h
@@ -84,8 +84,8 @@
 
 #define BAD_CASE(val) \
 { \
-      as_fatal("Case value %d unexpected at line %d of file \"%s\"\n", \
-              val, __LINE__, __FILE__); \
+      as_fatal("Case value %ld unexpected at line %d of file \"%s\"\n", \
+              (long) val, __LINE__, __FILE__); \
           }
 \f
 
@@ -140,35 +140,6 @@ typedef addressT valueT;
 /* subsegs.c     Sub-segments. Also, segment(=expression type)s.*/
 
 #ifndef BFD_ASSEMBLER
-/*
- * This table describes the use of segments as EXPRESSION types.
- *
- *     X_seg   X_add_symbol  X_subtract_symbol X_add_number
- * SEG_ABSENT                                          no (legal) expression
- * SEG_PASS1                                           no (defined) "
- * SEG_BIG                                     *       > 32 bits const.
- * SEG_ABSOLUTE                                        0
- * SEG_DATA            *                       0
- * SEG_TEXT            *                       0
- * SEG_BSS             *                       0
- * SEG_UNKNOWN         *                       0
- * SEG_DIFFERENCE      0               *       0
- * SEG_REGISTER                                        *
- *
- * The blank fields MUST be 0, and are nugatory.
- * The '0' fields MAY be 0. The '*' fields MAY NOT be 0.
- *
- * SEG_BIG: X_add_number is < 0 if the result is in
- *     generic_floating_point_number.  The value is -'c' where c is the
- *     character that introduced the constant.  e.g. "0f6.9" will have  -'f'
- *     as a X_add_number value.
- *     X_add_number > 0 is a count of how many littlenums it took to
- *     represent a bignum.
- * SEG_DIFFERENCE:
- * If segments of both symbols are known, they are the same segment.
- * X_add_symbol != X_sub_symbol (then we just cancel them, => SEG_ABSOLUTE).
- */
-
 
 #ifdef MANY_SEGMENTS
 #include "bfd.h"
@@ -189,13 +160,10 @@ typedef enum _segT
     SEG_ABSOLUTE = 0,
     SEG_LIST,
     SEG_UNKNOWN,
-    SEG_ABSENT,                        /* Mythical Segment (absent): NO expression seen. */
-    SEG_PASS1,                 /* Mythical Segment: Need another pass. */
     SEG_GOOF,                  /* Only happens if AS has a logic error. */
     /* Invented so we don't crash printing */
     /* error message involving weird segment. */
-    SEG_BIG,                   /* Bigger than 32 bits constant. */
-    SEG_DIFFERENCE,            /* Mythical Segment: absolute difference. */
+    SEG_EXPR,                  /* Intermediate expression values. */
     SEG_DEBUG,                 /* Debug segment */
     SEG_NTV,                   /* Transfert vector preload segment */
     SEG_PTV,                   /* Transfert vector postload segment */
@@ -207,11 +175,8 @@ typedef enum _segT
 typedef asection *segT;
 #define SEG_NORMAL(SEG)                ((SEG) != absolute_section      \
                                 && (SEG) != undefined_section  \
-                                && (SEG) != big_section        \
                                 && (SEG) != reg_section        \
-                                && (SEG) != pass1_section      \
-                                && (SEG) != diff_section       \
-                                && (SEG) != absent_section)
+                                && (SEG) != expr_section)
 #endif
 typedef int subsegT;
 
@@ -233,18 +198,14 @@ extern int section_alignment[];
 #endif
 
 #ifdef BFD_ASSEMBLER
-extern segT big_section, reg_section, pass1_section;
-extern segT diff_section, absent_section;
+extern segT reg_section, expr_section;
 /* Shouldn't these be eliminated someday?  */
 extern segT text_section, data_section, bss_section;
 #define absolute_section       (&bfd_abs_section)
 #define undefined_section      (&bfd_und_section)
 #else
-#define big_section            SEG_BIG
 #define reg_section            SEG_REGISTER
-#define pass1_section          SEG_PASS1
-#define diff_section           SEG_DIFFERENCE
-#define absent_section         SEG_ABSENT
+#define expr_section           SEG_EXPR
 #define text_section           SEG_TEXT
 #define data_section           SEG_DATA
 #define bss_section            SEG_BSS
@@ -378,7 +339,7 @@ struct _pseudo_type
     /* assembler mnemonic, lower case, no '.' */
     char *poc_name;
     /* Do the work */
-    void (*poc_handler) ();
+    void (*poc_handler) PARAMS ((int));
     /* Value to pass to handler */
     int poc_val;
   };
@@ -418,6 +379,7 @@ void sprint_value PARAMS ((char *buf, addressT value));
 int had_errors PARAMS ((void));
 int had_warnings PARAMS ((void));
 
+void print_version_id PARAMS ((void));
 char *app_push PARAMS ((void));
 char *atof_ieee PARAMS ((char *str, int what_kind, LITTLENUM_TYPE * words));
 char *input_scrub_include_file PARAMS ((char *filename, char *position));
@@ -426,17 +388,14 @@ char *input_scrub_next_buffer PARAMS ((char **bufp));
 #if 0 /* incompatible with solaris 2 native cc */
 char *strstr PARAMS ((const char *s, const char *wanted));
 #endif
-char *xmalloc PARAMS ((long size));
-char *xrealloc PARAMS ((char *ptr, long n));
-int do_scrub_next_char PARAMS ((int (*get) (), void (*unget) ()));
+char *xmalloc PARAMS ((unsigned long size));
+char *xrealloc PARAMS ((char *ptr, unsigned long n));
+int do_scrub_next_char PARAMS ((int (*get) (void), void (*unget) (int)));
 int gen_to_words PARAMS ((LITTLENUM_TYPE * words, int precision,
                          long exponent_bits));
 int had_err PARAMS ((void));
-int had_errors PARAMS ((void));
-int had_warnings PARAMS ((void));
 int ignore_input PARAMS ((void));
 int scrub_from_file PARAMS ((void));
-int scrub_from_file PARAMS ((void));
 int scrub_from_string PARAMS ((void));
 int seen_at_least_1_file PARAMS ((void));
 void app_pop PARAMS ((char *arg));
@@ -454,21 +413,15 @@ void scrub_to_file PARAMS ((int ch));
 void scrub_to_string PARAMS ((int ch));
 void subsegs_begin PARAMS ((void));
 void subseg_change PARAMS ((segT seg, int subseg));
-#ifdef BFD_ASSEMBLER
 segT subseg_new PARAMS ((const char *name, subsegT subseg));
 void subseg_set PARAMS ((segT seg, subsegT subseg));
-#else
-void subseg_new PARAMS ((segT seg, subsegT subseg));
-#endif
 
 /* this one starts the chain of target dependant headers */
 #include "targ-env.h"
 
-/* these define types needed by the interfaces */
+#include "expr.h"
 #include "struc-symbol.h"
-
 #include "write.h"
-#include "expr.h"
 #include "frags.h"
 #include "hash.h"
 #include "read.h"