Merge branch 'master' of gitosis@yap.dcc.fc.up.pt:yap-6

This commit is contained in:
Ricardo Rocha 2009-06-17 17:16:31 +01:00
commit 3397e97732
16 changed files with 106 additions and 70 deletions

View File

@ -1628,7 +1628,7 @@ Yap_absmi(int inp)
/* Clause *cl = (Clause *)PREG->u.EC.ClBase;
PREG->u.EC.ClTrail = TR-(tr_fr_ptr)Yap_TrailBase;
PREG->u.EC.ClENV = LCL0-YENV;*/
PREG->u.EC.ClENV = LCL0-YREG;*/
cl->ClFlags |= InUseMask;
TRAIL_CLREF(cl);
}
@ -1680,7 +1680,7 @@ Yap_absmi(int inp)
/* Clause *cl = (Clause *)PREG->u.EC.ClBase;
PREG->u.EC.ClTrail = TR-(tr_fr_ptr)Yap_TrailBase;
PREG->u.EC.ClENV = LCL0-YENV;*/
PREG->u.EC.ClENV = LCL0-YREG;*/
cl->ClFlags |= InUseMask;
TRAIL_CLREF(cl);
}
@ -2759,7 +2759,7 @@ Yap_absmi(int inp)
SREG = (CELL *)RepPredProp(Yap_GetPredPropByAtom(AtomFail,0));
/* make sure we have the correct environment for continuation */
ENV = B->cp_env;
YENV = (CELL *)B;
YREG = (CELL *)B;
goto creep;
}
/* don't do debugging and friends here */
@ -3185,8 +3185,8 @@ Yap_absmi(int inp)
/* initialize ccp */
#define NORM_CP(CP) ((choiceptr)(CP))
YENV = (CELL *) (NORM_CP(YENV) - 1);
ccp = NORM_CP(YENV);
YREG = (CELL *) (NORM_CP(YREG) - 1);
ccp = NORM_CP(YREG);
store_yaam_reg_cpdepth(ccp);
ccp->cp_tr = TR;
ccp->cp_ap = BEAM_RETRY_CODE;
@ -7713,7 +7713,7 @@ Yap_absmi(int inp)
SET_BB(B_YREG);
ENDCACHE_Y();
Yap_PrologMode = UserCCallMode;
ASP = YENV;
ASP = YREG;
/* for slots to work */
Yap_StartSlots();
saveregs();
@ -7762,7 +7762,7 @@ Yap_absmi(int inp)
ENDCACHE_Y();
Yap_PrologMode = UserCCallMode;
ASP = YENV;
ASP = YREG;
/* for slots to work */
Yap_StartSlots();
saveregs();
@ -8345,7 +8345,7 @@ Yap_absmi(int inp)
ap->LastCallOfPred = LUCALL_EXEC;
/* fprintf(stderr,"R %x--%d--%ul\n",ap,ap->TimeStampOfPred,ap->ArityOfPE);*/
}
*--YENV = MkIntegerTerm(ap->TimeStampOfPred);
*--YREG = MkIntegerTerm(ap->TimeStampOfPred);
/* fprintf(stderr,"> %p/%p %d %d\n",cl,ap,ap->TimeStampOfPred,PREG->u.Ills.s);*/
PREG = PREG->u.Ills.l1;
/* indicate the indexing code is being used */
@ -8369,7 +8369,6 @@ Yap_absmi(int inp)
UInt timestamp;
CACHE_Y(YREG);
timestamp = IntegerOfTerm(S_YREG[0]);
/* fprintf(stderr,"+ %p/%p %d %d %d--%u\n",PREG,PREG->u.OtaLl.d->ClPred,timestamp,PREG->u.OtaLl.d->ClPred->TimeStampOfPred,PREG->u.OtaLl.d->ClTimeStart,PREG->u.OtaLl.d->ClTimeEnd);*/
/* Point AP to the code that follows this instruction */

View File

