public inbox for crossgcc@sourceware.org
 help / color / mirror / Atom feed
* unaligned pointers
@ 2000-09-14  8:49 Shaun Jackman
  2000-10-29 19:19 ` Jonathan Larmour
  0 siblings, 1 reply; 2+ messages in thread
From: Shaun Jackman @ 2000-09-14  8:49 UTC (permalink / raw)
  To: crossgcc list

Can GCC generate the code necessary to load from and store to unaligned
pointers? Ditto for unaligned members of structures.
In the case of structure members the compiler knows compile-time which are
aligned and which are unaligned, and genereate the respective code. Although
it doesn't at the moment. Nor does it warn me of the access to an unaligned
structure member (w/ -Wall).
For pointers though, how do I indicate a given pointer can possibly be
unaligned, and needs odd-alignment safe dereferncing?

Thanks,
Shaun Jackman


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: unaligned pointers
  2000-09-14  8:49 unaligned pointers Shaun Jackman
@ 2000-10-29 19:19 ` Jonathan Larmour
  0 siblings, 0 replies; 2+ messages in thread
From: Jonathan Larmour @ 2000-10-29 19:19 UTC (permalink / raw)
  To: Shaun Jackman; +Cc: crossgcc list

Shaun Jackman wrote:
> 
> Can GCC generate the code necessary to load from and store to unaligned
> pointers? Ditto for unaligned members of structures.
> In the case of structure members the compiler knows compile-time which are
> aligned and which are unaligned, and genereate the respective code. Although
> it doesn't at the moment. Nor does it warn me of the access to an unaligned
> structure member (w/ -Wall).
> For pointers though, how do I indicate a given pointer can possibly be
> unaligned, and needs odd-alignment safe dereferncing?

In general, if gcc deferences a pointer, then it will assume that what the
pointer points to is aligned appropriately for the type it points to. If it
doesn't, it's your problem :-).

If you want to be able to access unaligned structures, you would have to
copy it first (and use a char * pointer to access it for copying, since
that is the only type guaranteed to be safe for this).

Jifl
-- 
Red Hat, 35 Cambridge Place, Cambridge, UK. CB2 1NS  Tel: +44 (1223) 728762
"Plan to be spontaneous tomorrow."  ||  These opinions are all my own fault

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2000-10-29 19:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-09-14  8:49 unaligned pointers Shaun Jackman
2000-10-29 19:19 ` Jonathan Larmour

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).