warnings: don't use _Noreturn with G++ 4.7 in C++98 mode

The timevar and bitset modules now use the c99 module which causes
$CXX to now include -std=gnu++11 when possible.  Unfortunately, G++
4.7 does not implement [[noreturn]] in C++11 mode, so our tests of
glr.cc (which uses _Noreturn) fail with

    input.cc:954:1: error: expected unqualified-id before '[' token

right before [[noreturn]].  4.8 works fine.

* data/skeletons/c.m4 (b4_attribute_define): Do not use [[noreturn]]
with GCC 4.7.
This commit is contained in:
Akim Demaille
2019-03-14 13:26:57 +01:00
parent 225bc5836a
commit 01855ca328
3 changed files with 34 additions and 11 deletions

View File

@@ -288,6 +288,24 @@ release:
- Test with a very recent version of GCC for both C and C++. Testing with
older versions that are still in use is nice too.
** gnulib
To run tests on gnulib components (e.g., on bitset):
cd gnulib
./gnulib-tool --test bitset-tests
possibly within a specified environment:
CC='gcc-mp-8 -fsanitize=undefined' ./gnulib-tool --test bitset-tests
To be able to run the tests several times, and to use symlinks instead of
copies so that one can update the origin gnulib directory and immediately
re-run the tests, run:
./gnulib-tool --symlink --create-test --dir=/tmp/gnutest bitset-tests
cd /tmp/gnutest
./configure CC='gcc-mp-8 -fsanitize=undefined'
make check
* Release Procedure
This section needs to be updated to take into account features from gnulib.