diff options
author | Ian Lance Taylor <ian@airs.com> | 1995-09-29 19:36:07 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1995-09-29 19:36:07 +0000 |
commit | 987013cd03a2ff5691820519d81073d67d05cdaa (patch) | |
tree | f0e2ed9627f0d168974b64dfe84ffd2ad0ca9096 /gas | |
parent | dd16b6557e99f80b51897205dbf87759042686c1 (diff) | |
download | gdb-987013cd03a2ff5691820519d81073d67d05cdaa.zip gdb-987013cd03a2ff5691820519d81073d67d05cdaa.tar.gz gdb-987013cd03a2ff5691820519d81073d67d05cdaa.tar.bz2 |
Add some support for i960 MRI compatibility mode.
* config/tc-i960.c (md_pseudo_table): Add endian.
(get_args): Don't discard a space between alphanumeric characters.
(get_cdisp): Change text_section to now_seg.
(s_endian): New static function.
* config/tc-i960.h (MRI_MODE_NEEDS_PSEUDO_DOT): Define.
* expr.h (operatorT): Add O_logical_not, O_logical_and, and
O_logical_or.
* expr.c (operand): Treat '!' as logical not operator. If
TC_I960, in MRI mode permit `sizeof secname' and `startof
secname'.
(op_rank): Bump values by 2 to make room for && and ||. Add
entries for !, &&, and ||.
(expr_begin): Only do MRI changes if TC_M68K.
(operator): Recognize || and &&.
(expr): Handle new operatorT values.
* symbols.c (resolve_symbol_value): Handle new operatorT values.
(print_expr_1): Likewise.
* read.c (potable): Add debug, err, irep, irepc, print, purgem,
and rep.
(read_a_source_file): Handle MRI_MODE_NEEDS_PSEUDO_DOT.
(mri_comment_field): Only handle weird comments if TC_M68K.
(s_err): New function.
(s_org): Only punt in MRI mode if TC_M68K.
(s_mri_sect): Write TC_I960 version.
(s_print, s_purgem): New functions.
* read.h (s_err, s_print, s_purgem): Declare.
* cond.c (s_ifeqs): Implement.
(ignore_input): Handle MRI_MODE_NEEDS_PSEUDO_DOT.
* macro.c (macro_strip_at): New static variable.
(macro_init): Add strip_at parameter.
(do_formals): If macro_strip_at, change NARG to $NARG.
(define_macro): Skip a comma after the macro name.
(get_apost_token): Skip character if macro_strip_at, even if
macro_mri.
(macro_expand_body): If macro_strip_at, don't recognize parameters
in strings unless they are preceded by an '@'. If macro_strip_at,
pass '@' as strip character to sub_actual. If macro_strip_at,
strip '@' characters.
(macro_expand): If macro_strip_at, change NARG to $NARG.
(delete_macro): New function.
(expand_irp): Skip leading and trailing '"' characters if irpc.
* macro.h (macro_init): Mention new strip_at parameter.
(delete_macro): Declare.
* as.c (main): If TC_I960, pass flag_mri to macro_init as
strip_at; otherwise, pass 0.
* gasp.c (process_pseudo_op): Pass 0 to macro_init as strip_at.
(main): Likewise.
* doc/as.texinfo: Document i960 MRI mode.
* as.c (show_usage): Mention --defsym.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/gasp.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -3225,7 +3225,7 @@ process_pseudo_op (idx, line, acc) { case K_ALTERNATE: alternate = 1; - macro_init (1, mri, exp_get_abs); + macro_init (1, mri, 0, exp_get_abs); return 1; case K_AELSE: do_aelse (); @@ -3606,7 +3606,7 @@ main (argc, argv) process_init (); - macro_init (alternate, mri, exp_get_abs); + macro_init (alternate, mri, 0, exp_get_abs); if (out_name) { outfile = fopen (out_name, "w"); |