diff options
author | Timothy Wall <twall@alum.mit.edu> | 2000-03-26 14:47:33 +0000 |
---|---|---|
committer | Timothy Wall <twall@alum.mit.edu> | 2000-03-26 14:47:33 +0000 |
commit | 9f10757c407c9946029436682ae554f9739fa62d (patch) | |
tree | 3c3ca83d45d665e4dba0ca6539967296b22b7ced /gas/gasp.c | |
parent | d0b472203592cbd847b4089b73b64e6782f07922 (diff) | |
download | fsf-binutils-gdb-9f10757c407c9946029436682ae554f9739fa62d.zip fsf-binutils-gdb-9f10757c407c9946029436682ae554f9739fa62d.tar.gz fsf-binutils-gdb-9f10757c407c9946029436682ae554f9739fa62d.tar.bz2 |
Add macro handling extensions and line substitution support.
Diffstat (limited to 'gas/gasp.c')
-rw-r--r-- | gas/gasp.c | 33 |
1 files changed, 1 insertions, 32 deletions
@@ -193,37 +193,6 @@ typedef struct } hash_table; -/* Structures used to store macros. - - Each macro knows its name and included text. It gets built with a - list of formal arguments, and also keeps a hash table which points - into the list to speed up formal search. Each formal knows its - name and its default value. Each time the macro is expanded, the - formals get the actual values attatched to them. */ - -/* describe the formal arguments to a macro */ - -typedef struct formal_struct - { - struct formal_struct *next; /* next formal in list */ - sb name; /* name of the formal */ - 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 */ - } -formal_entry; - -/* describe the macro. */ - -typedef struct macro_struct - { - sb sub; /* substitution text. */ - int formal_count; /* number of formal args. */ - formal_entry *formals; /* pointer to list of formal_structs */ - hash_table formal_hash; /* hash table of formals. */ - } -macro_entry; - /* how we nest files and expand macros etc. we keep a stack of of include_stack structs. each include file @@ -2687,7 +2656,7 @@ macro_op (idx, in) return 0; sb_terminate (in); - if (! check_macro (in->ptr + idx, &out, comment_char, &err)) + if (! check_macro (in->ptr + idx, &out, comment_char, &err, NULL)) return 0; if (err != NULL) |