diff options
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-bfin.c | 4 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/bfin/bfin.exp | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/bfin/line_number.l | 3 | ||||
-rw-r--r-- | gas/testsuite/gas/bfin/line_number.s | 4 |
6 files changed, 22 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 8ea4928..254a5fb 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,10 @@ 2009-09-03 Jie Zhang <jie.zhang@analog.com> + * config/tc-bfin.c (md_assemble): Bump line counters if there is + EOL in the instruction. + +2009-09-03 Jie Zhang <jie.zhang@analog.com> + * config/bfin-defs.h (IS_GENREG): Define. (IS_DAGREG): Define. (IS_SYSREG): Define. diff --git a/gas/config/tc-bfin.c b/gas/config/tc-bfin.c index 958f63d..4a02b69 100644 --- a/gas/config/tc-bfin.c +++ b/gas/config/tc-bfin.c @@ -712,6 +712,10 @@ md_assemble (char *line) #ifdef OBJ_ELF dwarf2_emit_insn (insn_size); #endif + + while (*line++ != '\0') + if (*line == '\n') + bump_line_counters (); } /* Parse one line of instructions, and generate opcode for it. diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 0c8b3e4..90b5515 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2009-09-03 Jie Zhang <jie.zhang@analog.com> + * gas/bfin/line_number.l, gas/bfin/line_number.s: New test. + * gas/bfin/bfin.exp: Add the new test. + +2009-09-03 Jie Zhang <jie.zhang@analog.com> + * gas/bfin/expected_move_errors.s, gas/bfin/expected_move_errors.l: Add "LC1 = I0;". * gas/bfin/move.s, gas/bfin/move.d: Remove "CYCLES = A0.W". diff --git a/gas/testsuite/gas/bfin/bfin.exp b/gas/testsuite/gas/bfin/bfin.exp index 59eed65..7a70a4c 100644 --- a/gas/testsuite/gas/bfin/bfin.exp +++ b/gas/testsuite/gas/bfin/bfin.exp @@ -17,6 +17,7 @@ if [istarget bfin*-*-*] { run_dump_test "flow" run_dump_test "flow2" run_list_test "invalid_arith_mode" "" + run_list_test "line_number" "" run_dump_test "load" run_dump_test "logical" run_dump_test "logical2" diff --git a/gas/testsuite/gas/bfin/line_number.l b/gas/testsuite/gas/bfin/line_number.l new file mode 100644 index 0000000..964d809 --- /dev/null +++ b/gas/testsuite/gas/bfin/line_number.l @@ -0,0 +1,3 @@ +.*: Assembler messages: +.*:4: Error: syntax error. Input text was illegal. +.*:4: Error: diff --git a/gas/testsuite/gas/bfin/line_number.s b/gas/testsuite/gas/bfin/line_number.s new file mode 100644 index 0000000..a5e47d3 --- /dev/null +++ b/gas/testsuite/gas/bfin/line_number.s @@ -0,0 +1,4 @@ + R1 = ROT R0 BY 0 || + R3 = [SP+12] || + nop; + ILLEGAL; |