aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog4
-rw-r--r--gas/config/bfin-lex.l2
-rw-r--r--gas/testsuite/ChangeLog6
-rw-r--r--gas/testsuite/gas/bfin/bfin.exp1
-rw-r--r--gas/testsuite/gas/bfin/misc.d9
-rw-r--r--gas/testsuite/gas/bfin/misc.s6
6 files changed, 27 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 3066c52..5ab7202 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,7 @@
+2008-08-22 Jie Zhang <jie.zhang@analog.com>
+
+ * config/bfin-lex.l (NUMBER): Protect special `.'.
+
2008-08-22 Alan Modra <amodra@bigpond.net.au>
* symbols.c (symbol_clone): Ensure clones are not external.
diff --git a/gas/config/bfin-lex.l b/gas/config/bfin-lex.l
index b2194db..d74c7f3 100644
--- a/gas/config/bfin-lex.l
+++ b/gas/config/bfin-lex.l
@@ -293,7 +293,7 @@ abort return ABORT;
<KEYWORD>[iI][fF][lL][uU][sS][hH] return IFLUSH;
<KEYWORD>[fF][lL][uU][sS][hH][iI][nN][vV] return FLUSHINV;
<KEYWORD>[fF][lL][uU][sS][hH] return FLUSH;
-([0-9]+)|(0[xX][0-9a-fA-F]+)|([bhfodBHOFD]#[0-9a-fA-F]+)|(0.[0-9]+) {
+([0-9]+)|(0[xX][0-9a-fA-F]+)|([bhfodBHOFD]#[0-9a-fA-F]+)|(0"."[0-9]+) {
yylval.value = parse_int (&yytext);
return NUMBER;
}
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 03f6445..633a4b4 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2008-08-22 Jie Zhang <jie.zhang@analog.com>
+
+ * gas/bfin/misc.s: New test.
+ * gas/bfin/misc.d: New test.
+ * gas/bfin/bfin.exp: Add misc test.
+
2008-08-21 Richard Henderson <rth@redhat.com>
* gas/cfi/cfi-common-1.d: Allow for differing offsets, and
diff --git a/gas/testsuite/gas/bfin/bfin.exp b/gas/testsuite/gas/bfin/bfin.exp
index 2b8975b..e446346 100644
--- a/gas/testsuite/gas/bfin/bfin.exp
+++ b/gas/testsuite/gas/bfin/bfin.exp
@@ -18,6 +18,7 @@ if [istarget bfin*-*-*] {
run_dump_test "load"
run_dump_test "logical"
run_dump_test "logical2"
+ run_dump_test "misc"
run_dump_test "move"
run_dump_test "move2"
run_dump_test "parallel"
diff --git a/gas/testsuite/gas/bfin/misc.d b/gas/testsuite/gas/bfin/misc.d
new file mode 100644
index 0000000..6e0ff49
--- /dev/null
+++ b/gas/testsuite/gas/bfin/misc.d
@@ -0,0 +1,9 @@
+#objdump: -d
+#name: misc
+.*: +file format .*
+
+Disassembly of section .text:
+
+00000000 <_misc>:
+ 0: 00 e1 00 00 R0.L = 0x0;.*
+
diff --git a/gas/testsuite/gas/bfin/misc.s b/gas/testsuite/gas/bfin/misc.s
new file mode 100644
index 0000000..c2f7376
--- /dev/null
+++ b/gas/testsuite/gas/bfin/misc.s
@@ -0,0 +1,6 @@
+ .text
+ .global _misc
+_misc:
+ /* Check "0 & 0xffff" is parsed correctly. */
+ r0.l = 0 & 0xffff;
+