mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-06-04 06:12:04 +08:00
Temporary fix for bug 4254 - a _lot_ of strict aliasing warnings
Ozkan Sezer
A horde of strict aliasing violation warnings are emitted from joystick
layer, and also from a few other places. This happens with gcc-4.4.7 on
Linux CentOS 6.10. Some other sysjoystick would possibly have the same
warnings.
Attached my full log here. Example entry:
src/joystick/SDL_joystick.c: In function 'SDL_GetJoystickGUIDInfo':
src/joystick/SDL_joystick.c:1094: warning: dereferencing pointer '({anonymous})' does break strict-aliasing rules
This commit is contained in:
@@ -1329,6 +1329,29 @@ CheckVisibilityHidden()
|
||||
fi
|
||||
}
|
||||
|
||||
dnl See if GCC's -fno-strict-aliasingis supported.
|
||||
dnl Reference: https://bugzilla.libsdl.org/show_bug.cgi?id=4254
|
||||
CheckNoStrictAliasing()
|
||||
{
|
||||
AC_MSG_CHECKING(for GCC -fno-strict-aliasing option)
|
||||
have_gcc_no_strict_aliasing=no
|
||||
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$save_CFLAGS -fno-strict-aliasing"
|
||||
AC_TRY_COMPILE([
|
||||
int x = 0;
|
||||
],[
|
||||
],[
|
||||
have_gcc_no_strict_aliasing=yes
|
||||
])
|
||||
AC_MSG_RESULT($have_gcc_no_strict_aliasing)
|
||||
CFLAGS="$save_CFLAGS"
|
||||
|
||||
if test x$have_gcc_no_strict_aliasing = xyes; then
|
||||
EXTRA_CFLAGS="$EXTRA_CFLAGS -fno-strict-aliasing"
|
||||
fi
|
||||
}
|
||||
|
||||
dnl See if GCC's -mpreferred-stack-boundary is supported.
|
||||
dnl Reference: http://bugzilla.libsdl.org/show_bug.cgi?id=1296
|
||||
CheckStackBoundary()
|
||||
@@ -3263,6 +3286,7 @@ AS_HELP_STRING([--enable-foregrounding-signal], [number to use for magic foregro
|
||||
|
||||
dnl Do this on all platforms, before everything else (other things might want to override it).
|
||||
CheckWarnAll
|
||||
CheckNoStrictAliasing
|
||||
|
||||
dnl Do this for every platform, but for some it doesn't mean anything, but better to catch it here anyhow.
|
||||
CheckEventSignals
|
||||
|
||||
Reference in New Issue
Block a user