Compare commits
No commits in common. "rawhide" and "f40" have entirely different histories.
2 changed files with 2 additions and 83 deletions
|
|
@ -1,69 +0,0 @@
|
|||
https://bugs.gentoo.org/935754
|
||||
https://lists.gnu.org/archive/html/bison-patches/2024-07/msg00000.html
|
||||
|
||||
* data/skeletons/glr2.cc (yyundeleteLastStack): Recover
|
||||
yylookaheadNeeds stack entry also, to prevent desyncing the sizes
|
||||
of yystates and yylookaheadNeeds.
|
||||
(class glr_state_set): New field yylookaheadNeedLastDeleted,
|
||||
tracks lookahead need of last deleted state.
|
||||
(yymarkStackDeleted): Save yylookaheadNeeds also.
|
||||
---
|
||||
Hi!
|
||||
|
||||
GCC 15 has added bounds-checks to vector<bool> when assertions are
|
||||
enabled. This has caught a bug in Bison. See bug referenced above.
|
||||
|
||||
Now, WRT the fix: I am not sure of its correctness, but it appears to
|
||||
pass tests and everything seems to indicate that the presumption it is
|
||||
based on is correct. That presumption is that the two stacks mentioned
|
||||
above (yylookaheadNeeds and yystates) ought to be the same size. I
|
||||
inferred this because all other locations that alter the size of the two
|
||||
vectors appear to do so in lock-step.
|
||||
|
||||
TIA, have a lovely day.
|
||||
|
||||
data/skeletons/glr2.cc | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/data/skeletons/glr2.cc b/data/skeletons/glr2.cc
|
||||
index 970ccfdf..8b962d6f 100644
|
||||
--- a/data/skeletons/glr2.cc
|
||||
+++ b/data/skeletons/glr2.cc
|
||||
@@ -1080,7 +1080,10 @@ namespace
|
||||
{
|
||||
size_t k = yyk.uget ();
|
||||
if (yystates[k] != YY_NULLPTR)
|
||||
- yylastDeleted = yystates[k];
|
||||
+ {
|
||||
+ yylastDeleted = yystates[k];
|
||||
+ yylookaheadNeedLastDeleted = yylookaheadNeeds[k];
|
||||
+ }
|
||||
yystates[k] = YY_NULLPTR;
|
||||
}
|
||||
|
||||
@@ -1093,6 +1096,7 @@ namespace
|
||||
if (yylastDeleted == YY_NULLPTR || !yystates.empty ())
|
||||
return;
|
||||
yystates.push_back (yylastDeleted);
|
||||
+ yylookaheadNeeds.push_back (yylookaheadNeedLastDeleted);
|
||||
YYCDEBUG << "Restoring last deleted stack as stack #0.\n";
|
||||
clearLastDeleted ();
|
||||
}
|
||||
@@ -1102,6 +1106,7 @@ namespace
|
||||
void
|
||||
yyremoveDeletes ()
|
||||
{
|
||||
+ YYASSERT(yystates.size () == yylookaheadNeeds.size ());
|
||||
size_t newsize = yystates.size ();
|
||||
/* j is the number of live stacks we have seen. */
|
||||
for (size_t i = 0, j = 0; j < newsize; ++i)
|
||||
@@ -1160,6 +1165,7 @@ namespace
|
||||
|
||||
/** The last stack we invalidated. */
|
||||
glr_state* yylastDeleted;
|
||||
+ bool yylookaheadNeedLastDeleted;
|
||||
}; // class glr_state_set
|
||||
} // namespace
|
||||
|
||||
--
|
||||
2.45.2
|
||||
16
bison.spec
16
bison.spec
|
|
@ -1,7 +1,7 @@
|
|||
Summary: A GNU general-purpose parser generator
|
||||
Name: bison
|
||||
Version: 3.8.2
|
||||
Release: 11%{?dist}
|
||||
Release: 8%{?dist}
|
||||
|
||||
# An SPDX license string check done against bison-3.8.2 found strings
|
||||
# corresponding to the following licenses across the bison source tree:
|
||||
|
|
@ -14,9 +14,6 @@ Source1: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig
|
|||
# gpg2 --export --export-options export-minimal 7DF84374B1EE1F9764BBE25D0DDCAA3278D5264E > gpgkey-7DF84374B1EE1F9764BBE25D0DDCAA3278D5264E.gpg
|
||||
Source2: gpgkey-7DF84374B1EE1F9764BBE25D0DDCAA3278D5264E.gpg
|
||||
|
||||
# from Gentoo sys-devel/bison
|
||||
Patch0: bison-3.8.2-gcc15-glibcxx-assertions.patch
|
||||
|
||||
# testsuite dependency
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: autoconf
|
||||
|
|
@ -83,7 +80,7 @@ Bison manual section for more information.
|
|||
|
||||
%prep
|
||||
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
||||
%autosetup -p1
|
||||
%autosetup
|
||||
|
||||
%build
|
||||
%configure
|
||||
|
|
@ -127,15 +124,6 @@ gzip -9nf ${RPM_BUILD_ROOT}%{_infodir}/bison.info*
|
|||
%{_libdir}/liby.a
|
||||
|
||||
%changelog
|
||||
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.2-11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.2-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.2-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Tue Jan 23 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.2-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue