Navigation Menu

Skip to content

Commit

Permalink
Partial fix for bug 2556 - add compilation flag -Wshadow
Browse files Browse the repository at this point in the history
I added -Wshadow and then turned it off again because of massive variable shadowing in the blit macros.

Feel free to go through that code and fix these if you want. Just uncomment CheckWarnShadow in configure.in if you want to try this.
  • Loading branch information
slouken committed Jun 22, 2014
1 parent 9f5e3ed commit 553028c
Show file tree
Hide file tree
Showing 5 changed files with 64 additions and 2 deletions.
1 change: 1 addition & 0 deletions CMakeLists.txt
Expand Up @@ -334,6 +334,7 @@ if(USE_GCC OR USE_CLANG)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-multichar")
endif()
endif()
#check_c_compiler_flag(-Wshadow HAVE_GCC_WSHADOW)
endif()

if(ASSEMBLY)
Expand Down
38 changes: 38 additions & 0 deletions configure
Expand Up @@ -18684,6 +18684,43 @@ $as_echo "$need_gcc_Wno_multichar" >&6; }
fi
}

CheckWarnShadow()
{
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC -Wshadow option" >&5
$as_echo_n "checking for GCC -Wshadow option... " >&6; }
have_gcc_Wshadow=no

save_CFLAGS="$CFLAGS"
CFLAGS="$save_CFLAGS -Wshadow"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */

int x = 0;

int
main ()
{


;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :

have_gcc_Wshadow=yes

fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gcc_Wshadow" >&5
$as_echo "$have_gcc_Wshadow" >&6; }
CFLAGS="$save_CFLAGS"

if test x$have_gcc_Wshadow = xyes; then
EXTRA_CFLAGS="$EXTRA_CFLAGS -Wshadow"
fi
}

CheckWayland()
{
# Check whether --enable-video-wayland was given.
Expand Down Expand Up @@ -23337,6 +23374,7 @@ $as_echo "#define SDL_FILESYSTEM_NACL 1" >>confdefs.h
esac

CheckWarnAll
#CheckWarnShadow

# Verify that we have all the platform specific files we need

Expand Down
23 changes: 23 additions & 0 deletions configure.in
Expand Up @@ -1159,6 +1159,28 @@ CheckWarnAll()
fi
}

dnl See if GCC's -Wshadow is supported.
CheckWarnShadow()
{
AC_MSG_CHECKING(for GCC -Wshadow option)
have_gcc_Wshadow=no

save_CFLAGS="$CFLAGS"
CFLAGS="$save_CFLAGS -Wshadow"
AC_TRY_COMPILE([
int x = 0;
],[
],[
have_gcc_Wshadow=yes
])
AC_MSG_RESULT($have_gcc_Wshadow)
CFLAGS="$save_CFLAGS"

if test x$have_gcc_Wshadow = xyes; then
EXTRA_CFLAGS="$EXTRA_CFLAGS -Wshadow"
fi
}

dnl Check for Wayland
CheckWayland()
{
Expand Down Expand Up @@ -3216,6 +3238,7 @@ esac

dnl Do this on all platforms, after everything else.
CheckWarnAll
#CheckWarnShadow

# Verify that we have all the platform specific files we need

Expand Down
1 change: 0 additions & 1 deletion src/events/SDL_events.c
Expand Up @@ -302,7 +302,6 @@ SDL_PeepEvents(SDL_Event * events, int numevents, SDL_eventaction action,
For now we'll guarantee it's valid at least until
the next call to SDL_PeepEvents()
*/
SDL_SysWMEntry *wmmsg;
if (SDL_EventQ.wmmsg_free) {
wmmsg = SDL_EventQ.wmmsg_free;
SDL_EventQ.wmmsg_free = wmmsg->next;
Expand Down
3 changes: 2 additions & 1 deletion src/events/SDL_gesture.c
Expand Up @@ -473,7 +473,6 @@ static int SDL_SendDollarRecord(SDL_GestureTouch* touch,SDL_GestureID gestureId)
void SDL_GestureProcessEvent(SDL_Event* event)
{
float x,y;
SDL_FloatPoint path[DOLLARNPOINTS];
int index;
int i;
float pathDx, pathDy;
Expand All @@ -497,6 +496,8 @@ void SDL_GestureProcessEvent(SDL_Event* event)

/* Finger Up */
if (event->type == SDL_FINGERUP) {
SDL_FloatPoint path[DOLLARNPOINTS];

inTouch->numDownFingers--;

#ifdef ENABLE_DOLLAR
Expand Down

0 comments on commit 553028c

Please sign in to comment.