This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: DATA_ALIGNMENT vs. DECL_USER_ALIGNMENT
- From: Alexandre Oliva <aoliva at redhat dot com>
- To: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- Cc: gcc-patches at gcc dot gnu dot org, gcc at gcc dot gnu dot org
- Date: 21 Apr 2003 22:58:09 -0700
- Subject: Re: DATA_ALIGNMENT vs. DECL_USER_ALIGNMENT
- Organization: GCC Team, Red Hat
- References: <10304211651.AA29704@vlsi1.ultra.nyu.edu>
On Apr 21, 2003, kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner) wrote:
> So if you turn:
> T i __attribute__((align(2)));
> T j __attribute__((align(2)));
> into
> typedef T T2 __attribute__((align(2)));
> T2 i, j;
> you say we could get different code?
> I say so, yes.
> And the reason is as I said: you specify alignment for a type both for
> interface and efficiency reasons, but for an object only for the latter.
> So there is a difference in meaning between these two constructs.
But the compiler can't tell whether, when you specify alignment for a
type, you mean for interface or for efficiency, so I think it
shouldn't make an assumption that it's to be used only for the former
case like you seem to believe it should do.
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva at {redhat dot com, gcc.gnu.org}
CS PhD student at IC-Unicamp oliva at {lsd dot ic dot unicamp dot br, gnu.org}
Free Software Evangelist Professional serial bug killer