PR gas/14887
[deliverable/binutils-gdb.git] / gas / config / tc-arm.c
index 33eacdb5bd5e2b0f6422276b19c91e61305bdced..8cf5a8027090a4a3789f8f3273daef5839f3f260 100644 (file)
@@ -1,6 +1,6 @@
 /* tc-arm.c -- Assemble for the ARM
    Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-   2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+   2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
    Free Software Foundation, Inc.
    Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
        Modified by David Taylor (dtaylor@armltd.co.uk)
@@ -885,6 +885,9 @@ const char FLT_CHARS[] = "rRsSfFdDxXeEpP";
 static inline int
 skip_past_char (char ** str, char c)
 {
+  /* PR gas/14987: Allow for whitespace before the expected character.  */
+  skip_whitespace (*str);
+  
   if (**str == c)
     {
       (*str)++;
@@ -5168,6 +5171,9 @@ parse_address_main (char **str, int i, int group_relocations,
       return PARSE_OPERAND_SUCCESS;
     }
 
+  /* PR gas/14887: Allow for whitespace after the opening bracket.  */
+  skip_whitespace (p);
+
   if ((reg = arm_reg_parse (&p, REG_TYPE_RN)) == FAIL)
     {
       inst.error = _(reg_expected_msgs[REG_TYPE_RN]);
@@ -5291,9 +5297,6 @@ parse_address_main (char **str, int i, int group_relocations,
        return result;
     }
 
-  /* PR gas/14987: Allow for whitespace before the closing bracket.  */
-  skip_whitespace (p);
-
   if (skip_past_char (&p, ']') == FAIL)
     {
       inst.error = _("']' expected");
This page took 0.031752 seconds and 4 git commands to generate.