diff options
Diffstat (limited to 'gcc/varasm.c')
| -rw-r--r-- | gcc/varasm.c | 9 |
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) |
