* config/tc-xtensa.c (xtensa_elf_cons): Set frag flags for
authorBob Wilson <bob.wilson@acm.org>
Thu, 20 Dec 2007 17:21:07 +0000 (17:21 +0000)
committerBob Wilson <bob.wilson@acm.org>
Thu, 20 Dec 2007 17:21:07 +0000 (17:21 +0000)
expressions without suffixes.
(get_frag_property_flags): Preserve is_no_transform flag for frags
not marked as either instructions or literals.

gas/ChangeLog
gas/config/tc-xtensa.c

index 6a6fa5ee854dcd8841d4bb5c095f52a5f1c1f799..fbcce0219b6586f3fcf7eaceb43ade80117dc29a 100644 (file)
@@ -1,3 +1,10 @@
+2007-12-20  Bob Wilson  <bob.wilson@acm.org>
+       
+       * config/tc-xtensa.c (xtensa_elf_cons): Set frag flags for
+       expressions without suffixes.
+       (get_frag_property_flags): Preserve is_no_transform flag for frags
+       not marked as either instructions or literals.
+       
 2007-12-17  H.J. Lu  <hongjiu.lu@intel.com>
 
        * config/tc-i386.c (output_insn): Use ARRAY_SIZE.
index e632ef39e3eba0b42e733e5616f9ebcbc93a2910..ab4578b94b4b7e0b9577fb6568fac3835ac8d0f8 100644 (file)
@@ -1558,7 +1558,10 @@ xtensa_elf_cons (int nbytes)
            }
        }
       else
-       emit_expr (&exp, (unsigned int) nbytes);
+       {
+         xtensa_set_frag_assembly_state (frag_now);
+         emit_expr (&exp, (unsigned int) nbytes);
+       }
     }
   while (*input_line_pointer++ == ',');
 
@@ -10670,7 +10673,11 @@ get_frag_property_flags (const fragS *fragP, frag_flags *prop_flags)
     prop_flags->is_literal = TRUE;
   if (fragP->tc_frag_data.is_specific_opcode
       || fragP->tc_frag_data.is_no_transform)
-    prop_flags->is_no_transform = TRUE;
+    {
+      prop_flags->is_no_transform = TRUE;
+      if (xtensa_frag_flags_is_empty (prop_flags))
+       prop_flags->is_data = TRUE;
+    }
   if (fragP->tc_frag_data.is_unreachable)
     prop_flags->is_unreachable = TRUE;
   else if (fragP->tc_frag_data.is_insn)