diff options
Diffstat (limited to 'gas/macro.c')
-rw-r--r-- | gas/macro.c | 68 |
1 files changed, 34 insertions, 34 deletions
diff --git a/gas/macro.c b/gas/macro.c index a74b40b..b3e0fd0 100644 --- a/gas/macro.c +++ b/gas/macro.c @@ -1,6 +1,6 @@ /* macro.c - macro support for gas Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, - 2004, 2005, 2006, 2007, 2008, 2011 Free Software Foundation, Inc. + 2004, 2005, 2006, 2007, 2008, 2011, 2012 Free Software Foundation, Inc. Written by Steve and Judy Chamberlain of Cygnus Support, sac@cygnus.com @@ -65,7 +65,7 @@ static int macro_strip_at; /* Function to use to parse an expression. */ -static int (*macro_expr) (const char *, int, sb *, int *); +static size_t (*macro_expr) (const char *, size_t, sb *, offsetT *); /* Number of macro expansions that have been done. */ @@ -75,7 +75,7 @@ static int macro_number; void macro_init (int alternate, int mri, int strip_at, - int (*exp) (const char *, int, sb *, int *)) + size_t (*exp) (const char *, size_t, sb *, offsetT *)) { macro_hash = hash_new (); macro_defined = 0; @@ -110,14 +110,13 @@ macro_mri_mode (int mri) int buffer_and_nest (const char *from, const char *to, sb *ptr, - int (*get_line) (sb *)) + size_t (*get_line) (sb *)) { - int from_len; - int to_len = strlen (to); + size_t from_len; + size_t to_len = strlen (to); int depth = 1; - int line_start = ptr->len; - - int more = get_line (ptr); + size_t line_start = ptr->len; + size_t more = get_line (ptr); if (to_len == 4 && strcasecmp (to, "ENDR") == 0) { @@ -130,7 +129,7 @@ buffer_and_nest (const char *from, const char *to, sb *ptr, while (more) { /* Try to find the first pseudo op on the line. */ - int i = line_start; + size_t i = line_start; bfd_boolean had_colon = FALSE; /* With normal syntax we can suck what we want till we get @@ -227,8 +226,8 @@ buffer_and_nest (const char *from, const char *to, sb *ptr, /* Pick up a token. */ -static int -get_token (int idx, sb *in, sb *name) +static size_t +get_token (size_t idx, sb *in, sb *name) { if (idx < in->len && is_name_beginner (in->ptr[idx])) @@ -253,8 +252,8 @@ get_token (int idx, sb *in, sb *name) /* Pick up a string. */ -static int -getstring (int idx, sb *in, sb *acc) +static size_t +getstring (size_t idx, sb *in, sb *acc) { while (idx < in->len && (in->ptr[idx] == '"' @@ -339,8 +338,8 @@ getstring (int idx, sb *in, sb *acc) (string) -> return (string-including-whitespaces) xyx<whitespace> -> return xyz. */ -static int -get_any_string (int idx, sb *in, sb *out) +static size_t +get_any_string (size_t idx, sb *in, sb *out) { sb_reset (out); idx = sb_skip_white (idx, in); @@ -354,7 +353,7 @@ get_any_string (int idx, sb *in, sb *out) } else if (in->ptr[idx] == '%' && macro_alternate) { - int val; + offsetT val; char buf[20]; /* Turns the next expression into a string. */ @@ -363,7 +362,7 @@ get_any_string (int idx, sb *in, sb *out) idx + 1, in, &val); - sprintf (buf, "%d", val); + sprintf (buf, "%" BFD_VMA_FMT "d", val); sb_add_string (out, buf); } else if (in->ptr[idx] == '"' @@ -474,8 +473,8 @@ del_formal (formal_entry *formal) /* Pick up the formal parameters of a macro definition. */ -static int -do_formals (macro_entry *macro, int idx, sb *in) +static size_t +do_formals (macro_entry *macro, size_t idx, sb *in) { formal_entry **p = ¯o->formals; const char *name; @@ -484,7 +483,7 @@ do_formals (macro_entry *macro, int idx, sb *in) while (idx < in->len) { formal_entry *formal = new_formal (); - int cidx; + size_t cidx; idx = get_token (idx, in, &formal->name); if (formal->name.len == 0) @@ -626,8 +625,8 @@ free_macro (macro_entry *macro) the macro which was defined. */ const char * -define_macro (int idx, sb *in, sb *label, - int (*get_line) (sb *), +define_macro (size_t idx, sb *in, sb *label, + size_t (*get_line) (sb *), char *file, unsigned int line, const char **namep) { @@ -669,7 +668,7 @@ define_macro (int idx, sb *in, sb *label, } else { - int cidx; + size_t cidx; idx = get_token (idx, in, &name); macro->name = sb_terminate (&name); @@ -706,8 +705,8 @@ define_macro (int idx, sb *in, sb *label, /* Scan a token, and then skip KIND. */ -static int -get_apost_token (int idx, sb *in, sb *name, int kind) +static size_t +get_apost_token (size_t idx, sb *in, sb *name, int kind) { idx = get_token (idx, in, name); if (idx < in->len @@ -720,11 +719,11 @@ get_apost_token (int idx, sb *in, sb *name, int kind) /* Substitute the actual value for a formal parameter. */ -static int -sub_actual (int start, sb *in, sb *t, struct hash_control *formal_hash, +static size_t +sub_actual (size_t start, sb *in, sb *t, struct hash_control *formal_hash, int kind, sb *out, int copyifnotthere) { - int src; + size_t src; formal_entry *ptr; src = get_apost_token (start, in, t, kind); @@ -774,7 +773,8 @@ macro_expand_body (sb *in, sb *out, formal_entry *formals, struct hash_control *formal_hash, const macro_entry *macro) { sb t; - int src = 0, inquote = 0, macro_line = 0; + size_t src = 0; + int inquote = 0, macro_line = 0; formal_entry *loclist = NULL; const char *err = NULL; @@ -1002,7 +1002,7 @@ macro_expand_body (sb *in, sb *out, formal_entry *formals, body. */ static const char * -macro_expand (int idx, sb *in, macro_entry *m, sb *out) +macro_expand (size_t idx, sb *in, macro_entry *m, sb *out) { sb t; formal_entry *ptr; @@ -1049,7 +1049,7 @@ macro_expand (int idx, sb *in, macro_entry *m, sb *out) idx = sb_skip_white (idx, in); while (idx < in->len) { - int scan; + size_t scan; /* Look and see if it's a positional or keyword arg. */ scan = idx; @@ -1289,7 +1289,7 @@ delete_macro (const char *name) success, or an error message otherwise. */ const char * -expand_irp (int irpc, int idx, sb *in, sb *out, int (*get_line) (sb *)) +expand_irp (int irpc, size_t idx, sb *in, sb *out, size_t (*get_line) (sb *)) { sb sub; formal_entry f; @@ -1345,7 +1345,7 @@ expand_irp (int irpc, int idx, sb *in, sb *out, int (*get_line) (sb *)) { if (in->ptr[idx] == '"') { - int nxt; + size_t nxt; if (irpc) in_quotes = ! in_quotes; |