Warn about use of trampolines for nested functions.

Use of this feature with GCC in particular causes the stack to become marked as executable.

(cherry-picked from commit 96b43a9af4ec76882afe6924e9c3dafb5b8beac5)
This commit is contained in:
Pentarctagon 2018-05-06 03:04:59 -05:00 committed by Jyrki Vesterinen
parent dd383688d6
commit e2501940a0
2 changed files with 2 additions and 2 deletions

View File

@ -204,7 +204,7 @@ if(NOT DEFINED CXX_FLAGS_USER)
endif(NOT DEFINED CXX_FLAGS_USER)
set(COMPILER_FLAGS "-std=c++${CXX_STD} -Wall -Wextra -Werror=non-virtual-dtor -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wold-style-cast")
set(COMPILER_FLAGS "-std=c++${CXX_STD} -Wall -Wextra -Werror=non-virtual-dtor -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wold-style-cast -Wtrampolines")
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
set(COMPILER_FLAGS "${COMPILER_FLAGS} -Qunused-arguments -Wno-unknown-warning-option -Wmismatched-tags -Wno-conditional-uninitialized")

View File

@ -474,7 +474,7 @@ for env in [test_env, client_env, env]:
env.AppendUnique(CXXFLAGS = Split("-Wdocumentation -Wno-documentation-deprecated-sync"))
if "gcc" in env["TOOLS"]:
env.AppendUnique(CCFLAGS = Split("-Wno-unused-local-typedefs -Wno-maybe-uninitialized"))
env.AppendUnique(CCFLAGS = Split("-Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wtrampolines"))
env.AppendUnique(CXXFLAGS = Split("-Wold-style-cast"))
if env['strict']: