bug-bison
[Top][All Lists]
Advanced

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

Re: bison-3.2 make fails on Solaris 11.3 x86/64


From: Kiyoshi KANAZAWA
Subject: Re: bison-3.2 make fails on Solaris 11.3 x86/64
Date: Wed, 31 Oct 2018 08:03:03 +0900 (JST)

Hello,

What I did are:
% ./configure --prefix=/opt/local --disable-nls CC=gcc CXX=g++
(GNU softwares are installed on /opt/local)
% make
% make -k check

Also did the same with bison-3.1, because I remember

>>  479: C++ GLR parser identifier shadowing             FAILED (c++.at:1332)

was not found with it.

testsuite.log of both are attached.


Regards,

--- Kiyoshi



----- Original Message -----
> From: Akim Demaille <address@hidden>
> To: Kiyoshi KANAZAWA <address@hidden>
> Cc: Bison Bugs <address@hidden>; Bison Patches <address@hidden>
> Date: 2018/10/31, Wed 03:57
> Subject: Re: bison-3.2 make fails on Solaris 11.3 x86/64
> 
> 
> 
>>  Le 30 oct. 2018 à 09:49, Kiyoshi KANAZAWA 
> <address@hidden> a écrit :
>> 
>>  Hello,
>> 
>>  make passed with bison-3.2.3-5d07f.
>> 
>>  479: C++ GLR parser identifier shadowing             FAILED (c++.at:1332)
> 
> This is:
> 
>>  #                             -*- compilation -*-
>>  479. c++.at:1293: testing C++ GLR parser identifier shadowing ...
>>  ./c++.at:1331: bison -fno-caret -o input.cc input.yy
>>  ======== Testing with C++ standard flags: ''
>>  ./c++.at:1332: $BISON_CXX_WORKS
>>  stderr:
>>  stdout:
>>  ./c++.at:1332: $CXX $CXXFLAGS $CPPFLAGS  $LDFLAGS -o input input.cc $LIBS
>>  stderr:
>>  stdout:
>>  ======== Testing with C++ standard flags: '-std=c++98'
>>  ./c++.at:1332: $BISON_CXX_WORKS
>>  stderr:
>>  stdout:
>>  ./c++.at:1332: $CXX $CXXFLAGS $CPPFLAGS  $LDFLAGS -o input input.cc $LIBS
>>  stderr:
>>  stdout:
>>  ======== Testing with C++ standard flags: '-std=c++03'
>>  ./c++.at:1332: $BISON_CXX_WORKS
>>  stderr:
>>  stdout:
>>  ./c++.at:1332: $CXX $CXXFLAGS $CPPFLAGS  $LDFLAGS -o input input.cc $LIBS
>>  stderr:
>>  stdout:
>>  ======== Testing with C++ standard flags: '-std=c++11'
>>  ./c++.at:1332: $BISON_CXX_WORKS
>>  stderr:
>>  stdout:
>>  ./c++.at:1332: $CXX $CXXFLAGS $CPPFLAGS  $LDFLAGS -o input input.cc $LIBS
>>  stderr:
>>  stdout:
>>  ======== Testing with C++ standard flags: '-std=c++14'
>>  ./c++.at:1332: $BISON_CXX_WORKS
>>  stderr:
>>  stdout:
>>  ./c++.at:1332: $CXX $CXXFLAGS $CPPFLAGS  $LDFLAGS -o input input.cc $LIBS
>>  stderr:
>>  stdout:
>>  ======== Testing with C++ standard flags: '-std=c++17'
>>  ./c++.at:1332: $BISON_CXX_WORKS
>>  stderr:
>>  stdout:
>>  ./c++.at:1332: $CXX $CXXFLAGS $CPPFLAGS  $LDFLAGS -o input input.cc $LIBS
>>  stderr:
>>  input.cc:837:8: error: '_Noreturn' does not name a type
>>   static _Noreturn void
>>          ^~~~~~~~~
>>  input.cc:845:8: error: '_Noreturn' does not name a type
>>   static _Noreturn void
>>          ^~~~~~~~~
>>  input.cc: In function 'void yyexpandGLRStack(yyGLRStack*)':
>>  input.cc:1226:5: error: 'yyMemoryExhausted' was not declared in 
> this scope
>>       yyMemoryExhausted (yystackp);
>>       ^~~~~~~~~~~~~~~~~
>>  input.cc:1232:5: error: 'yyMemoryExhausted' was not declared in 
> this scope
>>       yyMemoryExhausted (yystackp);
>>       ^~~~~~~~~~~~~~~~~
>>  input.cc: In function 'std::size_t yysplitStack(yyGLRStack*, 
> std::size_t)':
>>  input.cc:1568:9: error: 'yyMemoryExhausted' was not declared in 
> this scope
>>           yyMemoryExhausted (yystackp);
>>           ^~~~~~~~~~~~~~~~~
>>  input.cc:1576:9: error: 'yyMemoryExhausted' was not declared in 
> this scope
>>           yyMemoryExhausted (yystackp);
>>           ^~~~~~~~~~~~~~~~~
>>  input.cc:1584:9: error: 'yyMemoryExhausted' was not declared in 
> this scope
>>           yyMemoryExhausted (yystackp);
>>           ^~~~~~~~~~~~~~~~~
>>  input.cc: In function 'void yyrecoverSyntaxError(yyGLRStack*, 
> yy::parser&)':
>>  input.cc:2225:11: error: 'yyFail' was not declared in this scope
>>             yyFail (yystackp, yyparser, YY_NULLPTR);
>>             ^~~~~~
>>  input.cc:2225:11: note: suggested alternative: 'yyfill'
>>             yyFail (yystackp, yyparser, YY_NULLPTR);
>>             ^~~~~~
>>             yyfill
>>  input.cc:2262:5: error: 'yyFail' was not declared in this scope
>>       yyFail (yystackp, yyparser, YY_NULLPTR);
>>       ^~~~~~
>>  input.cc:2262:5: note: suggested alternative: 'yyfill'
>>       yyFail (yystackp, yyparser, YY_NULLPTR);
>>       ^~~~~~
>>       yyfill
>>  input.cc:2296:5: error: 'yyFail' was not declared in this scope
>>       yyFail (yystackp, yyparser, YY_NULLPTR);
>>       ^~~~~~
>>  input.cc:2296:5: note: suggested alternative: 'yyfill'
>>       yyFail (yystackp, yyparser, YY_NULLPTR);
>>       ^~~~~~
>>       yyfill
>>  input.cc: In function 'int yyparse(yy::parser&)':
>>  input.cc:2446:17: error: 'yyFail' was not declared in this scope
>>                   yyFail (&yystack, yyparser, YY_("syntax 
> error"));
>>                   ^~~~~~
>>  input.cc:2446:17: note: suggested alternative: 'yyfill'
>>                   yyFail (&yystack, yyparser, YY_("syntax 
> error"));
>>                   ^~~~~~
>>                   yyfill
>>  stdout:
>>  ./c++.at:1332: exit code was 1, expected 0
>>  479. c++.at:1293: 479. C++ GLR parser identifier shadowing (c++.at:1293): 
> FAILED (c++.at:1332)
> 
> 
> So I propose the patch below.  Here, the real testsuite.log would probably
> have been useful.
> 
> Please report the result on this tarball:
> 
> https://www.lrde.epita.fr/~akim/private/bison/bison-3.2.5-bd7ae.tar.gz
> https://www.lrde.epita.fr/~akim/private/bison/bison-3.2.5-bd7ae.tar.xz
> 
> Thanks in advance.
> 
> 
> commit bd7aebb8b002f0706bfa771f22c01f243fa7fbcf
> Author: Akim Demaille <address@hidden>
> Date:   Tue Oct 30 19:09:46 2018 +0100
> 
>     c: update the definition of _Noreturn
>     
>     Does not work on Solaris 11.3 x86/64:
>     
>         479. c++.at:1293: testing C++ GLR parser identifier shadowing ...
>         ======== Testing with C++ standard flags: '-std=c++17'
>         ./c++.at:1332: $BISON_CXX_WORKS
>         stderr:
>         stdout:
>         ./c++.at:1332: $CXX $CXXFLAGS $CPPFLAGS  $LDFLAGS -o input input.cc 
> $LIBS
>         stderr:
>         input.cc:837:8: error: '_Noreturn' does not name a type
>          static _Noreturn void
>                 ^~~~~~~~~
>         input.cc:845:8: error: '_Noreturn' does not name a type
>          static _Noreturn void
>                 ^~~~~~~~~
>     
>     Reported by Kiyoshi Kanazawa.
>     http://lists.gnu.org/archive/html/bug-bison/2018-10/msg00051.html
>     
>     * data/c.m4 (b4_attribute_define): Use the snippet which is currently
>     in gnulib's m4/gnulib-common.m4 (which seems a little more advanced
>     than lib/_Noreturn.h).
> 
> diff --git a/data/c.m4 b/data/c.m4
> index 2df76e77..04df3ffc 100644
> --- a/data/c.m4
> +++ b/data/c.m4
> @@ -227,12 +227,16 @@ m4_define([b4_attribute_define],
> # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
> #endif
> 
> -]m4_bmatch([$1], [\bnoreturn\b], [[#if !defined _Noreturn \
> -     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
> -# if defined _MSC_VER && 1200 <= _MSC_VER
> +]m4_bmatch([$1], [\bnoreturn\b], [[/* The _Noreturn keyword of C11.  */
> +#if ! (defined _Noreturn \
> +       || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__))
> +# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) 
> \
> +      || 0x5110 <= __SUNPRO_C)
> +#  define _Noreturn __attribute__ ((__noreturn__))
> +# elif defined _MSC_VER && 1200 <= _MSC_VER
> #  define _Noreturn __declspec (noreturn)
> # else
> -#  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
> +#  define _Noreturn
> # endif
> #endif
> 

Attachment: bison-3.2.5-bd7ae-testsuite.log.xz
Description: Binary data

Attachment: bison-3.1-testsuite.log.xz
Description: Binary data


reply via email to

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