Date: Sat, 4 Mar 2006 15:42:59 +0000 (GMT) From: jkoshy@FreeBSD.ORG (Joseph Koshy) To: Maxime Henrion <mux@FreeBSD.org> Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/sys queue.h Message-ID: <20060304154259.8A7BE16A422@hub.freebsd.org> In-Reply-To: Message from Maxime Henrion <mux@FreeBSD.org> of "Fri, 03 Mar 2006 18:54:33 GMT." <200603031854.k23IsXeJ062568@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> mux 2006-03-03 18:54:33 UTC > > FreeBSD src repository > > Modified files: > sys/sys queue.h > Log: > Cast the pointer to void * before casting it back to struct type * in > STAILQ_LAST. This quiets a warning from GCC about increased required > alignment for the cast. > > Idea from: cognet Doesn't this trade a compile time warning for a runtime fault on those architectures where alignment matters? Which code triggers this warning? 274 #define STAILQ_LAST(head, type, field) \ 275 (STAILQ_EMPTY((head)) ? \ 276 NULL : \ 277 ((struct type *) \ 278 ((char *)((head)->stqh_last) - __offsetof(struct type, field)))) I can't see how this code would trigger a warning in normal usage. Regards, Koshy <jkoshy@freebsd.org>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060304154259.8A7BE16A422>