<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>