-
-
Notifications
You must be signed in to change notification settings - Fork 480
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ECL-20.4.24 has been released (on 2020/04/24) https://common-lisp.net/project/ecl/posts/ECL-20424-release.html We should update, as it will resolve some Maxima bugs, and is essential for resolving other Maxima bugs. '''Tarball''': see checksums.ini [upstream_url]. (To configure Sage to download from the upstream URL, use `./configure --enable-download-from-upstream-url`) URL: https://trac.sagemath.org/22191 Reported by: dimpase Ticket author(s): Marius Gerbershagen, Nils Bruin, Dima Pasechnik, Erik Bray Reviewer(s): Dima Pasechnik, Nils Bruin, François Bissey, Emmanuel Charpentier, Matthias Koeppe
- Loading branch information
Showing
25 changed files
with
710 additions
and
322 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
tarball=ecl-VERSION.tar.bz2 | ||
sha1=66f99db852b23660668e8c1d5304ec842558d1a2 | ||
md5=14740f65bb971127bb10caaff855361e | ||
cksum=1956945543 | ||
tarball=ecl-VERSION.tgz | ||
sha1=96daa970ae31821c44d9e8ee344f62106d6d79a0 | ||
md5=93ba832d2ec609d49132a7076e5c14ae | ||
cksum=3753868648 | ||
upstream_url=https://common-lisp.net/project/ecl/static/files/release/ecl-VERSION.tgz |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
16.1.2.p5 | ||
20.4.24.p0 |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,202 @@ | ||
diff --git a/src/configure b/src/configure | ||
index 103f4102be537c5521889ad14f7d4151245bd4b2..5c7cfc2b8b4822a7477c0ba2883993a8ef185d09 100755 | ||
--- a/src/configure | ||
+++ b/src/configure | ||
@@ -3932,6 +3932,184 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | ||
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | ||
ac_compiler_gnu=$ac_cv_c_compiler_gnu | ||
# sets variable CC | ||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5 | ||
+$as_echo_n "checking for $CC option to accept ISO C99... " >&6; } | ||
+if ${ac_cv_prog_cc_c99+:} false; then : | ||
+ $as_echo_n "(cached) " >&6 | ||
+else | ||
+ ac_cv_prog_cc_c99=no | ||
+ac_save_CC=$CC | ||
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
+/* end confdefs.h. */ | ||
+#include <stdarg.h> | ||
+#include <stdbool.h> | ||
+#include <stdlib.h> | ||
+#include <wchar.h> | ||
+#include <stdio.h> | ||
+ | ||
+// Check varargs macros. These examples are taken from C99 6.10.3.5. | ||
+#define debug(...) fprintf (stderr, __VA_ARGS__) | ||
+#define showlist(...) puts (#__VA_ARGS__) | ||
+#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) | ||
+static void | ||
+test_varargs_macros (void) | ||
+{ | ||
+ int x = 1234; | ||
+ int y = 5678; | ||
+ debug ("Flag"); | ||
+ debug ("X = %d\n", x); | ||
+ showlist (The first, second, and third items.); | ||
+ report (x>y, "x is %d but y is %d", x, y); | ||
+} | ||
+ | ||
+// Check long long types. | ||
+#define BIG64 18446744073709551615ull | ||
+#define BIG32 4294967295ul | ||
+#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) | ||
+#if !BIG_OK | ||
+ your preprocessor is broken; | ||
+#endif | ||
+#if BIG_OK | ||
+#else | ||
+ your preprocessor is broken; | ||
+#endif | ||
+static long long int bignum = -9223372036854775807LL; | ||
+static unsigned long long int ubignum = BIG64; | ||
+ | ||
+struct incomplete_array | ||
+{ | ||
+ int datasize; | ||
+ double data[]; | ||
+}; | ||
+ | ||
+struct named_init { | ||
+ int number; | ||
+ const wchar_t *name; | ||
+ double average; | ||
+}; | ||
+ | ||
+typedef const char *ccp; | ||
+ | ||
+static inline int | ||
+test_restrict (ccp restrict text) | ||
+{ | ||
+ // See if C++-style comments work. | ||
+ // Iterate through items via the restricted pointer. | ||
+ // Also check for declarations in for loops. | ||
+ for (unsigned int i = 0; *(text+i) != '\0'; ++i) | ||
+ continue; | ||
+ return 0; | ||
+} | ||
+ | ||
+// Check varargs and va_copy. | ||
+static void | ||
+test_varargs (const char *format, ...) | ||
+{ | ||
+ va_list args; | ||
+ va_start (args, format); | ||
+ va_list args_copy; | ||
+ va_copy (args_copy, args); | ||
+ | ||
+ const char *str; | ||
+ int number; | ||
+ float fnumber; | ||
+ | ||
+ while (*format) | ||
+ { | ||
+ switch (*format++) | ||
+ { | ||
+ case 's': // string | ||
+ str = va_arg (args_copy, const char *); | ||
+ break; | ||
+ case 'd': // int | ||
+ number = va_arg (args_copy, int); | ||
+ break; | ||
+ case 'f': // float | ||
+ fnumber = va_arg (args_copy, double); | ||
+ break; | ||
+ default: | ||
+ break; | ||
+ } | ||
+ } | ||
+ va_end (args_copy); | ||
+ va_end (args); | ||
+} | ||
+ | ||
+int | ||
+main () | ||
+{ | ||
+ | ||
+ // Check bool. | ||
+ _Bool success = false; | ||
+ | ||
+ // Check restrict. | ||
+ if (test_restrict ("String literal") == 0) | ||
+ success = true; | ||
+ char *restrict newvar = "Another string"; | ||
+ | ||
+ // Check varargs. | ||
+ test_varargs ("s, d' f .", "string", 65, 34.234); | ||
+ test_varargs_macros (); | ||
+ | ||
+ // Check flexible array members. | ||
+ struct incomplete_array *ia = | ||
+ malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); | ||
+ ia->datasize = 10; | ||
+ for (int i = 0; i < ia->datasize; ++i) | ||
+ ia->data[i] = i * 1.234; | ||
+ | ||
+ // Check named initializers. | ||
+ struct named_init ni = { | ||
+ .number = 34, | ||
+ .name = L"Test wide string", | ||
+ .average = 543.34343, | ||
+ }; | ||
+ | ||
+ ni.number = 58; | ||
+ | ||
+ int dynamic_array[ni.number]; | ||
+ dynamic_array[ni.number - 1] = 543; | ||
+ | ||
+ // work around unused variable warnings | ||
+ return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' | ||
+ || dynamic_array[ni.number - 1] != 543); | ||
+ | ||
+ ; | ||
+ return 0; | ||
+} | ||
+_ACEOF | ||
+for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99 | ||
+do | ||
+ CC="$ac_save_CC $ac_arg" | ||
+ if ac_fn_c_try_compile "$LINENO"; then : | ||
+ ac_cv_prog_cc_c99=$ac_arg | ||
+fi | ||
+rm -f core conftest.err conftest.$ac_objext | ||
+ test "x$ac_cv_prog_cc_c99" != "xno" && break | ||
+done | ||
+rm -f conftest.$ac_ext | ||
+CC=$ac_save_CC | ||
+ | ||
+fi | ||
+# AC_CACHE_VAL | ||
+case "x$ac_cv_prog_cc_c99" in | ||
+ x) | ||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 | ||
+$as_echo "none needed" >&6; } ;; | ||
+ xno) | ||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 | ||
+$as_echo "unsupported" >&6; } ;; | ||
+ *) | ||
+ CC="$CC $ac_cv_prog_cc_c99" | ||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 | ||
+$as_echo "$ac_cv_prog_cc_c99" >&6; } ;; | ||
+esac | ||
+if test "x$ac_cv_prog_cc_c99" != xno; then : | ||
+ | ||
+fi | ||
+ | ||
+ # checks that CC by default accepts C99 code, if not, | ||
+ # tries adding -std=gnu-99, if this has no effect, throws an error. | ||
ac_ext=cpp | ||
ac_cpp='$CXXCPP $CPPFLAGS' | ||
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' | ||
diff --git a/src/configure.ac b/src/configure.ac | ||
index 4e615408e7b336329b4228cb40ca820f12adacba..df7a90c84538a32ca45f2dbc4f398c4c51bec3ae 100644 | ||
--- a/src/configure.ac | ||
+++ b/src/configure.ac | ||
@@ -334,6 +334,8 @@ AC_CANONICAL_HOST | ||
dnl ===================================================================== | ||
dnl Checks for programs | ||
AC_PROG_CC # sets variable CC | ||
+AC_PROG_CC_C99 # checks that CC by default accepts C99 code, if not, | ||
+ # tries adding -std=gnu-99, if this has no effect, throws an error. | ||
AC_PROG_CXX # sets variable CXX | ||
AC_PROG_CPP # sets variable CPP | ||
AC_PROG_RANLIB # sets variable RANLIB |
Oops, something went wrong.