* config/tc-d10v.c (do_assemble): Do not generate error messages, just return -1 whenever a problem is encoun$
(md_assemble): If do_assemble returns -1 generate a non-fatal error message and return.
* gas/lns/lns.exp: Do not run the lns-common test for the d10v port.
* gas/d10v/address-002.l: Update expected assembler output.
* gas/d10v/address-003.l, gas/d10v/address-004.l,
gas/d10v/address-005.l, gas/d10v/address-006.l,
gas/d10v/address-007.l, gas/d10v/address-008.l,
gas/d10v/address-009.l, gas/d10v/address-010.l,
gas/d10v/address-011.l, gas/d10v/address-012.l,
gas/d10v/address-013.l, gas/d10v/address-014.l,
gas/d10v/address-015.l, gas/d10v/address-016.l,
gas/d10v/address-017.l, gas/d10v/address-018.l,
gas/d10v/address-019.l, gas/d10v/address-020.l,
gas/d10v/address-021.l, gas/d10v/address-022.l,
gas/d10v/address-023.l, gas/d10v/address-024.l,
gas/d10v/address-025.l, gas/d10v/address-026.l,
gas/d10v/address-027.l, gas/d10v/address-030.l,
gas/d10v/address-031.l, gas/d10v/address-032.l,
gas/d10v/address-033.l, gas/d10v/address-034.l,
gas/d10v/address-035.l, gas/d10v/address-036.l,
gas/d10v/address-037.l, gas/d10v/address-038.l,
gas/d10v/address-039.l, gas/d10v/address-040.l,
gas/d10v/address-041.l: Likewise.
2007-02-28 Nick Clifton <nickc@redhat.com>
+ PR gas/3797
+ * config/tc-d10v.c (do_assemble): Do not generate error messages,
+ just return -1 whenever a problem is encountered.
+ (md_assemble): If do_assemble returns -1 generate a non-fatal
+ error message and return.
+
PR gas/2623
* config/tc-msp430.c (line_separator_char): Change to '{'.
/* tc-d10v.c -- Assembler code for the Mitsubishi D10V
- Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006
+ Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
char name[20];
int nlen = 0;
expressionS myops[6];
- unsigned long insn;
/* Drop leading whitespace. */
while (*str == ' ')
/* Find the first opcode with the proper name. */
*opcode = (struct d10v_opcode *) hash_find (d10v_hash, name);
if (*opcode == NULL)
- as_fatal (_("unknown opcode: %s"), name);
+ return -1;
save = input_line_pointer;
input_line_pointer = (char *) op_end;
return -1;
input_line_pointer = save;
- insn = build_insn ((*opcode), myops, 0);
- return insn;
+ return build_insn ((*opcode), myops, 0);
}
/* If while processing a fixup, a reloc really needs to be created.
prev_seg = now_seg;
prev_subseg = now_subseg;
if (prev_insn == (unsigned long) -1)
- as_fatal (_("can't find opcode "));
+ as_fatal (_("can't find previous opcode "));
fixups = fixups->next;
str = str2 + 2;
}
if (insn == (unsigned long) -1)
{
if (extype != PACK_UNSPEC)
- {
- etype = extype;
- return;
- }
- as_fatal (_("can't find opcode "));
+ etype = extype;
+ else
+ as_bad (_("could not assemble: %s"), str);
+ return;
}
if (etype != PACK_UNSPEC)
2007-02-28 Nick Clifton <nickc@redhat.com>
+ PR gas/3797
+ * gas/lns/lns.exp: Do not run the lns-common test for the d10v
+ port.
+ * gas/d10v/address-002.l: Update expected assembler output.
+ * gas/d10v/address-003.l, gas/d10v/address-004.l,
+ gas/d10v/address-005.l, gas/d10v/address-006.l,
+ gas/d10v/address-007.l, gas/d10v/address-008.l,
+ gas/d10v/address-009.l, gas/d10v/address-010.l,
+ gas/d10v/address-011.l, gas/d10v/address-012.l,
+ gas/d10v/address-013.l, gas/d10v/address-014.l,
+ gas/d10v/address-015.l, gas/d10v/address-016.l,
+ gas/d10v/address-017.l, gas/d10v/address-018.l,
+ gas/d10v/address-019.l, gas/d10v/address-020.l,
+ gas/d10v/address-021.l, gas/d10v/address-022.l,
+ gas/d10v/address-023.l, gas/d10v/address-024.l,
+ gas/d10v/address-025.l, gas/d10v/address-026.l,
+ gas/d10v/address-027.l, gas/d10v/address-030.l,
+ gas/d10v/address-031.l, gas/d10v/address-032.l,
+ gas/d10v/address-033.l, gas/d10v/address-034.l,
+ gas/d10v/address-035.l, gas/d10v/address-036.l,
+ gas/d10v/address-037.l, gas/d10v/address-038.l,
+ gas/d10v/address-039.l, gas/d10v/address-040.l,
+ gas/d10v/address-041.l: Likewise.
+
+2007-02-28 Nick Clifton <nickc@redhat.com>
+
+ PR gas/3975
* gas/arm/mapshort.d: Split into two new files...
* gas/arm/mapshort-eabi.d: The one and...
* gas/arm/mapshort-elf.d: This one.
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ldb r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ldub r0
+
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: stb r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ldb r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ldub r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: stb r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ldb r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ldub r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ld r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ld2w r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: stb r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: st r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: st2w r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ldb r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ldub r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ld r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ld2w r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: stb r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: st r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: st2w r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ldb r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ldub r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: stb r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ldb r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ldub r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: stb r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ldb r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ldub r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ld r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ld2w r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: stb r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: st r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: st2w r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ldb r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ldub r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ld r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: ld2w r0
.*: Assembler messages:
.*:6: Error: bad opcode or operands
-.*:6: Fatal error: can't find opcode
+.*:6: Error: could not assemble: stb r0
# ??? Won't work on targets that don't have a bare "nop" insn.
# Perhaps we could arrange for an include file or something that
# defined a macro...
-if { ![istarget ia64*-*-*]
+# Nor does it work on targets that do not generate line number
+# information (d10v).
+if {
+ ![istarget d10v-*-*]
+ && ![istarget ia64*-*-*]
&& ![istarget i370-*-*]
&& ![istarget i960-*-*]
&& ![istarget mcore-*-*]
&& ![istarget or32-*-*]
- && ![istarget s390*-*-*] } {
- # Use alternate file for targets using DW_LNS_fixed_advance_pc opcodes.
- if { [istarget xtensa-*-*] } {
- run_dump_test "lns-common-1-alt"
- } else {
- run_dump_test "lns-common-1"
- }
+ && ![istarget s390*-*-*]
+} {
+ # Use alternate file for targets using DW_LNS_fixed_advance_pc opcodes.
+ if { [istarget xtensa-*-*] } {
+ run_dump_test "lns-common-1-alt"
+ } else {
+ run_dump_test "lns-common-1"
+ }
}