xserver/include
Jeremy Huddleston Sequoia 78c77356c5 list: Use offsetof() and typeof() to determine member offsets within a structure
Some compilers have difficulty with the previous implementation which
relies on undefined behavior according to the C standard.  Using
offsetof() from <stddef.h> (which most likely just uses
__builtin_offsetof on modern compilers) allows us to accomplish this
without ambiguity.

This fix also requires support for typeof().  If your compiler does not
support typeof(), then the old implementation will be used.  If you see
failures in test/list, please try a more modern compiler.

v2: Added fallback if typeof() is not present.

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit b8ab93dfbc)
2012-09-22 14:12:38 -07:00
..
.gitignore .gitignore: use common defaults with custom section #24239 2009-11-11 21:40:20 -08:00
callback.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
client.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
closestr.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
closure.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
colormap.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
colormapst.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
cursor.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
cursorstr.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
dix-config-apple-verbatim.h Move the apple fat binary hacks back to a header file, and make it apple-only. 2009-01-30 16:36:45 -08:00
dix-config.h.in list: Use offsetof() and typeof() to determine member offsets within a structure 2012-09-22 14:12:38 -07:00
dix.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
dixaccess.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
dixevents.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
dixfont.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
dixfontstr.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
dixgrabs.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
dixstruct.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
eventconvert.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
events.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
eventstr.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
exevents.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
extension.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
extinit.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
extnsionst.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
gc.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
gcstruct.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
globals.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
hotplug.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
input.h Rename TouchEnsureSprite to TouchBuildSprite and event type checks 2012-04-26 13:35:12 +10:00
inputstr.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
inpututils.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
kdrive-config.h.in kdrive: Add option to compile out input drivers 2010-01-06 19:47:53 +06:00
list.h list: Use offsetof() and typeof() to determine member offsets within a structure 2012-09-22 14:12:38 -07:00
Makefile.am Add 'optionstr.h' to include/Makefile.am 2011-11-20 14:50:57 -08:00
misc.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
miscstruct.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
opaque.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
optionstr.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
os.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
pixmap.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
pixmapstr.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
privates.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
property.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
propertyst.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
protocol-versions.h Support XI 2.2 officially 2011-12-21 12:38:35 +10:00
ptrveloc.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
region.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
regionstr.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
registry.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
resource.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
rgb.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
screenint.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
scrnintstr.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
selection.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
servermd.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
site.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
swaprep.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
swapreq.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
validate.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
version-config.h.in Move VENDOR_* defines from AC_SUBST to a header to avoid angering shave. 2009-04-14 10:35:44 -04:00
window.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
windowstr.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
XIstubs.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
xkb-config.h.in Move to autoconf standard function name checks & defines 2011-12-05 14:32:45 -08:00
xkbfile.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
xkbrules.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
xkbsrv.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
xkbstr.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
xorg-config.h.in xserver: check for elevated privileges not uid=0 2011-12-16 15:38:13 -08:00
xorg-server.h.in Fix gcc warnings about redundant declarations of fallback functions 2011-12-05 14:32:59 -08:00
Xprintf.h os/xprintf: add Xvscnprintf and Xscnprintf 2012-05-14 15:54:02 +10:00
xserver-properties.h Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
xsha1.h Move SHA1 computation from render/glyph.c to os/ 2009-10-15 01:17:44 +02:00
xwin-config.h.in Remove unused function checks from configure.ac & include/*.h.in 2011-12-03 10:19:12 -08:00