From 98f4fcb5ba1819ace7cfe6ad4ac9fdc4e7754ba9 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 19 Feb 2016 20:18:50 +0300 Subject: Add noreturn attributes. Also add compiler flag for check for missing noreturn attributes. --- configure | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 2 deletions(-) (limited to 'configure') 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" -- cgit v1.2.3-60-g2f50