Resolves: # 1583179
- _IO_ftrylockfile is obsolete as part of the removal of libio.h - Build requires gcc-c++ to fix build failure. (#1603491) - Update to bison 3.0.5 (#1583179)
This commit is contained in:
parent
a0be278fb0
commit
44fa350fc5
1
.gitignore
vendored
1
.gitignore
vendored
@ -9,3 +9,4 @@ bison-*/
|
|||||||
/bison-2.7.tar.xz
|
/bison-2.7.tar.xz
|
||||||
/bison-3.0.2.tar.xz
|
/bison-3.0.2.tar.xz
|
||||||
/bison-3.0.4.tar.xz
|
/bison-3.0.4.tar.xz
|
||||||
|
/bison-3.0.5.tar.xz
|
||||||
|
@ -1,151 +0,0 @@
|
|||||||
commit 952416114729b95209dccfc4edacfc1ff13b4e82
|
|
||||||
Author: Akim Demaille <akim@lrde.epita.fr>
|
|
||||||
Date: Mon Jan 26 18:23:12 2015 +0100
|
|
||||||
|
|
||||||
tests: c++: fix symbol lookup issue
|
|
||||||
|
|
||||||
Sun C 5.13 SunOS_sparc 2014/10/20 reports errors on tests 430-432.
|
|
||||||
|
|
||||||
Reported by Dennis Clarke.
|
|
||||||
<http://lists.gnu.org/archive/html/bug-bison/2015-01/msg00087.html>
|
|
||||||
|
|
||||||
* tests/c++.at (Variants): Be sure to emit operator<< before using it:
|
|
||||||
use "%code top" rather than "%code".
|
|
||||||
Prefer std::vector to std::list.
|
|
||||||
Do not define anything in std::, to avoid undefined behavior.
|
|
||||||
|
|
||||||
diff --git a/tests/c++.at b/tests/c++.at
|
|
||||||
index 55d7d40..60292f4 100644
|
|
||||||
--- a/tests/c++.at
|
|
||||||
+++ b/tests/c++.at
|
|
||||||
@@ -96,7 +96,7 @@ AT_SETUP([C++ Variant-based Symbols])
|
|
||||||
AT_KEYWORDS([variant])
|
|
||||||
|
|
||||||
AT_BISON_OPTION_PUSHDEFS([%skeleton "lalr1.cc" %debug $1])
|
|
||||||
-# Store strings and integers in a list of strings.
|
|
||||||
+# Store strings and integers in a vector of strings.
|
|
||||||
AT_DATA_GRAMMAR([list.y],
|
|
||||||
[[%skeleton "lalr1.cc"
|
|
||||||
%define api.value.type variant
|
|
||||||
@@ -114,20 +114,20 @@ AT_DATA_GRAMMAR([list.y],
|
|
||||||
}
|
|
||||||
|
|
||||||
%token <int> INT "int"
|
|
||||||
-%type < std::list<int> > exp
|
|
||||||
+%type < std::vector<int> > exp
|
|
||||||
|
|
||||||
%printer { yyo << $$; } <int>
|
|
||||||
%printer
|
|
||||||
{
|
|
||||||
- for (std::list<int>::const_iterator i = $$.begin (); i != $$.end (); ++i)
|
|
||||||
+ for (std::vector<int>::const_iterator i = $$.begin (); i != $$.end (); ++i)
|
|
||||||
{
|
|
||||||
if (i != $$.begin ())
|
|
||||||
yyo << ", ";
|
|
||||||
yyo << *i;
|
|
||||||
}
|
|
||||||
- } < std::list<int> >
|
|
||||||
+ } < std::vector<int> >
|
|
||||||
|
|
||||||
-%code requires { #include <list> }
|
|
||||||
+%code requires { #include <vector> }
|
|
||||||
%code { int yylex (yy::parser::semantic_type* yylval); }
|
|
||||||
|
|
||||||
%%
|
|
||||||
@@ -185,7 +185,7 @@ m4_pushdef([AT_TEST],
|
|
||||||
[AT_SETUP([Variants $1])
|
|
||||||
|
|
||||||
AT_BISON_OPTION_PUSHDEFS([%debug $1])
|
|
||||||
-# Store strings and integers in a list of strings.
|
|
||||||
+# Store strings and integers in a vector of strings.
|
|
||||||
AT_DATA_GRAMMAR([list.y],
|
|
||||||
[[%debug
|
|
||||||
%define api.value.type variant
|
|
||||||
@@ -194,29 +194,25 @@ AT_DATA_GRAMMAR([list.y],
|
|
||||||
|
|
||||||
%code requires // code for the .hh file
|
|
||||||
{
|
|
||||||
-#include <list>
|
|
||||||
+#include <vector>
|
|
||||||
#include <string>
|
|
||||||
-typedef std::list<std::string> strings_type;
|
|
||||||
+typedef std::vector<std::string> strings_type;
|
|
||||||
}
|
|
||||||
|
|
||||||
-%code // code for the .cc file
|
|
||||||
+%code top // code for the .cc file.
|
|
||||||
{
|
|
||||||
#include <cstdlib> // abort, getenv
|
|
||||||
#include <iostream>
|
|
||||||
+#include <vector>
|
|
||||||
#include <sstream>
|
|
||||||
+#include <string>
|
|
||||||
|
|
||||||
- namespace yy
|
|
||||||
- {
|
|
||||||
- static]AT_TOKEN_CTOR_IF([[
|
|
||||||
- parser::symbol_type yylex ()]], [[
|
|
||||||
- parser::token_type yylex (parser::semantic_type* yylval]AT_LOCATION_IF([,
|
|
||||||
- parser::location_type* yylloc])[)]])[;
|
|
||||||
- }
|
|
||||||
|
|
||||||
- // Printing a list of strings (for %printer).
|
|
||||||
- // Koening look up will look into std, since that's an std::list.
|
|
||||||
- namespace std
|
|
||||||
+ typedef std::vector<std::string> strings_type;
|
|
||||||
+
|
|
||||||
+ namespace yy
|
|
||||||
{
|
|
||||||
+ // Must be available early, as is used in %destructor.
|
|
||||||
std::ostream&
|
|
||||||
operator<<(std::ostream& o, const strings_type& s)
|
|
||||||
{
|
|
||||||
@@ -230,16 +226,27 @@ typedef std::list<std::string> strings_type;
|
|
||||||
return o << ')';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+}
|
|
||||||
|
|
||||||
- // Conversion to string.
|
|
||||||
- template <typename T>
|
|
||||||
- inline
|
|
||||||
- std::string
|
|
||||||
- to_string (const T& t)
|
|
||||||
+%code // code for the .cc file.
|
|
||||||
+{
|
|
||||||
+ namespace yy
|
|
||||||
{
|
|
||||||
- std::ostringstream o;
|
|
||||||
- o << t;
|
|
||||||
- return o.str ();
|
|
||||||
+ static]AT_TOKEN_CTOR_IF([[
|
|
||||||
+ parser::symbol_type yylex ()]], [[
|
|
||||||
+ parser::token_type yylex (parser::semantic_type* yylval]AT_LOCATION_IF([,
|
|
||||||
+ parser::location_type* yylloc])[)]])[;
|
|
||||||
+
|
|
||||||
+ // Conversion to string.
|
|
||||||
+ template <typename T>
|
|
||||||
+ inline
|
|
||||||
+ std::string
|
|
||||||
+ to_string (const T& t)
|
|
||||||
+ {
|
|
||||||
+ std::ostringstream o;
|
|
||||||
+ o << t;
|
|
||||||
+ return o.str ();
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -252,10 +259,10 @@ typedef std::list<std::string> strings_type;
|
|
||||||
// Using the template type to exercize its parsing.
|
|
||||||
// Starting with :: to ensure we don't output "<::" which starts by the
|
|
||||||
// digraph for the left square bracket.
|
|
||||||
-%type <::std::list<std::string>> list;
|
|
||||||
+%type <::std::vector<std::string>> list;
|
|
||||||
|
|
||||||
%printer { yyo << $$; }
|
|
||||||
- <int> <::std::string> <::std::list<std::string>>;
|
|
||||||
+ <int> <::std::string> <::std::vector<std::string>>;
|
|
||||||
%destructor { std::cerr << "Destroy: " << $$ << '\n'; } <*>;
|
|
||||||
%destructor { std::cerr << "Destroy: \"" << $$ << "\"\n"; } <::std::string>;
|
|
||||||
%%
|
|
19
bison-3.0.5-gnulib-fseterr.patch
Normal file
19
bison-3.0.5-gnulib-fseterr.patch
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
commit 4af4a4a71827c0bc5e0ec67af23edef4f15cee8e
|
||||||
|
Author: Paul Eggert <address@hidden>
|
||||||
|
Date: Mon Mar 5 10:56:29 2018 -0800
|
||||||
|
|
||||||
|
fflush: adjust to glibc 2.28 libio.h removal
|
||||||
|
(Only part of this commit was backported as needed.)
|
||||||
|
|
||||||
|
diff -Nrup a/lib/fseterr.c b/lib/fseterr.c
|
||||||
|
--- a/lib/fseterr.c 2018-05-08 06:02:48.000000000 -0400
|
||||||
|
+++ b/lib/fseterr.c 2018-08-14 16:06:19.636282264 -0400
|
||||||
|
@@ -29,7 +29,7 @@ fseterr (FILE *fp)
|
||||||
|
/* Most systems provide FILE as a struct and the necessary bitmask in
|
||||||
|
<stdio.h>, because they need it for implementing getc() and putc() as
|
||||||
|
fast macros. */
|
||||||
|
-#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
|
||||||
|
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1
|
||||||
|
/* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||||
|
fp->_flags |= _IO_ERR_SEEN;
|
||||||
|
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
|
16
bison.spec
16
bison.spec
@ -1,17 +1,16 @@
|
|||||||
Summary: A GNU general-purpose parser generator
|
Summary: A GNU general-purpose parser generator
|
||||||
Name: bison
|
Name: bison
|
||||||
Version: 3.0.4
|
Version: 3.0.5
|
||||||
Release: 10%{?dist}
|
Release: 1%{?dist}
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
Source: ftp://ftp.gnu.org/pub/gnu/bison/bison-%{version}.tar.xz
|
Source: ftp://ftp.gnu.org/pub/gnu/bison/bison-%{version}.tar.xz
|
||||||
|
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=948856
|
# Fix errors caused by references to obsolete libio.h
|
||||||
# Submitted for upstream inclusion on 2013-05-17.
|
Patch0: bison-3.0.5-gnulib-fseterr.patch
|
||||||
Patch0: bison-3.0.4-c++-test-failure.patch
|
|
||||||
|
|
||||||
# testsuite dependency
|
# testsuite dependency
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
BuildRequires: flex
|
BuildRequires: flex
|
||||||
|
|
||||||
@ -136,6 +135,11 @@ fi
|
|||||||
%{_libdir}/liby.a
|
%{_libdir}/liby.a
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Aug 14 2018 Patsy Griffin Franklin <pfrankli@redhat.com> - 3.0.5-1
|
||||||
|
- _IO_ftrylockfile is obsolete as part of the removal of libio.h
|
||||||
|
- Build requires gcc-c++ to fix build failure. (#1603491)
|
||||||
|
- Update to bison 3.0.5 (#1583179)
|
||||||
|
|
||||||
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.4-10
|
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.4-10
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user