macro.h revision 33965
11556Srgrimes/* macro.h - header file for macro support for gas and gasp 21556Srgrimes Copyright (C) 1994, 1995 Free Software Foundation, Inc. 31556Srgrimes 41556Srgrimes Written by Steve and Judy Chamberlain of Cygnus Support, 51556Srgrimes sac@cygnus.com 61556Srgrimes 71556Srgrimes This file is part of GAS, the GNU Assembler. 81556Srgrimes 91556Srgrimes GAS is free software; you can redistribute it and/or modify 101556Srgrimes it under the terms of the GNU General Public License as published by 111556Srgrimes the Free Software Foundation; either version 2, or (at your option) 121556Srgrimes any later version. 131556Srgrimes 141556Srgrimes GAS is distributed in the hope that it will be useful, 151556Srgrimes but WITHOUT ANY WARRANTY; without even the implied warranty of 161556Srgrimes MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 171556Srgrimes GNU General Public License for more details. 181556Srgrimes 191556Srgrimes You should have received a copy of the GNU General Public License 201556Srgrimes along with GAS; see the file COPYING. If not, write to the Free 211556Srgrimes Software Foundation, 59 Temple Place - Suite 330, Boston, MA 221556Srgrimes 02111-1307, USA. */ 231556Srgrimes 241556Srgrimes#ifndef MACRO_H 251556Srgrimes 261556Srgrimes#define MACRO_H 271556Srgrimes 281556Srgrimes#include "ansidecl.h" 291556Srgrimes#include "sb.h" 301556Srgrimes 311556Srgrimes/* Whether any macros have been defined. */ 321556Srgrimes 331556Srgrimesextern int macro_defined; 341556Srgrimes 353044Sdg/* The macro nesting level. */ 3620742Ssteve 371556Srgrimesextern int macro_nest; 381556Srgrimes 391556Srgrimesextern int buffer_and_nest 4020425Ssteve PARAMS ((const char *, const char *, sb *, int (*) PARAMS ((sb *)))); 411556Srgrimesextern void macro_init 421556Srgrimes PARAMS ((int alternate, int mri, int strip_at, 4317987Speter int (*) PARAMS ((const char *, int, sb *, int *)))); 4417987Speterextern const char *define_macro 4517987Speter PARAMS ((int idx, sb *in, sb *label, int (*get_line) PARAMS ((sb *)), 4617987Speter const char **namep)); 471556Srgrimesextern int check_macro PARAMS ((const char *, sb *, int, const char **)); 481556Srgrimesextern void delete_macro PARAMS ((const char *)); 491556Srgrimesextern const char *expand_irp 501556Srgrimes PARAMS ((int, int, sb *, sb *, int (*) PARAMS ((sb *)), int)); 511556Srgrimes 521556Srgrimes#endif 531556Srgrimes