From bbd523a73a7c0f2fad72e8c397e36ecd5d18f758 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Wed, 30 Oct 2013 07:23:31 +0000 Subject: [PATCH 1/7] support for nvcc -m32 --- configure.in | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/configure.in b/configure.in index 1c2650a39..8d731a291 100755 --- a/configure.in +++ b/configure.in @@ -911,7 +911,11 @@ else ENABLE_CUDA="@# " else ENABLE_CUDA="" - case "$target_os" in + if test "$YAP_TARGET" = "i386" + then + NVCC="$NVCC -m32" + fi + case "$target_os" in *darwin*) CUDA_LDFLAGS="$LDFLAGS" CUDA_CPPFLAGS="-shared -arch=sm_20 -Xcompiler -fPIC -O3 " From 7ebd169a62b8d3b21dc40a17ee72a4edd3407f29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Wed, 30 Oct 2013 07:23:56 +0000 Subject: [PATCH 2/7] support for nvcc -m32 --- configure | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/configure b/configure index 5bdf00987..5d65b129f 100755 --- a/configure +++ b/configure @@ -6860,7 +6860,11 @@ fi ENABLE_CUDA="@# " else ENABLE_CUDA="" - case "$target_os" in + if test "$YAP_TARGET" = "i386" + then + NVCC="$NVCC -m32" + fi + case "$target_os" in *darwin*) CUDA_LDFLAGS="$LDFLAGS" CUDA_CPPFLAGS="-shared -arch=sm_20 -Xcompiler -fPIC -O3 " From 0f43a319c5f5e04ae1fcdfbcb979492832911180 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Wed, 30 Oct 2013 09:40:29 +0000 Subject: [PATCH 3/7] fix library path and revert nvidia 32 bits patch --- configure | 24 ++++++++++-------------- configure.in | 24 ++++++++++-------------- 2 files changed, 20 insertions(+), 28 deletions(-) diff --git a/configure b/configure index 5d65b129f..bccd197ab 100755 --- a/configure +++ b/configure @@ -6860,10 +6860,6 @@ fi ENABLE_CUDA="@# " else ENABLE_CUDA="" - if test "$YAP_TARGET" = "i386" - then - NVCC="$NVCC -m32" - fi case "$target_os" in *darwin*) CUDA_LDFLAGS="$LDFLAGS" @@ -8043,7 +8039,7 @@ fi EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -Wl,-R,\$(YAPLIBDIR) -Wl,-R,\$(LIBDIR)" INSTALL_ENV="YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" fi - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/lib/sys:$LD_LIBRARY_PATH" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/library/system:$LD_LIBRARY_PATH" ;; *sunos4*) M4="/usr/5bin/m4" @@ -8058,7 +8054,7 @@ fi DYNYAPLIB=libYap."$SO" SONAMEFLAG="" EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(YAPLIBDIR) -Wl,-R,\$(LIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/lib/sys:$LD_LIBRARY_PATH" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/library/system:$LD_LIBRARY_PATH" INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR):\$(DESTDIR)\$(YAPLIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" ;; *hpux*) @@ -8102,7 +8098,7 @@ fi DYNYAPLIB=libYap."$SO" SONAMEFLAG="" EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(YAPLIBDIR) -Wl,-R,\$(LIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/lib/sys:$LD_LIBRARY_PATH" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/library/system:$LD_LIBRARY_PATH" INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR):\$(DESTDIR)\$(YAPLIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" ;; *aix*) @@ -8116,7 +8112,7 @@ fi DYNYAPLIB=libYap."$SO" SONAMEFLAG="" EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(YAPLIBDIR) -Wl,\$(LIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/lib/sys:$LD_LIBRARY_PATH" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/library/system:$LD_LIBRARY_PATH" INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR):\$(DESTDIR)\$(YAPLIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" ;; *osf*) @@ -8173,7 +8169,7 @@ fi DYNYAPLIB=libYap."$SO" SONAMEFLAG="" EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(YAPLIBDIR) -Wl,-R,\$(LIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/lib/sys:$LD_LIBRARY_PATH" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/library/system:$LD_LIBRARY_PATH" INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR):\$(DESTDIR)\$(YAPLIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" ;; *irix6*) @@ -8188,7 +8184,7 @@ fi DYNYAPLIB=libYap."$SO" SONAMEFLAG="" EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(YAPLIBDIR) -Wl,-R,\$(LIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/lib/sys:$LD_LIBRARY_PATH" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/library/system:$LD_LIBRARY_PATH" INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR):\$(DESTDIR)\$(YAPLIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" ;; *darwin*) @@ -8267,7 +8263,7 @@ fi DYNYAPLIB=libYap."$SO" SONAMEFLAG="" YAPLIB_LD="$CC -dynamiclib -Wl,-install_name,$prefix/lib/libYap.$SO" - PRE_INSTALL_ENV="DYLD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/lib/sys:$DYLD_LIBRARY_PATH" + PRE_INSTALL_ENV="DYLD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/library/system:$DYLD_LIBRARY_PATH" ;; *netbsd*|*openbsd*|*freebsd*|*dragonfly*) if echo __ELF__ | ${CC:-cc} -E - | grep -q __ELF__ @@ -8292,7 +8288,7 @@ fi YAPLIB_LD=$SHLIB_LD SONAMEFLAG="-Wl,--soname=$DYNYAPLIB" EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -Wl,-R,\$(YAPLIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/lib/sys:$LD_LIBRARY_PATH" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/library/system:$LD_LIBRARY_PATH" INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR):\$(DESTDIR)\$(YAPLIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" ;; *solaris*) @@ -8312,7 +8308,7 @@ fi then YAPLIB_LD="\$(CC)" EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(YAPLIBDIR) -Wl,-R,\$(LIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/lib/sys:$LD_LIBRARY_PATH" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/library/system:$LD_LIBRARY_PATH" INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR):\$(DESTDIR)\$(YAPLIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" else EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -Wl,-R,\$(YAPLIBDIR) -Wl,-R,\$(LIBDIR)" @@ -8408,7 +8404,7 @@ fi DYNYAPLIB=libYap."$SO" SONAMEFLAG="" EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(YAPLIBDIR) -Wl,-R,\$(LIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/lib/sys:$LD_LIBRARY_PATH" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/library/system:$LD_LIBRARY_PATH" INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR):\$(DESTDIR)\$(YAPLIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" ;; esac diff --git a/configure.in b/configure.in index 5c634a247..86e517833 100755 --- a/configure.in +++ b/configure.in @@ -899,10 +899,6 @@ else ENABLE_CUDA="@# " else ENABLE_CUDA="" - if test "$YAP_TARGET" = "i386" - then - NVCC="$NVCC -m32" - fi case "$target_os" in *darwin*) CUDA_LDFLAGS="$LDFLAGS" @@ -1271,7 +1267,7 @@ case "$target_os" in EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -Wl,-R,\$(YAPLIBDIR) -Wl,-R,\$(LIBDIR)" INSTALL_ENV="YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" fi - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/lib/sys:$LD_LIBRARY_PATH" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/library/system:$LD_LIBRARY_PATH" ;; *sunos4*) M4="/usr/5bin/m4" @@ -1286,7 +1282,7 @@ case "$target_os" in DYNYAPLIB=libYap."$SO" SONAMEFLAG="" EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(YAPLIBDIR) -Wl,-R,\$(LIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/lib/sys:$LD_LIBRARY_PATH" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/library/system:$LD_LIBRARY_PATH" INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR):\$(DESTDIR)\$(YAPLIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" ;; *hpux*) @@ -1326,7 +1322,7 @@ case "$target_os" in DYNYAPLIB=libYap."$SO" SONAMEFLAG="" EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(YAPLIBDIR) -Wl,-R,\$(LIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/lib/sys:$LD_LIBRARY_PATH" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/library/system:$LD_LIBRARY_PATH" INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR):\$(DESTDIR)\$(YAPLIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" ;; *aix*) @@ -1340,7 +1336,7 @@ case "$target_os" in DYNYAPLIB=libYap."$SO" SONAMEFLAG="" EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(YAPLIBDIR) -Wl,\$(LIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/lib/sys:$LD_LIBRARY_PATH" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/library/system:$LD_LIBRARY_PATH" INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR):\$(DESTDIR)\$(YAPLIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" ;; *osf*) @@ -1359,7 +1355,7 @@ dnl Linux has both elf and a.out, in this case we found elf DYNYAPLIB=libYap."$SO" SONAMEFLAG="" EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(YAPLIBDIR) -Wl,-R,\$(LIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/lib/sys:$LD_LIBRARY_PATH" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/library/system:$LD_LIBRARY_PATH" INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR):\$(DESTDIR)\$(YAPLIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" ;; *irix6*) @@ -1374,7 +1370,7 @@ dnl Linux has both elf and a.out, in this case we found elf DYNYAPLIB=libYap."$SO" SONAMEFLAG="" EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(YAPLIBDIR) -Wl,-R,\$(LIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/lib/sys:$LD_LIBRARY_PATH" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/library/system:$LD_LIBRARY_PATH" INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR):\$(DESTDIR)\$(YAPLIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" ;; *darwin*) @@ -1414,7 +1410,7 @@ dnl Linux has both elf and a.out, in this case we found elf DYNYAPLIB=libYap."$SO" SONAMEFLAG="" YAPLIB_LD="$CC -dynamiclib -Wl,-install_name,$prefix/lib/libYap.$SO" - PRE_INSTALL_ENV="DYLD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/lib/sys:$DYLD_LIBRARY_PATH" + PRE_INSTALL_ENV="DYLD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/library/system:$DYLD_LIBRARY_PATH" ;; *netbsd*|*openbsd*|*freebsd*|*dragonfly*) if echo __ELF__ | ${CC:-cc} -E - | grep -q __ELF__ @@ -1439,7 +1435,7 @@ dnl Linux has both elf and a.out, in this case we found elf YAPLIB_LD=$SHLIB_LD SONAMEFLAG="-Wl,--soname=$DYNYAPLIB" EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -Wl,-R,\$(YAPLIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/lib/sys:$LD_LIBRARY_PATH" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/library/system:$LD_LIBRARY_PATH" INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR):\$(DESTDIR)\$(YAPLIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" ;; *solaris*) @@ -1459,7 +1455,7 @@ dnl Linux has both elf and a.out, in this case we found elf then YAPLIB_LD="\$(CC)" EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(YAPLIBDIR) -Wl,-R,\$(LIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/lib/sys:$LD_LIBRARY_PATH" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/library/system:$LD_LIBRARY_PATH" INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR):\$(DESTDIR)\$(YAPLIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" else EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -Wl,-R,\$(YAPLIBDIR) -Wl,-R,\$(LIBDIR)" @@ -1516,7 +1512,7 @@ dnl Linux has both elf and a.out, in this case we found elf DYNYAPLIB=libYap."$SO" SONAMEFLAG="" EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(YAPLIBDIR) -Wl,-R,\$(LIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/lib/sys:$LD_LIBRARY_PATH" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir):\$(abs_top_builddir)/library/system:$LD_LIBRARY_PATH" INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR):\$(DESTDIR)\$(YAPLIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" ;; esac From d77de7086834460a5e2c8fa80499a3ba27cf837f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Wed, 30 Oct 2013 09:41:15 +0000 Subject: [PATCH 4/7] extra protection --- C/write.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C/write.c b/C/write.c index 87c62bd19..e3991d607 100644 --- a/C/write.c +++ b/C/write.c @@ -660,7 +660,7 @@ from_pointer(CELL *ptr0, struct rewind_term *rwt, struct write_globs *wglb) } else { rwt->u.d.old = t; rwt->u.d.ptr = ptr0; - if (!IsAtomicTerm(t) && !IsVarTerm(t)) { + if ( !IsVarTerm(t) && !IsAtomicTerm(t)) { struct rewind_term *x = rwt->parent; while (x) { From 990dfbecbfa8a772a119b8cca38912dd0ffd72d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Wed, 30 Oct 2013 09:41:45 +0000 Subject: [PATCH 5/7] fix flags upgrade --- os/pl-prologflag.c | 4 ++++ os/pl-read.c | 6 ------ pl/boot.yap | 6 ++++++ pl/consult.yap | 7 ++++--- pl/flags.yap | 17 ----------------- pl/init.yap | 2 -- pl/modules.yap | 22 +++++++++++++++++++--- 7 files changed, 33 insertions(+), 31 deletions(-) diff --git a/os/pl-prologflag.c b/os/pl-prologflag.c index b0d00cfa8..5b4a27e8d 100644 --- a/os/pl-prologflag.c +++ b/os/pl-prologflag.c @@ -1136,7 +1136,11 @@ initPrologFlags(void) setPrologFlag("user_flags", FT_ATOM, "silent"); setPrologFlag("editor", FT_ATOM, "default"); setPrologFlag("debugger_show_context", FT_BOOL, FALSE, 0); +#ifndef __YAP_PROLOG__ setPrologFlag("autoload", FT_BOOL, TRUE, PLFLAG_AUTOLOAD); +#else + setPrologFlag("autoload", FT_BOOL, FALSE, PLFLAG_AUTOLOAD); +#endif #ifndef O_GMP setPrologFlag("max_integer", FT_INT64|FF_READONLY, PLMAXINT); setPrologFlag("min_integer", FT_INT64|FF_READONLY, PLMININT); diff --git a/os/pl-read.c b/os/pl-read.c index e4ed6b1ff..7ccf9413f 100644 --- a/os/pl-read.c +++ b/os/pl-read.c @@ -997,9 +997,6 @@ atom_to_term(term_t atom, term_t term, term_t bindings) { GET_LD PL_chars_t txt; - { FILE *f=fopen("/home/vsc/coutput.txt", "append"); - fprintf(f, "IN: %ld\n", bindings); - fclose(f); } if ( !bindings && PL_is_variable(atom) ) /* term_to_atom(+, -) */ { char buf[1024]; size_t bufsize = sizeof(buf); @@ -1018,9 +1015,6 @@ atom_to_term(term_t atom, term_t term, term_t bindings) txt.storage = PL_CHARS_HEAP; txt.encoding = ENC_UTF8; txt.canonical = FALSE; - { FILE *f=fopen("/home/vsc/coutput.txt", "append"); - fprintf(f, "SUCCESS: %s\n", buf); - fclose(f); } rval = PL_unify_text(atom, 0, &txt, PL_ATOM); Sclose(stream); diff --git a/pl/boot.yap b/pl/boot.yap index 28ced225c..ece9bc282 100755 --- a/pl/boot.yap +++ b/pl/boot.yap @@ -18,6 +18,12 @@ % % % +c(G, C, A) :- + '$$save_by'(CP0), + '$execute'(G), + '$$save_by'(CP1), + (CP0 == CP1 -> !; true ). + true :- true. diff --git a/pl/consult.yap b/pl/consult.yap index cb5af77e8..fd7101f45 100755 --- a/pl/consult.yap +++ b/pl/consult.yap @@ -923,8 +923,8 @@ absolute_file_name(File,Opts,TrueFileName) :- '$get_if'(Level0), Level is Level0 + 1, nb_setval('$if_level',Level), - '$nb_getval'('$endif', OldEndif, OldEndif=top), - '$nb_getval'('$if_skip_mode', Mode, Mode=run), + ( '$nb_getval'('$endif', OldEndif, fail) -> true ; OldEndif=top), + ( '$nb_getval'('$if_skip_mode', Mode, fail) -> true ; Mode = run ), nb_setval('$endif',elif(Level,OldEndif,Mode)), fail. % we are in skip mode, ignore.... @@ -938,6 +938,7 @@ absolute_file_name(File,Opts,TrueFileName) :- % we will execute this branch, and later enter skip '$nb_getval'('$endif', elif(Level,OldEndif,Mode), fail), nb_setval('$endif',endif(Level,OldEndif,Mode)) + ; % we are now in skip, but can start an elif. nb_setval('$if_skip_mode',skip) @@ -949,7 +950,7 @@ absolute_file_name(File,Opts,TrueFileName) :- '$do_error'(context_error(no_if),(:- else)). % we have done an if, so just skip '$else'(_) :- - nb_getval('$endif',endif(_,_,_)), !, + nb_getval('$endif',endif(_Level,_,_)), !, nb_setval('$if_skip_mode',skip). % we can try the elif '$else'(_) :- diff --git a/pl/flags.yap b/pl/flags.yap index 58e8739fa..45baed920 100755 --- a/pl/flags.yap +++ b/pl/flags.yap @@ -45,16 +45,6 @@ yap_flag(V,Out) :- yap_flag(fast,on) :- set_value('$fast',true). yap_flag(fast,off) :- !, set_value('$fast',[]). -% do or do not machine code -yap_flag(autoload,V) :- - var(V), !, - ( autoloader:autoload -> V = true ; V = false ). -yap_flag(autoload,true) :- - '$ensure_autoload', - assert(autoloader:autoload). -yap_flag(autoload,false) :- - retract(autoloader:autoload). - % do or do not machine code yap_flag(argv,L) :- '$argv'(L). @@ -702,7 +692,6 @@ yap_flag(max_threads,X) :- '$yap_system_flag'(agc_margin). '$yap_system_flag'(answer_format). '$yap_system_flag'(argv). -'$yap_system_flag'(autoload). '$yap_system_flag'(char_conversion). '$yap_system_flag'(character_escapes). '$yap_system_flag'(chr_toplevel_show_store). @@ -1017,9 +1006,3 @@ create_prolog_flag(Name, Value, Options) :- '$flag_domain_from_value'(_, term). -'$ensure_autoload' :- - load_files([library(autoloader), - autoloader:library('INDEX'), - swi:library('dialect/swi/INDEX')], - [silent(true),if(not_loaded)]). - diff --git a/pl/init.yap b/pl/init.yap index f5161b579..bd1db782c 100755 --- a/pl/init.yap +++ b/pl/init.yap @@ -173,8 +173,6 @@ yap_hacks:cut_by(CP) :- '$$cut_by'(CP). % :- ( recorded('$loaded','$loaded'(_,_,_),R), erase(R), fail ; true ). -:- dynamic autoloader:autoload/0. - :- set_value('$user_module',user), '$protect'. :- style_check([-discontiguous,-multiple,-single_var]). diff --git a/pl/modules.yap b/pl/modules.yap index 93cef0942..4e785dec0 100644 --- a/pl/modules.yap +++ b/pl/modules.yap @@ -431,13 +431,29 @@ expand_goal(G, G). call(Dialect:index(Name,Arity,ExportingModI,_)), !, '$continue_imported'(ExportingMod, ExportingModI, G0, G), !. '$get_undefined_pred'(G, _ImportingMod, G0, ExportingMod) :- - autoloader:autoload, - autoloader:find_predicate(G,ExportingModI), !, - '$continue_imported'(ExportingMod, ExportingModI, G0, G), !. + yap_flag(autoload, V), + V = true, + '$autoloader_find_predicate'(G,ExportingModI), !, + '$continue_imported'(ExportingMod, ExportingModI, G0, G). '$get_undefined_pred'(G, ImportingMod, G0, ExportingMod) :- prolog:'$parent_module'(ImportingMod,ExportingModI), '$continue_imported'(ExportingMod, ExportingModI, G0, G). + +'$autoloader_find_predicate'(G,ExportingModI) :- + '$nb_getval'('$autoloader_set', true, fail), !, + autoloader:find_predicate(G,ExportingModI). +'$autoloader_find_predicate'(G,ExportingModI) :- + yap_flag(autoload, false), + load_files([library(autoloader), + autoloader:library('INDEX'), + swi:library('dialect/swi/INDEX')], + [silent(true),if(not_loaded)]), + nb_setval('$autoloader_set', true), + yap_flag(autoload, true), + autoloader:find_predicate(G,ExportingModI). + + '$continue_imported'(Mod,Mod,Pred,Pred) :- \+ '$undefined'(Pred, Mod), !. '$continue_imported'(FM,Mod,FPred,Pred) :- From ddf624d3510cc016faf758104da4b4f42e66f1d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Wed, 30 Oct 2013 09:57:59 +0000 Subject: [PATCH 6/7] new swi code --- packages/chr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/chr b/packages/chr index 8227ad57d..bd7973d4b 160000 --- a/packages/chr +++ b/packages/chr @@ -1 +1 @@ -Subproject commit 8227ad57d54473b719d330632b8e3c5536776b71 +Subproject commit bd7973d4bff21af39e5f8efdc377c0a2eb2d594f From d7c13b53d896b55109457116722c36774b0fe123 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Wed, 30 Oct 2013 10:00:41 +0000 Subject: [PATCH 7/7] new version --- packages/real | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/real b/packages/real index 0bcbe4101..4d335368d 160000 --- a/packages/real +++ b/packages/real @@ -1 +1 @@ -Subproject commit 0bcbe41017f90149434e6ae9a658bf7cd05f255f +Subproject commit 4d335368d3f6dac797a100be5c72e64a22849383