mirror of
https://github.com/neovim/neovim.git
synced 2024-12-19 10:45:16 -07:00
refactor(build): graduate -Wvla, -fno-common and -Og "features"
These are in gcc 4.9+ which we require anyway. -Og is safe on clang as well (reserved for a future debug-optimize mode, and currently does the same as -O1 which is reasonable)
This commit is contained in:
parent
848dac0aaa
commit
2cffd04833
@ -120,17 +120,11 @@ if(CMAKE_C_FLAGS_RELEASE MATCHES "-O3")
|
||||
string(REPLACE "-O3" "-O2" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_COMPILER_ID MATCHES "GNU")
|
||||
check_c_compiler_flag(-Og HAS_OG_FLAG)
|
||||
else()
|
||||
set(HAS_OG_FLAG 0)
|
||||
endif()
|
||||
|
||||
#
|
||||
# Build-type: RelWithDebInfo
|
||||
#
|
||||
if(HAS_OG_FLAG)
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -Og -g")
|
||||
|
||||
# /Og means something different in MSVC
|
||||
if(CMAKE_C_COMPILER_ID MATCHES "GNU" OR CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -Og -g")
|
||||
endif()
|
||||
# We _want_ assertions in RelWithDebInfo build-type.
|
||||
if(CMAKE_C_FLAGS_RELWITHDEBINFO MATCHES DNDEBUG)
|
||||
|
@ -87,14 +87,14 @@ if(MSVC)
|
||||
target_sources(main_lib INTERFACE ${CMAKE_CURRENT_LIST_DIR}/os/nvim.manifest)
|
||||
else()
|
||||
target_compile_options(main_lib INTERFACE -Wall -Wextra -pedantic -Wno-unused-parameter
|
||||
-Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion
|
||||
-Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wvla
|
||||
-Wdouble-promotion
|
||||
-Wmissing-noreturn
|
||||
-Wmissing-format-attribute
|
||||
-Wmissing-prototypes)
|
||||
|
||||
if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
target_compile_options(main_lib INTERFACE
|
||||
target_compile_options(main_lib INTERFACE -fno-common
|
||||
$<$<CONFIG:Release>:-Wno-unused-result>
|
||||
$<$<CONFIG:RelWithDebInfo>:-Wno-unused-result>
|
||||
$<$<CONFIG:MinSizeRel>:-Wno-unused-result>)
|
||||
@ -144,17 +144,6 @@ if(WIN32)
|
||||
target_compile_definitions(main_lib INTERFACE _WIN32_WINNT=0x0602 MSWIN)
|
||||
endif()
|
||||
|
||||
# OpenBSD's GCC (4.2.1) doesn't have -Wvla
|
||||
check_c_compiler_flag(-Wvla HAS_WVLA_FLAG)
|
||||
if(HAS_WVLA_FLAG)
|
||||
target_compile_options(main_lib INTERFACE -Wvla)
|
||||
endif()
|
||||
|
||||
check_c_compiler_flag(-fno-common HAVE_FNO_COMMON)
|
||||
if (HAVE_FNO_COMMON)
|
||||
target_compile_options(main_lib INTERFACE -fno-common)
|
||||
endif()
|
||||
|
||||
check_c_compiler_flag(-fdiagnostics-color=auto HAS_DIAG_COLOR_FLAG)
|
||||
if(HAS_DIAG_COLOR_FLAG)
|
||||
if(CMAKE_GENERATOR MATCHES "Ninja")
|
||||
|
Loading…
Reference in New Issue
Block a user