Changes to let cons handle bignums like general expressions.
[binutils-gdb.git] / gas / subsegs.h
index b8dbaf76e5840c85d98e68a4528299790e831e2c..7f97eeb3622389f37a6f4e775f5e505ff68e0c4b 100644 (file)
@@ -1,21 +1,21 @@
 /* subsegs.h -> subsegs.c
    Copyright (C) 1987 Free Software Foundation, Inc.
-
-This file is part of GAS, the GNU Assembler.
-
-GAS is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 1, or (at your option)
-any later version.
-
-GAS is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GAS; see the file COPYING.  If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+   
+   This file is part of GAS, the GNU Assembler.
+   
+   GAS is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+   
+   GAS is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+   
+   You should have received a copy of the GNU General Public License
+   along with GAS; see the file COPYING.  If not, write to
+   the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 /*
  * For every sub-segment the user mentions in the ASsembler program,
@@ -38,28 +38,50 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 struct frchain                 /* control building of a frag chain */
 {                              /* FRCH = FRagment CHain control */
-  struct frag *        frch_root;      /* 1st struct frag in chain, or NULL */
-  struct frag *        frch_last;      /* last struct frag in chain, or NULL */
-  struct frchain * frch_next;  /* next in chain of struct frchain-s */
-  segT         frch_seg;       /* SEG_TEXT or SEG_DATA. */
-  subsegT      frch_subseg;    /* subsegment number of this chain */
+       struct frag *   frch_root;      /* 1st struct frag in chain, or NULL */
+       struct frag *   frch_last;      /* last struct frag in chain, or NULL */
+       struct frchain * frch_next;     /* next in chain of struct frchain-s */
+       segT            frch_seg;       /* SEG_TEXT or SEG_DATA. */
+       subsegT frch_subseg;    /* subsegment number of this chain */
 };
 
 typedef struct frchain frchainS;
 
 extern frchainS * frchain_root;        /* NULL means no frchains yet. */
-                               /* all subsegments' chains hang off here */
+/* all subsegments' chains hang off here */
 
 extern frchainS * frchain_now;
-                               /* Frchain we are assembling into now */
-                               /* That is, the current segment's frag */
-                               /* chain, even if it contains no (complete) */
-                               /* frags. */
+/* Frchain we are assembling into now */
+/* That is, the current segment's frag */
+/* chain, even if it contains no (complete) */
+/* frags. */
+
 
+#ifdef MANY_SEGMENTS
+typedef struct 
+{
+       frchainS *frchainP;
+       int hadone;
+       int user_stuff;
+       /*  struct frag *frag_root;*/
+       /*  struct frag *last_frag;*/
+       fixS *fix_root;
+       fixS *fix_tail;
+       struct internal_scnhdr scnhdr;
+       symbolS *dot;
+       
+       struct lineno_list *lineno_list_head;   
+       struct lineno_list *lineno_list_tail;   
+       
+} segment_info_type;
+segment_info_type segment_info[];
+#else
 extern frchainS * data0_frchainP;
-                               /* Sentinel for frchain crawling. */
-                               /* Points to the 1st data-segment frchain. */
-                               /* (Which is pointed to by the last text- */
-                               /* segment frchain.) */
+/* Sentinel for frchain crawling. */
+/* Points to the 1st data-segment frchain. */
+/* (Which is pointed to by the last text- */
+/* segment frchain.) */
+
+#endif
 
-/* end: subsegs.h */
+/* end of subsegs.h */