diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 4 | ||||
-rw-r--r-- | gas/config/tc-arm.c | 8 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 3 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/macro-vld1.d | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/macro-vld1.s | 1 |
5 files changed, 12 insertions, 5 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 458421d..905d953 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,9 @@ 2013-06-24 Roland McGrath <mcgrathr@google.com> + * config/tc-arm.c (parse_reg_list): Use skip_past_char for '}', + so it skips whitespace before it. + (s_arm_unwind_save_mmxwr, s_arm_unwind_save_mmxwcg): Likewise. + * config/tc-arm.c (arm_symbol_chars): Include '{' and '}'. (arm_reg_parse_multi): Skip whitespace first. (parse_reg_list): Likewise. diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index d2085a3..b3d8d62 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -1641,7 +1641,7 @@ parse_reg_list (char ** strp) || (in_range = 1, *str++ == '-')); str--; - if (*str++ != '}') + if (skip_past_char (&str, '}') == FAIL) { first_error (_("missing `}'")); return FAIL; @@ -3935,8 +3935,7 @@ s_arm_unwind_save_mmxwr (void) } while (skip_past_comma (&input_line_pointer) != FAIL); - if (*input_line_pointer == '}') - input_line_pointer++; + skip_past_char (&input_line_pointer, '}'); demand_empty_rest_of_line (); @@ -4070,8 +4069,7 @@ s_arm_unwind_save_mmxwcg (void) } while (skip_past_comma (&input_line_pointer) != FAIL); - if (*input_line_pointer == '}') - input_line_pointer++; + skip_past_char (&input_line_pointer, '}'); demand_empty_rest_of_line (); diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 5fb0d66..45a790c 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,5 +1,8 @@ 2013-06-24 Roland McGrath <mcgrathr@google.com> + * gas/arm/macro-vld1.s: Add a case with whitespace before '}'. + * gas/arm/macro-vld1.d: Update. + * gas/arm/macro-pld.s: Add a 'push {r0}' case. * gas/arm/macro-pld.d: Update expected output. * gas/arm/macro-vld1.s: New file. diff --git a/gas/testsuite/gas/arm/macro-vld1.d b/gas/testsuite/gas/arm/macro-vld1.d index 4a5e2f5..b4f6721 100644 --- a/gas/testsuite/gas/arm/macro-vld1.d +++ b/gas/testsuite/gas/arm/macro-vld1.d @@ -6,3 +6,4 @@ Disassembly of section \.text: 0+ <.*>: \s*0:\s+f420070f\s+vld1.8\s+{d0},\s*\[r0\] +\s*4:\s+f420070f\s+vld1.8\s+{d0},\s*\[r0\] diff --git a/gas/testsuite/gas/arm/macro-vld1.s b/gas/testsuite/gas/arm/macro-vld1.s index 530c5c3..614724b 100644 --- a/gas/testsuite/gas/arm/macro-vld1.s +++ b/gas/testsuite/gas/arm/macro-vld1.s @@ -7,3 +7,4 @@ .purgem _sfi_breg_doit .endm sfi_breg r0, vld1.8 {d0}, [\B] + sfi_breg r0, vld1.8 { d0 }, [\B] |