diff options
author | Nick Clifton <nickc@redhat.com> | 2016-11-11 15:13:07 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2016-11-11 15:13:07 +0000 |
commit | 86b80085c889cd388fa677a5ae9053fd4be3776c (patch) | |
tree | d00fdbb685829875060e7cc63db5da91ade39ef6 /gas | |
parent | 2f7d995359c7f280431f015726485ca421b0a65a (diff) | |
download | fsf-binutils-gdb-86b80085c889cd388fa677a5ae9053fd4be3776c.zip fsf-binutils-gdb-86b80085c889cd388fa677a5ae9053fd4be3776c.tar.gz fsf-binutils-gdb-86b80085c889cd388fa677a5ae9053fd4be3776c.tar.bz2 |
Accept L and LL suffixes to integer constants.
PR gas/20732
* expr.c (integer_constant): If tc_allow_L_suffix is defined and
non-zero then accept a L or LL suffix.
* testsuite/gas/sparc/pr20732.d: New test source file.
* testsuite/gas/sparc/pr20732.d: New test output file.
* testsuite/gas/sparc/sparc.exp: Run new test.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 9 | ||||
-rw-r--r-- | gas/expr.c | 8 | ||||
-rw-r--r-- | gas/testsuite/gas/sparc/pr20732.d | 14 | ||||
-rw-r--r-- | gas/testsuite/gas/sparc/pr20732.s | 3 | ||||
-rw-r--r-- | gas/testsuite/gas/sparc/sparc.exp | 1 |
5 files changed, 35 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 9711d3a..cefa501 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,12 @@ +2016-11-11 Nick Clifton <nickc@redhat.com> + + PR gas/20732 + * expr.c (integer_constant): If tc_allow_L_suffix is defined and + non-zero then accept a L or LL suffix. + * testsuite/gas/sparc/pr20732.d: New test source file. + * testsuite/gas/sparc/pr20732.d: New test output file. + * testsuite/gas/sparc/sparc.exp: Run new test. + 2016-11-11 Szabolcs Nagy <szabolcs.nagy@arm.com> * testsuite/gas/aarch64/pac.s: Add ARMv8.3 branch instruction tests. @@ -515,6 +515,14 @@ integer_constant (int radix, expressionS *expressionP) if (tc_allow_U_suffix && (c == 'U' || c == 'u')) c = * input_line_pointer++; +#ifndef tc_allow_L_suffix +#define tc_allow_L_suffix 1 +#endif + /* PR 20732: Look for, and ignore, a L or LL suffix to the number. */ + if (tc_allow_L_suffix) + while (c == 'L' || c == 'l') + c = * input_line_pointer++; + if (small) { /* Here with number, in correct radix. c is the next char. diff --git a/gas/testsuite/gas/sparc/pr20732.d b/gas/testsuite/gas/sparc/pr20732.d new file mode 100644 index 0000000..1d3ddbe --- /dev/null +++ b/gas/testsuite/gas/sparc/pr20732.d @@ -0,0 +1,14 @@ +#as: +#objdump: -dr --prefix-addresses +#name: PR20732 - make sure that the L and LL suffix is accepted on constant values + +.*: +file format .* + +Disassembly of section .text: +[0x]+000.*sethi[ ]+%hi\(0x3b9ac800\), %l5 +[0x]+004.*or[ ]+%l5, 0x200, %l5.* +[0x]+008.*sethi[ ]+%hi\(0x3b9ac800\), %l5 +[0x]+00c.*or[ ]+%l5, 0x200, %l5.* +[0x]+010.*sethi[ ]+%hi\(0x3b9ac800\), %l5 +[0x]+014.*or[ ]+%l5, 0x200, %l5.* +#pass diff --git a/gas/testsuite/gas/sparc/pr20732.s b/gas/testsuite/gas/sparc/pr20732.s new file mode 100644 index 0000000..265c880 --- /dev/null +++ b/gas/testsuite/gas/sparc/pr20732.s @@ -0,0 +1,3 @@ +set 1000000000, %l5 +set 1000000000L, %l5 +set 1000000000LL, %l5 diff --git a/gas/testsuite/gas/sparc/sparc.exp b/gas/testsuite/gas/sparc/sparc.exp index cba2d09..580656f 100644 --- a/gas/testsuite/gas/sparc/sparc.exp +++ b/gas/testsuite/gas/sparc/sparc.exp @@ -101,6 +101,7 @@ if [istarget sparc*-*-*] { run_list_test "pr19910-2" run_dump_test "dcti-couples-v8" run_dump_test "dcti-couples-v9c" + run_dump_test "pr20732" } if [istarget sparc-*-vxworks*] { |