This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Void Pointer Alignment - GCC 3.4.6
- From: Ian Lance Taylor <iant at google dot com>
- To: Rohit Arul Raj <rohitarulraj at gmail dot com>
- Cc: gcc <gcc at gcc dot gnu dot org>
- Date: Wed, 28 Jan 2009 22:09:51 -0800
- Subject: Re: Void Pointer Alignment - GCC 3.4.6
- References: <c356fd4e0901282159xaaacd7fs53b7807c5f42438a@mail.gmail.com>
Rohit Arul Raj <rohitarulraj@gmail.com> writes:
> I am working with GCC 3.4.6 for a private target. The Alignment of all
> pointer variables in my target is supposed to be 16bits. But it seems
> that for void pointers, the alignment by default is taken as 8 bits. I
> have defined the following macros to get the desired alignment but
> still it doesn't seem to work.
>
> #define Pmode HImode
> #define POINTER_SIZE 16
>
> Are there any other macros that are supposed to be defined to get the
> preferred alignment or any other way of implementing this?
Alignment is not set based on the size, though that often determines a
default value. It is set based on macros in the CPU.h file, like
BIGGEST_ALIGNMENT, DATA_ALIGNMENT, LOCAL_ALIGNMENT,
STACK_SLOT_ALIGNMENT, etc. See the internals documentation.
Ian