diff options
author | Maciej W. Rozycki <macro@linux-mips.org> | 2010-07-27 21:04:59 +0000 |
---|---|---|
committer | Maciej W. Rozycki <macro@linux-mips.org> | 2010-07-27 21:04:59 +0000 |
commit | 03ea81db632f49ae89068671e0e394eea7fd8f0d (patch) | |
tree | 2781483682b817f688767a21c3e10244e63ec8aa /gas | |
parent | 8680f6e1845c30a88057c582e47ac10e1bf38fdb (diff) | |
download | gdb-03ea81db632f49ae89068671e0e394eea7fd8f0d.zip gdb-03ea81db632f49ae89068671e0e394eea7fd8f0d.tar.gz gdb-03ea81db632f49ae89068671e0e394eea7fd8f0d.tar.bz2 |
* config/tc-mips.c (mips16_macro_build): Pass "args" by
reference rather than value.
(macro_build): Update accordingly.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 8 | ||||
-rw-r--r-- | gas/config/tc-mips.c | 20 |
2 files changed, 17 insertions, 11 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index a47c8be..eeb310f 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,4 +1,10 @@ -2010-07-26 Maciej W. Rozycki <macro@codesourcery.com> +2010-07-27 Maciej W. Rozycki <macro@codesourcery.com> + + * config/tc-mips.c (mips16_macro_build): Pass "args" by + reference rather than value. + (macro_build): Update accordingly. + +2010-07-27 Maciej W. Rozycki <macro@codesourcery.com> * config/tc-mips.c (mips_ip): Use symbol_temp_new_now to create a fake label. diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 4c3beba..145f8b6 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -1063,7 +1063,7 @@ static void append_insn static void mips_no_prev_insn (void); static void macro_build (expressionS *, const char *, const char *, ...); static void mips16_macro_build - (expressionS *, const char *, const char *, va_list); + (expressionS *, const char *, const char *, va_list *); static void load_register (int, expressionS *, int); static void macro_start (void); static void macro_end (void); @@ -3616,7 +3616,7 @@ macro_build (expressionS *ep, const char *name, const char *fmt, ...) if (mips_opts.mips16) { - mips16_macro_build (ep, name, fmt, args); + mips16_macro_build (ep, name, fmt, &args); va_end (args); return; } @@ -3842,7 +3842,7 @@ macro_build (expressionS *ep, const char *name, const char *fmt, ...) static void mips16_macro_build (expressionS *ep, const char *name, const char *fmt, - va_list args) + va_list *args) { struct mips_opcode *mo; struct mips_cl_insn insn; @@ -3878,20 +3878,20 @@ mips16_macro_build (expressionS *ep, const char *name, const char *fmt, case 'y': case 'w': - MIPS16_INSERT_OPERAND (RY, insn, va_arg (args, int)); + MIPS16_INSERT_OPERAND (RY, insn, va_arg (*args, int)); continue; case 'x': case 'v': - MIPS16_INSERT_OPERAND (RX, insn, va_arg (args, int)); + MIPS16_INSERT_OPERAND (RX, insn, va_arg (*args, int)); continue; case 'z': - MIPS16_INSERT_OPERAND (RZ, insn, va_arg (args, int)); + MIPS16_INSERT_OPERAND (RZ, insn, va_arg (*args, int)); continue; case 'Z': - MIPS16_INSERT_OPERAND (MOVE32Z, insn, va_arg (args, int)); + MIPS16_INSERT_OPERAND (MOVE32Z, insn, va_arg (*args, int)); continue; case '0': @@ -3901,14 +3901,14 @@ mips16_macro_build (expressionS *ep, const char *name, const char *fmt, continue; case 'X': - MIPS16_INSERT_OPERAND (REGR32, insn, va_arg (args, int)); + MIPS16_INSERT_OPERAND (REGR32, insn, va_arg (*args, int)); continue; case 'Y': { int regno; - regno = va_arg (args, int); + regno = va_arg (*args, int); regno = ((regno & 7) << 2) | ((regno & 0x18) >> 3); MIPS16_INSERT_OPERAND (REG32R, insn, regno); } @@ -3947,7 +3947,7 @@ mips16_macro_build (expressionS *ep, const char *name, const char *fmt, continue; case '6': - MIPS16_INSERT_OPERAND (IMM6, insn, va_arg (args, int)); + MIPS16_INSERT_OPERAND (IMM6, insn, va_arg (*args, int)); continue; } |