ChangeLog:
[deliverable/binutils-gdb.git] / gas / macro.h
index 958a84bd5d482d02e3045bf294937ee668c3cf15..4726985c99ee4ce948d7122be2c15f20e8d43a5c 100644 (file)
@@ -1,6 +1,6 @@
 /* macro.h - header file for macro support for gas
-   Copyright 1994, 1995, 1996, 1997, 1998, 2000, 2002, 2003, 2004
-   Free Software Foundation, Inc.
+   Copyright 1994, 1995, 1996, 1997, 1998, 2000, 2002, 2003, 2004, 2006,
+   2007 Free Software Foundation, Inc.
 
    Written by Steve and Judy Chamberlain of Cygnus Support,
       sac@cygnus.com
@@ -9,7 +9,7 @@
 
    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)
+   the Free Software Foundation; either version 3, or (at your option)
    any later version.
 
    GAS is distributed in the hope that it will be useful,
 
    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, 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA.  */
+   Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
+   02110-1301, USA.  */
 
 #ifndef MACRO_H
 
 #define MACRO_H
 
-#include "ansidecl.h"
-#include "sb.h"
-
 /* Structures used to store macros.
 
    Each macro knows its name and included text.  It gets built with a
@@ -45,6 +42,12 @@ typedef struct formal_struct {
   sb def;                      /* The default value.  */
   sb actual;                   /* The actual argument (changed on each expansion).  */
   int index;                   /* The index of the formal 0..formal_count - 1.  */
+  enum formal_type
+    {
+      FORMAL_OPTIONAL,
+      FORMAL_REQUIRED,
+      FORMAL_VARARG
+    } type;                    /* The kind of the formal.  */
 } formal_entry;
 
 /* Other values found in the index field of a formal_entry.  */
@@ -73,6 +76,10 @@ extern int macro_defined;
 
 extern int macro_nest;
 
+/* The macro hash table.  */
+
+extern struct hash_control *macro_hash;
+
 extern int buffer_and_nest (const char *, const char *, sb *, int (*) (sb *));
 extern void macro_init
   (int, int, int, int (*) (const char *, int, sb *, int *));
This page took 0.025608 seconds and 4 git commands to generate.