bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bison 3.1/test suite] all syncline tests failing Windows (illegal c


From: Akim Demaille
Subject: Re: [bison 3.1/test suite] all syncline tests failing Windows (illegal characters in test file names)
Date: Sun, 28 Oct 2018 08:40:50 +0100

Hi Jannick,

> Le 28 oct. 2018 à 00:53, Jannick <address@hidden> a écrit :
> 
> On Oct 28, 2018 at 12:48 AM, Jannick wrote:
>> On Sat, 27 Oct 2018 14:36:17 +0200, Akim Demaille wrote:
>> 
>>> Sure.  But I would like to know if the candidate 3.2 works properly in
>>> your environment.
> 
> Was too fast hitting send: I had to adjust the gettext version to 0.19 (from 
> 0.18, in configure.ac) to get the ball rolling.

I’m a bit lost.

You are not expected to have to change anything, why did you
have to do it?


>> Finally it is through. In version 3.1.91.45-7175 one test fails. It is #1 
>> for which it
>> looks like the expectation is right, but a bit scrambled (see below). So 
>> nothing
>> really bad I think.
>> 
>> ~~~
>> +++ /c/...../bison/bison-3.1.91.45-7175/bison-3.1.91.45-
>> 7175/tests/testsuite.dir/at-groups/1/stderr  2018-10-27 21:52:40.160216700
>> +0200
>> @@ -1,3 +1,3 @@
>> -bison: option '--skeleton' requires an argument
>> +bison: option requires an argument — skeleton

This is unexpected.  If you run bison --skeleton, you should get the
first message, not the second.

>> Try 'bison --help' for more information.
>> 
>> 1. input.at:27: 1. Invalid number of arguments (input.at:27): FAILED
>> (input.at:39) ~~~
>> 
>> ... and the following warning right before the tests start (using gcc 7.3.0,
>> x86_64-pc-msys):
>> 
>> ~~~
>> ./tests/testsuite -C tests
>> In file included from conftest.cc:1:0:
>> /c/....../bison-3.1.91.45-7175/bison-3.1.91.45-7175/lib/config.h:1549:5:
>> warning: option '-Wmissing-prototypes' is valid for C/ObjC but not for C++ [-
>> Wpragmas]
>>     _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
>>     ^
>> ~~~


It comes from config.h:

/* In GCC 4.6 (inclusive) to 5.1 (exclusive),
   suppress bogus "no previous prototype for 'FOO'"
   and "no previous declaration for 'FOO'" diagnostics,
   when FOO is an inline function in the header; see
   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113> and
   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63877>.  */
#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__
# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__
#  define _GL_INLINE_HEADER_CONST_PRAGMA
# else
#  define _GL_INLINE_HEADER_CONST_PRAGMA \
     _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"")
# endif
# define _GL_INLINE_HEADER_BEGIN \
    _Pragma ("GCC diagnostic push") \
    _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
    _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \
    _GL_INLINE_HEADER_CONST_PRAGMA
# define _GL_INLINE_HEADER_END \
    _Pragma ("GCC diagnostic pop")
#else
# define _GL_INLINE_HEADER_BEGIN
# define _GL_INLINE_HEADER_END
#endif

Apparently, this is triggered although your compiler is GCC 7.
We could use protection for C++, but I’m surprised that with GCC
7 you still have this bit fired.   Look for _GL_INLINE_HEADER_CONST_PRAGMA
and _GL_INLINE_HEADER_CONST_PRAGMA in your config.h.  Or send it.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]