Add support for a __gcc_isr pseudo isntruction to the AVR assembler.
[deliverable/binutils-gdb.git] / gas / config / tc-i386-intel.c
index 418b930c0822c0ce70e03fd70a91bbf5619defad..92ed98ee6b780d61999cc9381a41e3d3a45548b5 100644 (file)
@@ -1,5 +1,5 @@
 /* tc-i386.c -- Assemble Intel syntax code for ix86/x86-64
-   Copyright (C) 2009-2016 Free Software Foundation, Inc.
+   Copyright (C) 2009-2017 Free Software Foundation, Inc.
 
    This file is part of GAS, the GNU Assembler.
 
@@ -26,7 +26,7 @@ static struct
     int has_offset;            /* 1 if operand has offset.  */
     unsigned int in_offset;    /* >=1 if processing operand of offset.  */
     unsigned int in_bracket;   /* >=1 if processing operand in brackets.  */
-    unsigned int in_scale;     /* >=1 if processing multipication operand
+    unsigned int in_scale;     /* >=1 if processing multiplication operand
                                 * in brackets.  */
     i386_operand_type reloc_types;     /* Value obtained from lex_got().  */
     const reg_entry *base;     /* Base register (if any).  */
@@ -821,6 +821,8 @@ i386_intel_operand (char *operand_string, int got_a_float)
           || intel_state.is_mem)
     {
       /* Memory operand.  */
+      if (i.mem_operands == 1 && !maybe_adjust_templates ())
+       return 0;
       if ((int) i.mem_operands
          >= 2 - !current_templates->start->opcode_modifier.isstring)
        {
@@ -983,6 +985,8 @@ i386_intel_operand (char *operand_string, int got_a_float)
        return 0;
 
       i.types[this_operand].bitfield.mem = 1;
+      if (i.mem_operands == 0)
+       i.memop1_string = xstrdup (operand_string);
       ++i.mem_operands;
     }
   else
This page took 0.023327 seconds and 4 git commands to generate.