http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50494
--- Comment #14 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2013-02-13
22:13:42 UTC ---
> In LTO:
>
> /* If this variable belongs to the global constant pool, retrieve the
> pre-computed RTL or recompute it in LTO mode. */
> if (TREE_CODE (decl) == VAR_DECL && DECL_IN_CONSTANT_POOL (decl))
> {
> SET_DECL_RTL (decl, output_constant_def (DECL_INITIAL (decl), 1));
> return;
>
> but obviously output_constant_def when just getting DECL_INITIAL cannot
> honor any special alignment requirements of decl. It will simply get
> a new decl with standard alignment.
>
> We know decl is already the decl associated with the constant, so we
> should just re-use it.
Why does the alignment of a DECL_IN_CONSTANT_POOL matter here exactly?