summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-02-19 20:18:50 +0300
committerAndrei Karas <akaras@inbox.ru>2016-02-19 20:18:50 +0300
commit98f4fcb5ba1819ace7cfe6ad4ac9fdc4e7754ba9 (patch)
treea02c83fefe9a8a9be0931f690accb8128bcb36f5 /configure
parentfd7cd2c4b768745ef711c0b28b0c7b03ac57e486 (diff)
downloadhercules-98f4fcb5ba1819ace7cfe6ad4ac9fdc4e7754ba9.tar.gz
hercules-98f4fcb5ba1819ace7cfe6ad4ac9fdc4e7754ba9.tar.bz2
hercules-98f4fcb5ba1819ace7cfe6ad4ac9fdc4e7754ba9.tar.xz
hercules-98f4fcb5ba1819ace7cfe6ad4ac9fdc4e7754ba9.zip
Add noreturn attributes.
Also add compiler flag for check for missing noreturn attributes.
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure60
1 files changed, 58 insertions, 2 deletions
diff --git a/configure b/configure
index b8f8f41f6..03f0dca11 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.in 8dc7572.
+# From configure.in fd7cd2c.
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69.
#
@@ -4570,10 +4570,17 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# -Wcast-qual use for check wrong casts. It cant be added by default, because some casts must be wrong.
# -Wconversion warning: conversion to 'long unsigned int' from 'int' may change the sign of the result
# -Wfloat-equal comparing floating point with == or != is unsafe
+# -Wpedantic different pedantic checks. Not all can be fixed in nice way.
+# attributes suggestion
+# -Wsuggest-attribute=const -Wsuggest-attribute=format -Wsuggest-attribute=pure
+
# flags what can be used but now return no warnings: -Warray-bounds -Wbool-compare -Wcast-align
# -Wchar-subscripts -Wchkp -Wclobbered -Wcomment -Wdisabled-optimization -Wempty-body
# -Werror-implicit-function-declaration -Wignored-qualifiers
-# -Winit-self
+# -Wjump-misses-init -Wlogical-op -Wmissing-field-initializers -Wmissing-parameter-type
+# -Wnested-externs -Wold-style-declaration -Wold-style-definition -Woverlength-strings -Woverride-init
+# -Wredundant-decls -Wstack-protector -Wstrict-prototypes
+# -Winit-self -Wpointer-arith
CFLAGS="$CFLAGS -pipe -ffast-math -Wall -Wextra -Wno-sign-compare"
CPPFLAGS="$CPPFLAGS -I../common"
@@ -6657,6 +6664,55 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wsuggest-attribute=noreturn" >&5
+$as_echo_n "checking whether $CC supports -Wsuggest-attribute=noreturn... " >&6; }
+ OLD_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Werror -Wsuggest-attribute=noreturn"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int foo;
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ CFLAGS="$OLD_CFLAGS -Wsuggest-attribute=noreturn"
+ # Optionally, run a test
+ if test "x" != "x"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC can actually use -Wsuggest-attribute=noreturn" >&5
+$as_echo_n "checking whether $CC can actually use -Wsuggest-attribute=noreturn... " >&6; }
+ CFLAGS="$OLD_CFLAGS -Werror -Wsuggest-attribute=noreturn"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ CFLAGS="$OLD_CFLAGS"
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ CFLAGS="$OLD_CFLAGS -Wsuggest-attribute=noreturn"
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+
+else
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ CFLAGS="$OLD_CFLAGS"
+
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wno-format-nonliteral" >&5
$as_echo_n "checking whether $CC supports -Wno-format-nonliteral... " >&6; }
OLD_CFLAGS="$CFLAGS"