aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index c79c380..8883cc2 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -4472,6 +4472,15 @@ output_constructor (exp, size)
assemble_zeros (bitpos - total_bytes);
total_bytes = bitpos;
}
+ else if (field != 0 && DECL_PACKED (field))
+ {
+ /* Some assemblers automaticallly align a datum according to
+ its size if no align directive is specified. The datum,
+ however, may be declared with 'packed' attribute, so we
+ have to disable such a feature. */
+
+ ASM_OUTPUT_ALIGN (asm_out_file, 0);
+ }
/* Determine size this element should occupy. */
if (field)