<pre style='margin:0'>
Jeremy Huddleston Sequoia (jeremyhu) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/2b903ef92fbfc7f70f25222d83451de3d199c1f0">https://github.com/macports/macports-ports/commit/2b903ef92fbfc7f70f25222d83451de3d199c1f0</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 2b903ef gprolog: Remove clang blacklisting
</span>2b903ef is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 2b903ef92fbfc7f70f25222d83451de3d199c1f0
</span>Author: Jeremy Huddleston Sequoia <jeremyhu@macports.org>
AuthorDate: Sat Dec 24 22:07:16 2016 -0800
<span style='display:block; white-space:pre;color:#404040;'> gprolog: Remove clang blacklisting
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@macports.org>
</span>---
lang/gprolog/Portfile | 13 +-
lang/gprolog/files/cflags.patch | 4 +-
lang/gprolog/files/clang.patch | 259 ++++++++++++++++++++++++++++++++++++++++
3 files changed, 267 insertions(+), 9 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gprolog/Portfile b/lang/gprolog/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 663e31f..6434b49 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gprolog/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gprolog/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,8 +1,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# $Id$
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> PortSystem 1.0
name gprolog
version 1.4.4
<span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 1
</span>
categories lang
maintainers logtalk.org:pmoura
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -36,7 +35,11 @@ worksrcdir ${name}-${version}/src
</span> use_parallel_build no
universal_variant no
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles cflags.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patch.dir ${worksrcpath}/..
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patch.pre_args -p1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cflags.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang.patch
</span>
use_autoconf yes
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -46,10 +49,6 @@ configure.args \
</span> --with-examples-dir=${prefix}/share/${name}-${version} \
--with-doc-dir=${prefix}/share/${name}-${version}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://trac.macports.org/ticket/30813
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# TODO: Upstream bug?
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist-append *clang* *llvm-gcc-4.2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> post-destroot {
foreach cmd {fd2c gplc gprolog hexgplc ma2asm pl2wam wam2ma} {
system "ln -fs ../lib/${name}-${version}/bin/${cmd} ${destroot}${prefix}/bin/${cmd}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gprolog/files/cflags.patch b/lang/gprolog/files/cflags.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index 206ae29..1f11467 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gprolog/files/cflags.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gprolog/files/cflags.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,5 +1,5 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure.in.orig 2013-01-30 00:41:04.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure.in 2013-01-30 00:41:54.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/configure.in 2013-01-30 00:41:04.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/configure.in 2013-01-30 00:41:54.000000000 -0800
</span> @@ -464,16 +464,13 @@ dnl -fomit-frame-pointer does not work o
CFLAGS_MACHINE=
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gprolog/files/clang.patch b/lang/gprolog/files/clang.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..0eb84f1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gprolog/files/clang.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,259 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://gist.githubusercontent.com/jacknagel/7549696/raw/6d7ae0ba54eabb8a5dd123a29c17cf88a8822cea/gprolog-clang.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/examples/ExamplesFD/langford.pl b/examples/ExamplesFD/langford.pl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9434b9d..62198dd 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/examples/ExamplesFD/langford.pl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/examples/ExamplesFD/langford.pl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -29,29 +29,63 @@ q :-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ nl.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-langford(N, L) :-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Find an assignment of [X1, X2, ..., Xn] (Xi is the position of the first occurrence of i).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * For each Xi the constraints are:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Xi in 1..(N+N-1-i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * if each pair Xi, Xj (i < j) the following holds:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Xj != Xi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Xj != Xi + i + 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Xj != Xi - j - 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Xj != Xi + i - j
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * This can be achieved using #=# in set_cstr (but slower at the end)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Here we keep the list of positions Ui (resp. Vi) is the position of the first (resp. second) occurrence of i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * It is possible to only keep one list (i.e. Ui) but seems slower (see file LANGFORD.pl)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++langford(N, LD) :-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ( N mod 4 =:= 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ; N mod 4 =:= 3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ), !,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ length(U, N),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ length(V, N),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- append(U, V, UV),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ append(U, V, L),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ N2 is N * 2,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fd_set_vector_max(N2),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- fd_domain(UV, 1, N2),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- fd_all_different(UV),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fd_domain(L, 1, N2),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fd_all_different(L),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set_cstr(U, V, 1),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- symetric(N, N2, UV),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ symetric(N, N2, L),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ % fd_labeling(U, [variable_method(random), value_method(random)]), % sometimes much better
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fd_labeling(U, [variable_method(ff), value_method(max)]),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- decode(1, N, UV, L).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ decode(U, N2, LD).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Find an assignment of [X1, X2, ..., Xn] (Xi is the position of the first occurrence of i).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * For each Xi the constraints are:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Xi in 1..(N+N-1-i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * if each pair Xi, Xj (i < j) the following holds:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Xi != Xj
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Xj != Xi + i + 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Xi != Xj + j + 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Xi + i + 1 != Xj + j + 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * This can be achieved using #=# in set_cstr (but slower at the end)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set_cstr([], [], _).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set_cstr([X|U], [Y|V], I) :-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ I1 is I + 1,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- Y - X #= I1, % also avoid some symetries since enforces X < Y
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Y #= X + I1, % also avoid some symetries since enforces X < Y
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++% Y #=# X + I1, % better pruning but slower for big values
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set_cstr(U, V, I1).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -62,17 +96,20 @@ symetric(N, N2, UV) :-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-decode(I, N, _, []) :-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- I > N * 2, !.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-decode(I, N, UV, [Z1|L]) :-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++decode(L, N2, LD) :-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ length(LD, N2),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ decode1(L, 1, LD).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++decode1([], _, _).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++decode1([X|L], I, LD) :-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ nth(X, LD, I),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Y is X + I + 1,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ nth(Y, LD, I),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ I1 is I + 1,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- nth(Z, UV, I),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ( Z > N ->
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- Z1 is Z - N
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ; Z1 = Z
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- decode(I1, N, UV, L).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ decode1(L, I1, LD).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/src/BipsPl/arith_inl_c.c b/src/BipsPl/arith_inl_c.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index deda82d..13f481a 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/BipsPl/arith_inl_c.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/BipsPl/arith_inl_c.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -485,10 +485,10 @@ Pl_Succ_2(WamWord x_word, WamWord y_word)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ double d; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (Tag_Is_INT(x)) /* error case */ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (Flag_Value(strict_iso)) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (Flag_Value(strict_iso)) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Pl_Err_Type(pl_type_float, x); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return x; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return x; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ d = Pl_Obtain_Float(UnTag_FLT(x)); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -499,7 +499,11 @@ Pl_Succ_2(WamWord x_word, WamWord y_word)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define FtoF(x, c_op) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ double d; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (Tag_Is_INT(x)) /* error case */ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- Pl_Err_Type(pl_type_float, x); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Pl_Err_Type(pl_type_float, x); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return x; /* for clang (avoid d uninit) */ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ } \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ d = Pl_Obtain_Float(UnTag_FLT(x)); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return Make_Tagged_Float(c_op(d))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/src/BipsPl/scan_supp.c b/src/BipsPl/scan_supp.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1ce1897..0d8ae08 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/BipsPl/scan_supp.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/BipsPl/scan_supp.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -341,7 +341,7 @@ static void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Scan_Number(StmInf *pstm, Bool integer_only)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int lg;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int radix;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int radix, radix_c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ char *p, *f;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int c_orig0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -403,8 +403,14 @@ Scan_Number(StmInf *pstm, Bool integer_only)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ c = '\'';
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (c < 0) /* \ newline EOF newline tab other error */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (c == -2) /* \ newline */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Unget_Last_Char; /* push back \n */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Pl_Stream_Ungetc('\\', pstm); /* push back \ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Pl_Stream_Ungetc('\'', pstm); /* push back ' */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (c < 0) /* \ newline EOF newline tab other error */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Unget_Last_Char;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -412,12 +418,14 @@ Scan_Number(StmInf *pstm, Bool integer_only)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pl_token.line = pstm->line_count + 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pl_token.col = pstm->line_pos + 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ err_msg = "character expected here";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pl_token.int_num = c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ radix_c = c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ radix = (c == 'b') ? (f = "01", 2) :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (c == 'o') ? (f = "01234567", 8)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ : (f = "0123456789abcdefABCDEF", 16);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -430,6 +438,15 @@ Scan_Number(StmInf *pstm, Bool integer_only)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *p = '\0';
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* empty sequence after radix: maybe an operator beginnig with b or o or x:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * op(9,yfx,bop) then 0bop 2 is 0 bop 2 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (p == pl_token.name)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Unget_Last_Char; /* push back last char */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Pl_Stream_Ungetc(radix_c, pstm); /* push back \ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pl_token.int_num = Str_To_PlLong(pl_token.name, &p, radix);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ goto push_back;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/src/BipsPl/stream_c.c b/src/BipsPl/stream_c.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index af65cd1..b769726 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/BipsPl/stream_c.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/BipsPl/stream_c.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -208,7 +208,7 @@ Pl_Open_3(WamWord source_sink_word, WamWord mode_word, WamWord stm_word)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ WamWord word, tag_mask;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int atom;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int mode;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int mode = STREAM_MODE_READ; /* to avoid clang warning */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Bool text;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ StmProp prop;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ char *path;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1193,7 +1193,7 @@ Pl_Seek_4(WamWord sora_word, WamWord whence_word, WamWord offset_word,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int stm;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ StmInf *pstm;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int whence;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int whence = SEEK_SET; /* to avoid clang warning */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PlLong offset;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int atom;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PlLong p[4];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/src/EnginePl/engine1.c b/src/EnginePl/engine1.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 400dac4..d6acb33 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/EnginePl/engine1.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/EnginePl/engine1.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -65,7 +65,6 @@ WamWord *pl_ensure_reserved;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * global variable to ensure the stack is not removed. *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *-------------------------------------------------------------------------*/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-static long x;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Pl_Call_Compiled(CodePtr codep)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -116,9 +115,12 @@ Pl_Call_Compiled(CodePtr codep)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pl_ensure_reserved = (WamWord *) rb; /* to avoid gcc warning */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #elif defined(M_x86_64_darwin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ register WamWord *rb asm("%r12") = pl_reg_bank;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pl_ensure_reserved = (WamWord *) rb; /* to avoid gcc warning */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __llvm__ /* the above does not assign r12 now by Apple gcc = llvm clang */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ asm("movq _pl_reg_bank@GOTPCREL(%rip), %r12");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ asm("movq (%r12), %r12");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/src/Linedit/terminal.c b/src/Linedit/terminal.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 89c0b21..ef5f8a8 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/Linedit/terminal.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/Linedit/terminal.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -304,6 +304,7 @@ Parse_Env_Var(void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fd_out = strtol(p, NULL, 10);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ q = buff;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ while(*p && isprint(*p) && !isspace(*p))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *q++ = *p++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>
</pre>