> Le 24 oct. 2018 à 06:43, Akim Demaille <a...@lrde.epita.fr> a écrit :
>
> Hi Paul,
>
>> Le 24 oct. 2018 à 00:27, Paul Eggert <egg...@cs.ucla.edu> a écrit :
>>
>> On 10/23/18 8:23 AM, Akim Demaille wrote:
>>> Fighting warnings is a nightmare.
>>> Incredibly time consuming.
>>
>> You have to pick your battles. I shut off warnings that are more trouble
>> than they're worth. This particular warning, though, is worthwhile as the
>> program can have undefined behavior.
>
> Yes, I agree. But ICC is incredibly picky on code generated by Flex
> 2.5.35. That’s the warnings that are currently annoying me. And ICC’s
> documentation about pragma is quite unclear, so I don’t know yet what’s
> the cleanest/simplest way to avoid this.
I chose the following one.
I’ll push it once Travis is happy
(https://travis-ci.com/akimd/bison/builds/89061486).
With that, I think I’m done with 3.2. Except for documentation issues.
Cheers!
commit 849d91bc024f0795a369437f97f8f1e3bb78f9e3
Author: Akim Demaille <akim.demai...@gmail.com>
Date: Wed Oct 24 20:45:18 2018 +0200
configure: quit on trying to get ICC and Flex be friends
The CI is using Flex 2.5.35. And ICC is too picky for it. Let's stop
making these warnings errors. I wish I could disable them in the
source files using the ICC version and the Flex version, but ICC's
pragma support is unclear, and I'm tired of fighting it.
* configure.ac (FLEX_SCANNER_CXXFLAGS): Make warnings warnings.
* examples/c++/local.mk: Comment changes.
diff --git a/configure.ac b/configure.ac
index c81446ca..3d55f08c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -162,15 +162,11 @@ if test "$enable_gcc_warnings" = yes; then
do
gl_WARN_ADD([$i], [WARN_CXXFLAGS_TEST])
done
- # Clang++ 3.2+ rejects C code generated by Flex.
- gl_WARN_ADD([-Wno-null-conversion], [FLEX_SCANNER_CXXFLAGS])
- # So does G++ 4.8...
- gl_WARN_ADD([-Wno-sign-compare], [FLEX_SCANNER_CXXFLAGS])
- # ... possibly in std=c++11 mode.
- gl_WARN_ADD([-Wno-zero-as-null-pointer-constant], [FLEX_SCANNER_CXXFLAGS])
- CXXFLAGS=$save_CXXFLAGS
+ # Too many compilers complain about Flex generated code.
+ gl_WARN_ADD([-Wno-error], [FLEX_SCANNER_CXXFLAGS])
# Clang++ deprecates compiling C.
gl_WARN_ADD([-Wno-deprecated], [WNO_DEPRECATED_CXXFLAGS])
+ CXXFLAGS=$save_CXXFLAGS
AC_LANG_POP([C++])
fi
diff --git a/examples/c++/local.mk b/examples/c++/local.mk
index 4d40abca..b9c2f071 100644
--- a/examples/c++/local.mk
+++ b/examples/c++/local.mk
@@ -46,6 +46,7 @@ endif
check_PROGRAMS += %D%/variant
nodist_%C%_variant_SOURCES = %D%/variant.yy
+# Don't use gnulib's system headers.
%C%_variant_CPPFLAGS = -I$(top_builddir)
dist_TESTS += %D%/variant.test
%D%/variant.cc: $(BISON_IN) $(dist_pkgdata_DATA)
@@ -54,6 +55,7 @@ if ENABLE_CXX11
check_PROGRAMS += %D%/variant-11
nodist_%C%_variant_11_SOURCES = %D%/variant-11.yy
%C%_variant_11_CXXFLAGS = $(CXX11_CXXFLAGS)
+ # Don't use gnulib's system headers.
%C%_variant_11_CPPFLAGS = -I$(top_builddir)
dist_TESTS += %D%/variant-11.test
%D%/variant-11.cc: $(BISON_IN) $(dist_pkgdata_DATA)