From 9b9659673d3e89f5181ee3fe4096fa07474a89cc Mon Sep 17 00:00:00 2001 From: Xavier Leroy Date: Fri, 24 Apr 2020 18:00:05 +0200 Subject: [PATCH] configure: move -fexcess-precision=standard to the internal cflags (#9496) Follow-up to c5afa9303. The GCC option -fexcess=precision is supported for C but not for C++. Some users use ocamlc -c or ocamlopt -c to compile C++ source files, causing errors since -fexcess-precision=standard was added to the common C flags in commit c5afa9303. This commit moves -fexcess-precision=standard to the internal C flags, so that ocamlc -c and ocamlopt -c will not apply it to C / C++ source files. (cherry picked from commit 4d3b4311ac7005df3f4b18a2b0977a2e7599b1ff) --- configure | 16 ++++++++-------- configure.ac | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/configure b/configure index f8d74fa573e6..3dcf65e1b89c 100755 --- a/configure +++ b/configure @@ -12497,10 +12497,10 @@ case $host in #( gcc-[01234]-*) : as_fn_error $? "This version of Mingw GCC is too old. Please use GCC version 5 or above." "$LINENO" 5 ;; #( gcc-*) : - internal_cflags="-Wno-unused $gcc_warnings" + internal_cflags="-Wno-unused $gcc_warnings \ +-fexcess-precision=standard" # TODO: see whether the code can be fixed to avoid -Wno-unused - common_cflags="-O2 -fno-strict-aliasing -fwrapv \ --fexcess-precision=standard -mms-bitfields" + common_cflags="-O2 -fno-strict-aliasing -fwrapv -mms-bitfields" internal_cppflags='-DUNICODE -D_UNICODE' internal_cppflags="$internal_cppflags -DWINDOWS_UNICODE=" internal_cppflags="${internal_cppflags}\$(WINDOWS_UNICODE)" ;; #( @@ -12532,12 +12532,12 @@ $as_echo "$as_me: WARNING: Consider using GCC version 4.2 or above." >&2;}; internal_cflags="$gcc_warnings" ;; #( gcc-4-*) : common_cflags="-std=gnu99 -O2 -fno-strict-aliasing -fwrapv \ --fno-builtin-memcmp -fexcess-precision=standard"; - internal_cflags="$gcc_warnings" ;; #( +-fno-builtin-memcmp"; + internal_cflags="$gcc_warnings -fexcess-precision=standard" ;; #( gcc-*) : - common_cflags="-O2 -fno-strict-aliasing -fwrapv \ --fexcess-precision=standard"; - internal_cflags="$gcc_warnings -fno-common" ;; #( + common_cflags="-O2 -fno-strict-aliasing -fwrapv"; + internal_cflags="$gcc_warnings -fno-common \ +-fexcess-precision=standard" ;; #( msvc-*) : common_cflags="-nologo -O2 -Gy- -MD" common_cppflags="-D_CRT_SECURE_NO_DEPRECATE" diff --git a/configure.ac b/configure.ac index 350b5a2a59ae..ca2439ea58d3 100644 --- a/configure.ac +++ b/configure.ac @@ -555,10 +555,10 @@ AS_CASE([$host], [AC_MSG_ERROR(m4_normalize([This version of Mingw GCC is too old. Please use GCC version 5 or above.]))], [gcc-*], - [internal_cflags="-Wno-unused $gcc_warnings" + [internal_cflags="-Wno-unused $gcc_warnings \ +-fexcess-precision=standard" # TODO: see whether the code can be fixed to avoid -Wno-unused - common_cflags="-O2 -fno-strict-aliasing -fwrapv \ --fexcess-precision=standard -mms-bitfields" + common_cflags="-O2 -fno-strict-aliasing -fwrapv -mms-bitfields" internal_cppflags='-DUNICODE -D_UNICODE' internal_cppflags="$internal_cppflags -DWINDOWS_UNICODE=" internal_cppflags="${internal_cppflags}\$(WINDOWS_UNICODE)"], @@ -587,12 +587,12 @@ AS_CASE([$host], internal_cflags="$gcc_warnings"], [gcc-4-*], [common_cflags="-std=gnu99 -O2 -fno-strict-aliasing -fwrapv \ --fno-builtin-memcmp -fexcess-precision=standard"; - internal_cflags="$gcc_warnings"], +-fno-builtin-memcmp"; + internal_cflags="$gcc_warnings -fexcess-precision=standard"], [gcc-*], - [common_cflags="-O2 -fno-strict-aliasing -fwrapv \ --fexcess-precision=standard"; - internal_cflags="$gcc_warnings -fno-common"], + [common_cflags="-O2 -fno-strict-aliasing -fwrapv"; + internal_cflags="$gcc_warnings -fno-common \ +-fexcess-precision=standard"], [msvc-*], [common_cflags="-nologo -O2 -Gy- -MD" common_cppflags="-D_CRT_SECURE_NO_DEPRECATE"