summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2017-01-08 17:43:30 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2017-01-08 17:43:30 +0100
commit8a1f09e4d94a3928495f763abe961176377f0d5f (patch)
tree9b3c79329c41692b65d6f625d7deb4eb37fc0372
parentd8dc87c24cf4883d3934d285a9bf1e5ca5384022 (diff)
re PR rtl-optimization/79003 (r238991 breaks ODR)
PR bootstrap/79003 * Makefile.in (CFLAGS, CPPFLAGS, LDFLAGS): Remove -fno-lto. (NOLTO_FLAGS): New variable. (ALL_CFLAGS): Use it. * configure.ac (nolto_flags): New ACX_PROG_CC_WARNING_OPTS, check for whether -fno-lto works. * configure: Regenerated. From-SVN: r244208
-rw-r--r--libdecnumber/ChangeLog10
-rw-r--r--libdecnumber/Makefile.in10
-rwxr-xr-xlibdecnumber/configure59
-rw-r--r--libdecnumber/configure.ac2
4 files changed, 77 insertions, 4 deletions
diff --git a/libdecnumber/ChangeLog b/libdecnumber/ChangeLog
index 0326fa371ce..287e373efc8 100644
--- a/libdecnumber/ChangeLog
+++ b/libdecnumber/ChangeLog
@@ -1,3 +1,13 @@
+2017-01-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/79003
+ * Makefile.in (CFLAGS, CPPFLAGS, LDFLAGS): Remove -fno-lto.
+ (NOLTO_FLAGS): New variable.
+ (ALL_CFLAGS): Use it.
+ * configure.ac (nolto_flags): New ACX_PROG_CC_WARNING_OPTS,
+ check for whether -fno-lto works.
+ * configure: Regenerated.
+
2017-01-06 Martin Liska <mliska@suse.cz>
PR bootstrap/79003
diff --git a/libdecnumber/Makefile.in b/libdecnumber/Makefile.in
index 2cfc5f48720..8f13f324edf 100644
--- a/libdecnumber/Makefile.in
+++ b/libdecnumber/Makefile.in
@@ -31,19 +31,20 @@ ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CC = @CC@
-CFLAGS = @CFLAGS@ -fno-lto
+CFLAGS = @CFLAGS@
WARN_CFLAGS = @WARN_CFLAGS@ @WARN_PEDANTIC@ @WERROR@
CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@ -fno-lto
+CPPFLAGS = @CPPFLAGS@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
-LDFLAGS = @LDFLAGS@ -fno-lto
+LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
PACKAGE = @PACKAGE@
PICFLAG = @PICFLAG@
RANLIB = @RANLIB@
SHELL = @SHELL@
objext = @OBJEXT@
+NOLTO_FLAGS = @nolto_flags@
datarootdir = @datarootdir@
datadir = @datadir@
@@ -58,7 +59,8 @@ enable_decimal_float= @enable_decimal_float@
INCLUDES = -I$(srcdir) -I.
-ALL_CFLAGS = $(CFLAGS) $(WARN_CFLAGS) $(INCLUDES) $(CPPFLAGS) $(PICFLAG)
+ALL_CFLAGS = $(CFLAGS) $(WARN_CFLAGS) $(NOLTO_FLAGS) $(INCLUDES) $(CPPFLAGS) \
+ $(PICFLAG)
bid_OBJS = bid2dpd_dpd2bid.$(objext) host-ieee32.$(objext) \
host-ieee64.$(objext) host-ieee128.$(objext)
diff --git a/libdecnumber/configure b/libdecnumber/configure
index 35baf0798bc..4cb732e80d4 100755
--- a/libdecnumber/configure
+++ b/libdecnumber/configure
@@ -613,6 +613,7 @@ EGREP
GREP
CPP
WERROR
+nolto_flags
WARN_PEDANTIC
WARN_CFLAGS
AUTOHEADER
@@ -3382,6 +3383,64 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+nolto_flags=
+save_CFLAGS="$CFLAGS"
+for real_option in -fno-lto; do
+ # Do the check with the no- prefix removed since gcc silently
+ # accepts any -Wno-* option on purpose
+ case $real_option in
+ -Wno-*) option=-W`expr x$real_option : 'x-Wno-\(.*\)'` ;;
+ *) option=$real_option ;;
+ esac
+ as_acx_Woption=`$as_echo "acx_cv_prog_cc_warning_$option" | $as_tr_sh`
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5
+$as_echo_n "checking whether $CC supports $option... " >&6; }
+if { as_var=$as_acx_Woption; eval "test \"\${$as_var+set}\" = set"; }; then :
+ $as_echo_n "(cached) " >&6
+else
+ CFLAGS="$option"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$as_acx_Woption=yes"
+else
+ eval "$as_acx_Woption=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+eval ac_res=\$$as_acx_Woption
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ if test `eval 'as_val=${'$as_acx_Woption'};$as_echo "$as_val"'` = yes; then :
+ nolto_flags="$nolto_flags${nolto_flags:+ }$real_option"
+fi
+ done
+CFLAGS="$save_CFLAGS"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
# Only enable with --enable-werror-always until existing warnings are
# corrected.
ac_ext=c
diff --git a/libdecnumber/configure.ac b/libdecnumber/configure.ac
index 2945ca39a83..c9f341f2f7b 100644
--- a/libdecnumber/configure.ac
+++ b/libdecnumber/configure.ac
@@ -43,6 +43,8 @@ ACX_PROG_CC_WARNING_OPTS([-W -Wall -Wwrite-strings -Wstrict-prototypes \
-Wmissing-format-attribute -Wcast-qual])
ACX_PROG_CC_WARNING_ALMOST_PEDANTIC([-Wno-long-long])
+ACX_PROG_CC_WARNING_OPTS([-fno-lto], [nolto_flags])
+
# Only enable with --enable-werror-always until existing warnings are
# corrected.
ACX_PROG_CC_WARNINGS_ARE_ERRORS([manual])