backout m32rx stuff, not ready to be checked in
[deliverable/binutils-gdb.git] / gas / as.h
index f24b0729adcf97ca260b1d460abc929ce0c09464..46b58a82800f8ecd85974fb5fef9c9f54c7d423f 100644 (file)
--- a/gas/as.h
+++ b/gas/as.h
 
 /* AIX requires this to be the first thing in the file.  */
 #ifdef __GNUC__
-# undef alloca
-# define alloca __builtin_alloca
+# ifndef alloca
+#  ifdef __STDC__
+extern void *alloca ();
+#  else
+extern char *alloca ();
+#  endif
+# endif
 #else
 # if HAVE_ALLOCA_H
 #  include <alloca.h>
@@ -63,9 +68,9 @@
 #  else
 #   ifndef alloca /* predefined by HP cc +Olibcalls */
 #    if !defined (__STDC__) && !defined (__hpux)
-char *alloca ();
+extern char *alloca ();
 #    else
-void *alloca ();
+extern void *alloca ();
 #    endif /* __STDC__, __hpux */
 #   endif /* alloca */
 #  endif /* _AIX */
@@ -372,7 +377,11 @@ enum _relax_state
        later.  Similar to rs_org, but different.
        fr_symbol: operand
        1 variable char: fill character  */
-    rs_space
+    rs_space,
+
+    /* A DWARF leb128 value; only ELF uses this.  The subtype is 0 for
+       unsigned, 1 for signed.  */
+    rs_leb128
   };
 
 typedef enum _relax_state relax_stateT;
@@ -403,6 +412,7 @@ typedef addressT relax_addressT;
  BUG: it may be smarter to have a single pointer off to various different
  notes for different frag kinds. See how code pans
  */
+
 struct frag
 {
   /* Object file address. */
@@ -429,14 +439,24 @@ struct frag
   relax_stateT fr_type;
   relax_substateT fr_subtype;
 
-  /* These are needed only on the NS32K machines.  But since we don't
-     include targ-cpu.h until after this structure has been defined,
-     we can't really conditionalize it.  This code should be
-     rearranged a bit to make that possible.
-
-     In the meantime, if we get stuck like this with any other target,
-     create a union here.  */
-  char fr_pcrel_adjust, fr_bsr;
+  union {
+    /* These are needed only on the NS32K machines.  But since we don't
+       include targ-cpu.h until after this structure has been defined,
+       we can't really conditionalize it.  This code should be
+       rearranged a bit to make that possible.  */
+    struct {
+      struct frag *fr_opcode_fragP;
+      unsigned int fr_opcode_offset;
+      char fr_bsr;
+    } fr_ns32k;
+#ifdef USING_CGEN
+    /* Don't include this unless using CGEN to keep frag size down.  */
+    struct {
+      const struct cgen_insn *insn;
+      unsigned char opindex, opinfo;
+    } cgen;
+#endif
+  } fr_targ;
 
   /* Where the frag was created, or where it became a variant frag.  */
   char *fr_file;
@@ -452,11 +472,11 @@ struct frag
 
 typedef struct frag fragS;
 
-/* Current frag we are building.  This frag is incomplete.  It is, however,
-   included in frchain_now.  The fr_fix field is bogus; instead, use:
-   obstack_next_free(&frags)-frag_now->fr_literal.  */
+/* Current frag we are building.  This frag is incomplete.  It is,
+   however, included in frchain_now.  The fr_fix field is bogus;
+   instead, use frag_now_fix ().  */
 COMMON fragS *frag_now;
-extern int frag_now_fix ();
+extern int frag_now_fix PARAMS ((void));
 
 /* For foreign-segment symbol fixups. */
 COMMON fragS zero_address_frag;
@@ -512,6 +532,13 @@ COMMON int linkrelax;
 /* TRUE if we should produce a listing.  */
 extern int listing;
 
+/* Type of debugging information we should generate.  We currently
+   only support stabs and ECOFF.  */
+
+enum debug_info_type { DEBUG_NONE, DEBUG_STABS, DEBUG_ECOFF };
+
+extern enum debug_info_type debug_type;
+
 /* Maximum level of macro nesting.  */
 extern int max_macro_nest;
 
@@ -589,6 +616,8 @@ int gen_to_words PARAMS ((LITTLENUM_TYPE * words, int precision,
                          long exponent_bits));
 int had_err PARAMS ((void));
 int ignore_input PARAMS ((void));
+void cond_finish_check PARAMS ((int));
+void cond_exit_macro PARAMS ((int));
 int seen_at_least_1_file PARAMS ((void));
 void app_pop PARAMS ((char *arg));
 void as_howmuch PARAMS ((FILE * stream));
@@ -599,7 +628,7 @@ void do_scrub_begin PARAMS ((int));
 void input_scrub_begin PARAMS ((void));
 void input_scrub_close PARAMS ((void));
 void input_scrub_end PARAMS ((void));
-void new_logical_line PARAMS ((char *fname, int line_number));
+int new_logical_line PARAMS ((char *fname, int line_number));
 void subsegs_begin PARAMS ((void));
 void subseg_change PARAMS ((segT seg, int subseg));
 segT subseg_new PARAMS ((const char *name, subsegT subseg));
@@ -609,6 +638,10 @@ void subseg_set PARAMS ((segT seg, subsegT subseg));
 segT subseg_get PARAMS ((const char *, int));
 #endif
 
+void start_dependencies PARAMS ((char *));
+void register_dependency PARAMS ((char *));
+void print_dependencies PARAMS ((void));
+
 struct expressionS;
 struct fix;
 struct symbol;
This page took 0.024108 seconds and 4 git commands to generate.