@ -583,8 +583,8 @@ a_cmp(Term t1, Term t2)
} else {
return FALSE;
}
} else if (IsBigIntTerm(t1)) {
#ifdef USE_GMP
} else if (IsBigIntTerm(t1)) {
{
MP_INT *b1 = Yap_BigIntOfTerm(t1);
t2 = Yap_Eval(t2);

View File

@ -117,7 +117,7 @@ STATIC_PROTO (int ConsolePipeGetc, (int));
STATIC_PROTO (int SocketGetc, (int));
STATIC_PROTO (int ConsoleSocketGetc, (int));
#endif
#if HAVE_LIBREADLINE
#if HAVE_LIBREADLINE && HAVE_READLINE_READLINE_H
STATIC_PROTO (int ReadlineGetc, (int));
STATIC_PROTO (int ReadlinePutc, (int,int));
#endif
@ -247,7 +247,7 @@ Yap_GetFreeStreamDForReading(void)
static int
yap_fflush(int sno)
{
#if HAVE_LIBREADLINE
#if HAVE_LIBREADLINE && HAVE_READLINE_READLINE_H
if (Stream[sno].status & Tty_Stream_f &&
Stream[sno].status & Output_Stream_f) {
if (ReadlinePos != ReadlineBuf) {
@ -349,7 +349,7 @@ p_always_prompt_user(void)
s->stream_getc = ConsoleSocketGetc;
} else
#endif
#if HAVE_LIBREADLINE
#if HAVE_LIBREADLINE && HAVE_READLINE_READLINE_H
if (s->status & Tty_Stream_f) {
s->stream_getc = ReadlineGetc;
if (Stream[0].status & Tty_Stream_f &&
@ -412,7 +412,7 @@ InitFileIO(StreamDesc *s)
s->stream_putc = ConsolePutc;
s->stream_wputc = put_wchar;
/* if a tty have a special routine to call readline */
#if HAVE_LIBREADLINE
#if HAVE_LIBREADLINE && HAVE_READLINE_READLINE_H
if (s->status & Tty_Stream_f) {
if (Stream[0].status & Tty_Stream_f &&
is_same_tty(s->u.file.file,Stream[0].u.file.file))
@ -990,12 +990,10 @@ p_prompt (void)
return (TRUE);
}
#if HAVE_LIBREADLINE
#if HAVE_LIBREADLINE && HAVE_READLINE_READLINE_H
#if HAVE_READLINE_READLINE_H
#include <readline/readline.h>
#include <readline/history.h>
#endif
static char *ttyptr = NULL;
@ -1130,7 +1128,7 @@ ReadlineGetc(int sno)
static Int
p_has_readline(void)
{
#if HAVE_LIBREADLINE
#if HAVE_LIBREADLINE && HAVE_READLINE_READLINE_H
return TRUE;
#else
return FALSE;
@ -1142,7 +1140,7 @@ int
Yap_GetCharForSIGINT(void)
{
int ch;
#if HAVE_LIBREADLINE
#if HAVE_LIBREADLINE && HAVE_READLINE_READLINE_H
if ((Yap_PrologMode & ConsoleGetcMode) && myrl_line != (char *) NULL) {
ch = myrl_line[0];
free(myrl_line);
@ -1209,7 +1207,7 @@ EOFGetc(int sno)
} else if (s->status & Promptable_Stream_f) {
s->stream_putc = ConsolePutc;
s->stream_wputc = put_wchar;
#if HAVE_LIBREADLINE
#if HAVE_LIBREADLINE && HAVE_READLINE_READLINE_H
if (s->status & Tty_Stream_f) {
s->stream_getc = ReadlineGetc;
if (Stream[0].status & Tty_Stream_f &&
@ -1617,7 +1615,7 @@ PlUnGetc (int sno)
} else if (s->status & Promptable_Stream_f) {
s->stream_putc = ConsolePutc;
s->stream_wputc = put_wchar;
#if HAVE_LIBREADLINE
#if HAVE_LIBREADLINE && HAVE_READLINE_READLINE_H
if (s->status & Tty_Stream_f) {
s->stream_getc = ReadlineGetc;
if (Stream[0].status & Tty_Stream_f &&
@ -6288,7 +6286,7 @@ Yap_InitIOPreds(void)
Yap_InitSockets ();
#endif
InitPlIO ();
#if HAVE_LIBREADLINE
#if HAVE_LIBREADLINE && HAVE_READLINE_READLINE_H
InitReadline();
#endif
}

View File

@ -81,7 +81,10 @@ static char SccsId[] = "%W% %G%";
#include <sys/param.h>
#endif
#endif
#if HAVE_LIBREADLINE
#if HAVE_FENV_H
#include <fenv.h>
#endif
#if HAVE_READLINE_READLINE_H
#include <readline/readline.h>
#endif
@ -1168,10 +1171,6 @@ STATIC_PROTO (void my_signal, (int, void (*)(int)));
*/
#if HAVE_FENV_H
#include <fenv.h>
#endif
static RETSIGTYPE
HandleMatherr(int sig)
{
@ -1520,7 +1519,7 @@ HandleSIGINT (int sig)
}
if (Yap_PrologMode & (CritMode|ConsoleGetcMode)) {
Yap_PrologMode |= InterruptMode;
#if HAVE_LIBREADLINE
#if HAVE_LIBREADLINE && HAVE_READLINE_READLINE_H
if (Yap_PrologMode & ConsoleGetcMode) {
fprintf(stderr, "Action (h for help): ");
rl_point = rl_end = 0;

View File

@ -690,5 +690,9 @@ Yap_TrimTrail(void)
#undef setregs
#define setregs()
#endif
#if SHADOW_HB
register CELL *HBREG = HB;
#endif
#include "trim_trail.h"
}

View File

@ -216,44 +216,28 @@ extern int Yap_stack_overflows;
#define YENV Yap_REGS.YENV_ /* current environment (may differ from ENV)*/
#define S Yap_REGS.S_ /* structure pointer */
register CELL *H asm ("g6");
register tr_fr_ptr TR asm ("g7");
#if defined(__svr4__)
register choiceptr B asm ("g5");
#else
register CELL *H asm ("g5");
#define TR Yap_REGS.TR_ /* latest choice point */
#define B Yap_REGS.B_ /* latest choice point */
#endif
#define CP Yap_REGS.CP_ /* continuation program counter */
#define HB Yap_REGS.HB_ /* heap (global) stack top at time of latest c.p. */
#define CreepFlag Yap_REGS.CreepFlag_
EXTERN inline void save_machine_regs(void) {
Yap_REGS.H_ = H;
Yap_REGS.TR_ = TR;
#if defined(__svr4__)
Yap_REGS.B_ = B;
#endif
}
EXTERN inline void restore_machine_regs(void) {
H = Yap_REGS.H_;
TR = Yap_REGS.TR_;
#if defined(__svr4__)
B = Yap_REGS.B_;
#endif
}
#define BACKUP_MACHINE_REGS() \
CELL *BK_H = H; \
choiceptr BK_B = B; \
tr_fr_ptr BK_TR = TR; \
restore_machine_regs()
#define RECOVER_MACHINE_REGS() \
save_machine_regs(); \
H = BK_H; \
B = BK_B; \
TR = BK_TR
H = BK_H
EXTERN inline void save_H(void) {
Yap_REGS.H_ = H;
@ -268,21 +252,15 @@ EXTERN inline void restore_H(void) {
#define RECOVER_H() save_H(); H = BK_H
EXTERN inline void save_B(void) {
#if defined(__svr4__)
Yap_REGS.B_ = B;
#endif
}
EXTERN inline void restore_B(void) {
#if defined(__svr4__)
B = Yap_REGS.B_;
#endif
}
#if defined(__svr4__)
#define BACKUP_B() choiceptr BK_B = B; restore_B()
#define BACKUP_B()
#define RECOVER_B() save_B(); B = BK_B
#define RECOVER_B()
#else
#define BACKUP_B()

View File

@ -31,11 +31,8 @@ PROGRAMS= $(srcdir)/debug.pl \
$(srcdir)/prolog_source.pl \
$(srcdir)/prolog_xref.pl
SWI_PROGRAMS=
install: $(PROGRAMS)
mkdir -p $(DESTDIR)$(SHAREDIR)/Yap
for p in $(PROGRAMS); do $(INSTALL_DATA) $$p $(DESTDIR)$(SHAREDIR)/Yap; done
for p in $(SWI_PROGRAMS); do $(INSTALL_DATA) $$p $(DESTDIR)$(SHAREDIR)/Yap/swi; done

View File

@ -460,7 +460,7 @@ libYap.a: $(LIB_OBJECTS)
$(RANLIB) libYap.a
@DYNYAPLIB@: $(LIB_OBJECTS)
@DYNLIB_LD@ -install_name $(LIBDIR)/@YAPLIB@ -o @YAPLIB@ $(LIB_OBJECTS) $(LIBS) $(LDFLGS)
@DYNLIB_LD@ -o @YAPLIB@ $(LIB_OBJECTS) $(LIBS) $(LDFLGS)
install: install_bin install_data

View File

@ -161,6 +161,7 @@
#undef HAVE_FETESTEXCEPT
#undef HAVE_FGETPOS
#undef HAVE_FINITE
#undef HAVE_FPCLASS
#undef HAVE_FTIME
#undef HAVE_GETCWD
#undef HAVE_GETENV
@ -174,6 +175,7 @@
#undef HAVE_GETTIMEOFDAY
#undef HAVE_GETWD
#undef HAVE_ISATTY
#undef HAVE_ISINF
#undef HAVE_ISNAN
#undef HAVE_KILL
#undef HAVE_LABS

35
configure vendored
View File

@ -309,7 +309,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT GCC C_INTERF_FLAGS C_PARSER_FLAGS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os LN_S INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA RANLIB ac_ct_RANLIB INDENT ac_ct_INDENT AR ac_ct_AR MPI_CC ac_ct_MPI_CC INSTALL_INFO CPP EGREP CPLINT_LIBS CPLINT_CFLAGS CPLINT_LDFLAGS CPLINT_SHLIB_LD ENABLE_CPLINT PRE_DYNLOADER_PATH EXTEND_DYNLOADER_PATH M4 M4GENHDRS INSTALL_DLLS MERGE_DLL_OBJS SHLIB_CFLAGS SHLIB_SUFFIX EXEC_SUFFIX DO_SECOND_LD SHLIB_LD SHLIB_SWI_LD DYNLIB_LD YAPLIB DYNYAPLIB YAP_EXTRAS NO_BUILTIN_REGEXP ENABLE_CHR ENABLE_CLPQR ENABLE_JPL JAVA_HOME JUNIT JAVAC JAVADOC JAVALIBS JAR IN_UNIX YAPMPILIB LAM_MPI_CC MPI_OBJS MPI_LIBS INSTALL_COMMAND INSTALLCLP JAVALIBPATH JAVAINCPATH LAMOBJS MAX_WORKERS STATIC_MODE ENABLE_WINCONSOLE USE_CUDD CUDD_LDFLAGS CUDD_CPPFLAGS INSTALL_MATLAB MATLAB_INCLUDE M4GENABSMI PROLOG_SYSTEM IN_YAP IN_SWI CHR_TARGETS LIBOBJS LTLIBOBJS'
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT GCC C_INTERF_FLAGS C_PARSER_FLAGS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os LN_S INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA RANLIB ac_ct_RANLIB INDENT ac_ct_INDENT AR ac_ct_AR MPI_CC ac_ct_MPI_CC INSTALL_INFO CPP EGREP CPLINT_LIBS CPLINT_CFLAGS CPLINT_LDFLAGS CPLINT_SHLIB_LD ENABLE_CPLINT PRE_DYNLOADER_PATH EXTEND_DYNLOADER_PATH M4 M4GENHDRS INSTALL_DLLS MERGE_DLL_OBJS SHLIB_CFLAGS SHLIB_SUFFIX EXEC_SUFFIX DO_SECOND_LD SHLIB_LD SHLIB_SWI_LD DYNLIB_LD YAPLIB DYNYAPLIB YAP_EXTRAS NO_BUILTIN_REGEXP ENABLE_CHR ENABLE_CLPQR ENABLE_JPL JAVA JAVA_HOME JUNIT JAVAC JAVADOC JAVALIBS JAR IN_UNIX YAPMPILIB LAM_MPI_CC MPI_OBJS MPI_LIBS INSTALL_COMMAND INSTALLCLP JAVALIBPATH JAVAINCPATH LAMOBJS MAX_WORKERS STATIC_MODE ENABLE_WINCONSOLE USE_CUDD CUDD_LDFLAGS CUDD_CPPFLAGS INSTALL_MATLAB MATLAB_INCLUDE M4GENABSMI PROLOG_SYSTEM IN_YAP IN_SWI CHR_TARGETS LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@ -5508,6 +5508,7 @@ if test "$yap_cv_jpl" = no; then
ENABLE_JPL="@#"
elif test -e "$srcdir"/packages/jpl/Makefile.in; then
ENABLE_JPL=""
JAVA=java
JAVA_HOME="$yap_cv_jpl"
if test "x$JAVALIBS" = "x"; then
case "$target_os" in
@ -5523,10 +5524,12 @@ elif test -e "$srcdir"/packages/jpl/Makefile.in; then
esac
fi
if test "$yap_cv_jpl" = ""; then
JAVA=java
JAR=jar
JAVAC=javac
JAVADOC=javadoc
else
JAVA="$yap_cv_jpl"/bin/java
JAR="$yap_cv_jpl"/bin/jar
JAVAC="$yap_cv_jpl"/bin/javac
JAVADOC="$yap_cv_jpl"/bin/javadoc
@ -6453,12 +6456,20 @@ fi
SHLIB_SWI_LD="gcc -shared -export-dynamic"
DO_SECOND_LD=""
LIBS="$LIBS -ldl"
case "$host_cpu" in
case "$target_cpu" in
alpha*)
LDFLAGS="-dynamic $LDFLAGS"
;;
x86*)
JAVALIBPATH="-L$JAVA_HOME/jre/lib/amd64 -L$JAVA_HOME/jre/lib/amd64/client -L$JAVA_HOME/jre/lib/amd64/server"
JAVAINCPATH="-I$JAVA_HOME/include -I$JAVA_HOME/include/linux"
if test "$CC" != "lcc"
then
LDFLAGS="-rdynamic $LDFLAGS"
fi
;;
*)
JAVALIBPATH="-L$JAVA_HOME/jre/lib/i386 -L$JAVA_HOME/jre/lib/i386/client"
JAVALIBPATH="-L$JAVA_HOME/jre/lib/i386 -L$JAVA_HOME/jre/lib/i386/client -L$JAVA_HOME/jre/lib/i386/server"
JAVAINCPATH="-I$JAVA_HOME/include -I$JAVA_HOME/include/linux"
if test "$CC" != "lcc"
then
@ -6738,6 +6749,16 @@ fi
INSTALL_DLLS=""
fi
;;
*solaris*)
#an elf system
LDFLAGS="-dynamic $LDFLAGS"
SHLIB_CFLAGS="-fPIC"
SHLIB_LD="gcc -shared"
SHLIB_SWI_LD="gcc -shared"
DO_SECOND_LD=""
SHLIB_SUFFIX=".so"
INSTALL_DLLS=""
;;
*cyg*|*mingw*)
# gcc on cygwin seems to have trouble with longjmp
# and -fomit-frame-point -DBP_FREE
@ -13789,6 +13810,7 @@ EXEC_SUFFIX=""
echo "$as_me:$LINENO: checking for gcc threaded code" >&5
@ -14611,7 +14633,8 @@ done
for ac_func in fesettrapenable fgetpos finite ftime getcwd getenv
for ac_func in fesettrapenable fgetpos finite fpclass ftime getcwd getenv
do
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
echo "$as_me:$LINENO: checking for $ac_func" >&5
@ -15030,7 +15053,8 @@ done
for ac_func in isatty isnan kill labs link lgamma
for ac_func in isatty isnan isinf kill labs link lgamma
do
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
echo "$as_me:$LINENO: checking for $ac_func" >&5
@ -17683,6 +17707,7 @@ s,@NO_BUILTIN_REGEXP@,$NO_BUILTIN_REGEXP,;t t
s,@ENABLE_CHR@,$ENABLE_CHR,;t t
s,@ENABLE_CLPQR@,$ENABLE_CLPQR,;t t
s,@ENABLE_JPL@,$ENABLE_JPL,;t t
s,@JAVA@,$JAVA,;t t
s,@JAVA_HOME@,$JAVA_HOME,;t t
s,@JUNIT@,$JUNIT,;t t
s,@JAVAC@,$JAVAC,;t t

View File

@ -655,6 +655,7 @@ if test "$yap_cv_jpl" = no; then
ENABLE_JPL="@#"
elif test -e "$srcdir"/packages/jpl/Makefile.in; then
ENABLE_JPL=""
JAVA=java
JAVA_HOME="$yap_cv_jpl"
if test "x$JAVALIBS" = "x"; then
case "$target_os" in
@ -670,10 +671,12 @@ elif test -e "$srcdir"/packages/jpl/Makefile.in; then
esac
fi
if test "$yap_cv_jpl" = ""; then
JAVA=java
JAR=jar
JAVAC=javac
JAVADOC=javadoc
else
JAVA="$yap_cv_jpl"/bin/java
JAR="$yap_cv_jpl"/bin/jar
JAVAC="$yap_cv_jpl"/bin/javac
JAVADOC="$yap_cv_jpl"/bin/javadoc
@ -769,12 +772,20 @@ case "$target_os" in
SHLIB_SWI_LD="gcc -shared -export-dynamic"
DO_SECOND_LD=""
LIBS="$LIBS -ldl"
case "$host_cpu" in
case "$target_cpu" in
alpha*)
LDFLAGS="-dynamic $LDFLAGS"
;;
x86*)
JAVALIBPATH="-L$JAVA_HOME/jre/lib/amd64 -L$JAVA_HOME/jre/lib/amd64/client -L$JAVA_HOME/jre/lib/amd64/server"
JAVAINCPATH="-I$JAVA_HOME/include -I$JAVA_HOME/include/linux"
if test "$CC" != "lcc"
then
LDFLAGS="-rdynamic $LDFLAGS"
fi
;;
*)
JAVALIBPATH="-L$JAVA_HOME/jre/lib/i386 -L$JAVA_HOME/jre/lib/i386/client"
JAVALIBPATH="-L$JAVA_HOME/jre/lib/i386 -L$JAVA_HOME/jre/lib/i386/client -L$JAVA_HOME/jre/lib/i386/server"
JAVAINCPATH="-I$JAVA_HOME/include -I$JAVA_HOME/include/linux"
if test "$CC" != "lcc"
then
@ -909,6 +920,16 @@ dnl Linux has both elf and a.out, in this case we found elf
INSTALL_DLLS=""
fi
;;
*solaris*)
#an elf system
LDFLAGS="-dynamic $LDFLAGS"
SHLIB_CFLAGS="-fPIC"
SHLIB_LD="gcc -shared"
SHLIB_SWI_LD="gcc -shared"
DO_SECOND_LD=""
SHLIB_SUFFIX=".so"
INSTALL_DLLS=""
;;
*cyg*|*mingw*)
# gcc on cygwin seems to have trouble with longjmp
# and -fomit-frame-point -DBP_FREE
@ -1229,6 +1250,7 @@ AC_SUBST(NO_BUILTIN_REGEXP)
AC_SUBST(ENABLE_CHR)
AC_SUBST(ENABLE_CLPQR)
AC_SUBST(ENABLE_JPL)
AC_SUBST(JAVA)
AC_SUBST(JAVA_HOME)
AC_SUBST(JUNIT)
AC_SUBST(JAVAC)
@ -1401,11 +1423,11 @@ dnl Checks for library functions.
AC_TYPE_SIGNAL
AC_CHECK_FUNCS(acosh asinh atanh chdir ctime dlopen dup2)
AC_CHECK_FUNCS(feclearexcept)
AC_CHECK_FUNCS(fesettrapenable fgetpos finite ftime getcwd getenv)
AC_CHECK_FUNCS(fesettrapenable fgetpos finite fpclass ftime getcwd getenv)
AC_CHECK_FUNCS(gethostbyname gethostid gethostname)
AC_CHECK_FUNCS(gethrtime getpagesize)
AC_CHECK_FUNCS(getpwnam getrusage gettimeofday getwd)
AC_CHECK_FUNCS(isatty isnan kill labs link lgamma)
AC_CHECK_FUNCS(isatty isnan isinf kill labs link lgamma)
AC_CHECK_FUNCS(localtime lstat mallinfo)
AC_CHECK_FUNCS(mbsnrtowcs)
AC_CHECK_FUNCS(memcpy memmove mkstemp mktemp)

View File

@ -2077,7 +2077,13 @@ X_API int PL_is_inf(term_t st)
if (IsVarTerm(t)) return FALSE;
if (!IsFloatTerm(t)) return FALSE;
fl = FloatOfTerm(t);
#if HAVE_ISINF
return isinf(fl);
#elif HAVE_FPCLASS
return (fpclass(fl) == FP_NINF || fpclass(fl) == FP_PINF);
#else
return FALSE;
#endif
}
X_API int PL_thread_self(void)

View File

@ -30,6 +30,9 @@
#ifdef __WINDOWS__
#include "pl-mswchar.h" /* Terrible hack */
#endif
#if HAVE_LIMITS_H
#include <limits.h> /* solaris compatibility */
#endif
#undef LD
#define LD LOCAL_LD

View File

@ -3,6 +3,9 @@
#include <stdio.h>
#include "pl-incl.h"
#ifdef HAVE_LIMITS_H
#include <limits.h>
#endif
int fileerrors;

@ -1 +1 @@
Subproject commit e071f01c1d9015e6d3fabc73092a6e902541485a
Subproject commit c325e4564bb8d4e32c27f2061df85f13d315974e

@ -1 +1 @@
Subproject commit eb6d27251c2548c25e6d37fff2a27a014caaa7aa
Subproject commit 65951de17491d8c4190c0bb25b171752d11d96d2