|New datatype addition to gcc email@example.com (Sriharsha Vedurmudi) (2004-12-11)|
|Re: New datatype addition to gcc firstname.lastname@example.org (Michael Meissner) (2004-12-16)|
|Re: New datatype addition to gcc email@example.com (Sriharsha) (2004-12-16)|
|Re: New datatype addition to gcc firstname.lastname@example.org (George Neuner) (2004-12-17)|
|Re: New datatype addition to gcc email@example.com (Michael Meissner) (2004-12-19)|
|Re: New datatype addition to gcc firstname.lastname@example.org (glen herrmannsfeldt) (2004-12-22)|
|Re: New datatype addition to gcc email@example.com (Michael Meissner) (2004-12-23)|
|Re: New datatype addition to gcc firstname.lastname@example.org (2004-12-23)|
|Re: New datatype addition to gcc email@example.com (Nathan Moore) (2005-03-24)|
|From:||glen herrmannsfeldt <firstname.lastname@example.org>|
|Date:||22 Dec 2004 01:04:55 -0500|
|References:||04-12-052 04-12-068 04-12-069 04-12-093|
|Posted-Date:||22 Dec 2004 01:04:55 EST|
Michael Meissner wrote:
> Sriharsha <email@example.com> writes:
>>My h/w personnel says that there will be TWO RAMs in the processor,
>>one is 8-bit addressible while the other is 16-bit addressible. If
>>the compiler has to do 8-bit data load/store, it uses the 8-bit RAM
>>and if it has something to do with 16-bit, it uses that RAM. This
>>sounded bizzare to me but, thats what they say (or atleast I've
>>never come across such stuff).
> My take is you can't expect an ISO standard C implementation on such a
> machine using two address spaces, one for byte accesses and one for
> word, since structures can contain both types, and structures are
> required to have all members adjacent.
Structures are allowed to have padding for alignment. The only
restriction that I remember is that a pointer to the structure is
equivalent to a pointer to the first member. Past that, I don't know
about such restrictions. Casting pointers to a different type and
dereferencing them is not guaranteed to work, either.
It would seem to me that it might just work.
> I suspect the best you can do is use just one address space, and
> issue multiple instructions, possibly adding a sop with attributes
> to declare static variables in the other address space. Note, once
> a pointer has been taken, GCC historically has lost all of the
> attribute information.
Return to the
Search the comp.compilers archives again.