1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-18 20:10:29 +01:00

configure: make the gcc check for trampolines stronger

Because the use of trampolines can be a lot of problems, this patch changes
the use of the flag to:
 - make it an error if possible, so coders are forced to not use them;
 - always enable them, not just for debug, so we increase the probability
to get them caught.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
This commit is contained in:
Christophe CURIS
2014-12-08 22:42:25 +01:00
committed by Carlos R. Mafra
parent 149f6b0390
commit e5efbe0cf2

View File

@@ -104,6 +104,16 @@ AS_IF([test "x$debug" = "xyes"],
AX_CFLAGS_GCC_OPTION(-Wall)
AX_CFLAGS_GCC_OPTION(-Wextra -Wno-sign-compare)
dnl
dnl The use of trampolines cause code that can crash on some secured OS, it is
dnl also known to be a source of crash if not used properly, in a more general
dnl way it tends to generate binary code that may not be optimal, and it is
dnl not compatible with the 'nested-func-to-macro' workaround
WM_CFLAGS_CHECK_FIRST([-Wtrampolines],
[-Werror=trampolines dnl try to generate an error if possible
-Wtrampolines dnl if not, try to fall back to a simple warning
])
dnl
AS_IF([test "x$debug" = "xyes"],
[dnl When debug is enabled, we try to activate more checks from
dnl the compiler. They are on independant check because the
@@ -172,11 +182,6 @@ AS_IF([test "x$debug" = "xyes"],
-Wmissing-noreturn dnl clang syntax
])
dnl
dnl The use of trampolines cause code that can crash on some
dnl secured OS, and in a more general way generate binary code
dnl that may not be optimal
AX_CFLAGS_GCC_OPTION([-Wtrampolines])
dnl
dnl GCC provides a couple of checks to detect incorrect macro uses
AX_CFLAGS_GCC_OPTION([-Wundef])
WM_CFLAGS_GCC_OPTION_UNUSEDMACROS