summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2016-04-05 22:49:05 +0200
committerPeter Wu <peter@lekensteyn.nl>2016-04-08 17:34:10 +0000
commit57b2a84f3d900eb0b98157095c6aac07cec54fd9 (patch)
treeec069513b90f83bbb31843a17204ffb0fb97fa69 /CMakeLists.txt
parent434bbd67a06803ce6bb9a8e0adc6d596246bc458 (diff)
downloadwireshark-57b2a84f3d900eb0b98157095c6aac07cec54fd9.tar.gz
Use a single WS_NORETURN macro
Having to define two macros for marking a function as never returning seems a bit redundant. Merge the MSVC and GCC-like attributes into a single WS_NORETURN. Tested with Clang 3.7.1, GCC 4.4.7 and even GCC 4.1.2 using this small program (-Wall -Wextra, the first two generate warnings for uninitialized variables, the last one compiles without warnings): #include <stdlib.h> __attribute__((noreturn)) void foo() { exit(1); } __attribute__((noreturn)) void bar(); void bar() { exit(1); } int main() { int j, i; if (i) { bar(); return j; } foo(); return j; } Change-Id: I7d19c15e61b8f8fa4936864407199c4109f8cc82 Reviewed-on: https://code.wireshark.org/review/14822 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Guy Harris <guy@alum.mit.edu> Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt13
1 files changed, 7 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1722044a7a..8b864fc4ce 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -587,9 +587,14 @@ if( NOT CMAKE_C_COMPILER_ID MATCHES "MSVC")
endif()
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang")
- set (C_UNUSED "__attribute__((unused))" )
+ set (C_UNUSED "__attribute__((unused))" )
+ set (WS_NORETURN "__attribute__((noreturn))")
+elseif(MSVC)
+ set (C_UNUSED "")
+ set (WS_NORETURN "__declspec(noreturn)")
else()
- set (C_UNUSED "" )
+ set (C_UNUSED "")
+ set (WS_NORETURN "")
endif()
set(WIRESHARK_LD_FLAGS
@@ -1143,14 +1148,10 @@ gmx_test_large_files(GMX_LARGEFILES)
add_definitions( -DTOP_SRCDIR=\"${CMAKE_SOURCE_DIR}\" )
if(WIN32)
- set(WS_MSVC_NORETURN "__declspec(noreturn)")
-
# Disable deprecation
if(MSVC80 OR MSVC90)
add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
endif()
-else()
- set(WS_MSVC_NORETURN " ")
endif()
if (${GIT_EXECUTABLE})