<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/2da42f34e4b288c484ce5f4765338ede4aa929b2">https://github.com/macports/macports-ports/commit/2da42f34e4b288c484ce5f4765338ede4aa929b2</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 2da42f34e4b re2c: Fix build with old compilers
</span>2da42f34e4b is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 2da42f34e4b288c484ce5f4765338ede4aa929b2
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Sat Jul 4 08:55:44 2020 -0500
<span style='display:block; white-space:pre;color:#404040;'> re2c: Fix build with old compilers
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/60755
</span><span style='display:block; white-space:pre;color:#404040;'> See: https://trac.macports.org/ticket/58993
</span>---
devel/re2c/Portfile | 9 +++++++--
devel/re2c/files/oldcompilers.patch | 14 ++++++++++++++
2 files changed, 21 insertions(+), 2 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/re2c/Portfile b/devel/re2c/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5903211876e..444cb605d73 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/re2c/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/re2c/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -28,10 +28,15 @@ use_xz yes
</span>
depends_build port:bison
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles oldcompilers.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> configure.args --disable-silent-rules
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://trac.macports.org/ticket/58993
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist *gcc-3.* *gcc-4.*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# If future versions exhibit compile errors like
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# "error: no match for 'operator!='" (gcc-4.2) or
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# "error: invalid operands to binary expression" (clang-3.4)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# with regard to ".rend()" it can possibly be fixed. See
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/skvadrik/re2c/issues/198 for discussion and fix.
</span>
test.run yes
test.target check
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/re2c/files/oldcompilers.patch b/devel/re2c/files/oldcompilers.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..258c4ac7c8e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/re2c/files/oldcompilers.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fix build failure with old compilers like gcc 4.2 and clang 3.4.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/skvadrik/re2c/pull/292
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/dfa/closure_posix.h.orig 2019-07-13 05:08:20.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/dfa/closure_posix.h 2020-07-04 08:19:09.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -125,7 +125,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // init: push configurations ordered by POSIX precedence (highest on top)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ state.clear();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::sort(reach.begin(), reach.end(), cmp_gor1_t<ctx_t>(ctx));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for (typename ctx_t::rcconfiter_t c = reach.rbegin(); c != reach.rend(); ++c) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ typename ctx_t::rcconfiter_t c = reach.rbegin(), e = reach.rend();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for (; c != e; ++c) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ nfa_state_t *q = c->state;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (q->clos == NOCLOS) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ q->clos = static_cast<uint32_t>(state.size());
</span></pre><pre style='margin:0'>
</pre>