Finalize 1.8.3 release. release_1-8-3
authorRichard Kreckel <kreckel@ginac.de>
Wed, 23 Mar 2022 20:33:55 +0000 (21:33 +0100)
committerRichard Kreckel <kreckel@ginac.de>
Wed, 23 Mar 2022 20:33:55 +0000 (21:33 +0100)
NEWS
doc/tutorial/ginac.texi
ginac/version.h
m4/ax_cxx_compile_stdcxx.m4
m4/host-cpu-c-abi.m4
m4/lib-ld.m4
m4/lib-link.m4
m4/lib-prefix.m4

diff --git a/NEWS b/NEWS
index 3b3d79df53b3d7ca14e090a36b6e811cef7fb9d4..19322d3b571144931949c08ed6f36cd252cc9766 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,10 @@
 This file records noteworthy changes.
 
+1.8.3 (23 March 2022)
+* series_to_poly() can be used from ginsh.
+* Fix power::to_polynomial() for posint exponents.
+* Fix power::subs() in some special cases.
+
 1.8.2 (1 January 2022)
 * Fix elusive bug in comparing relational objects.
 * Ensure modular_form_kernel::series() includes an Order term.
index 159d6a0bd2f002c137ae6e0ba270275f7aa90dff..c840fb69668c30f68c92e6d90d9306fe2c74370f 100644 (file)
@@ -135,7 +135,7 @@ the near future.
 
 @section License
 The GiNaC framework for symbolic computation within the C++ programming
-language is Copyright @copyright{} 1999-2021 Johannes Gutenberg
+language is Copyright @copyright{} 1999-2022 Johannes Gutenberg
 University Mainz, Germany.
 
 This program is free software; you can redistribute it and/or
index 943b50640e9a2268733f4029bfb2f540f1d281e3..66d2e872d1e32c38c7e12069d72b0b9531bb4867 100644 (file)
@@ -30,7 +30,7 @@
 #define GINACLIB_MINOR_VERSION 8
 
 /* Micro version of GiNaC */
-#define GINACLIB_MICRO_VERSION 2
+#define GINACLIB_MICRO_VERSION 3
 
 // GiNaC library version information. It has very little to do with GiNaC
 // version number. In particular, library version is OS dependent. 
@@ -56,7 +56,7 @@
 //  * change matrix inverse to use default argument (twice)
 //  * check for interfaces marked as deprecated
 #define GINAC_LT_CURRENT  12
-#define GINAC_LT_REVISION 1
+#define GINAC_LT_REVISION 2
 #define GINAC_LT_AGE      1
 
 /*
index 9413da624d2545123501b7788b7ac6d96fd322e8..51a35054d08ce1296f1acb98d70a943bdcebb4a5 100644 (file)
@@ -10,8 +10,8 @@
 #
 #   Check for baseline language coverage in the compiler for the specified
 #   version of the C++ standard.  If necessary, add switches to CXX and
-#   CXXCPP to enable support.  VERSION may be '11' (for the C++11 standard)
-#   or '14' (for the C++14 standard).
+#   CXXCPP to enable support.  VERSION may be '11', '14', '17', or '20' for
+#   the respective C++ standard version.
 #
 #   The second argument, if specified, indicates whether you insist on an
 #   extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
 #   Copyright (c) 2016, 2018 Krzesimir Nowak <qdlacz@gmail.com>
 #   Copyright (c) 2019 Enji Cooper <yaneurabeya@gmail.com>
 #   Copyright (c) 2020 Jason Merrill <jason@redhat.com>
+#   Copyright (c) 2021 Jörn Heusipp <osmanx@problemloesungsmaschine.de>
 #
 #   Copying and distribution of this file, with or without modification, are
 #   permitted in any medium without royalty provided the copyright notice
 #   and this notice are preserved.  This file is offered as-is, without any
 #   warranty.
 
-#serial 12
+#serial 14
 
 dnl  This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro
 dnl  (serial version number 13).
@@ -51,6 +52,7 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
   m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"],
         [$1], [14], [ax_cxx_compile_alternatives="14 1y"],
         [$1], [17], [ax_cxx_compile_alternatives="17 1z"],
+        [$1], [20], [ax_cxx_compile_alternatives="20"],
         [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl
   m4_if([$2], [], [],
         [$2], [ext], [],
@@ -151,7 +153,6 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11],
   _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
 )
 
-
 dnl  Test body for checking C++14 support
 
 m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14],
@@ -159,12 +160,24 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14],
   _AX_CXX_COMPILE_STDCXX_testbody_new_in_14
 )
 
+dnl  Test body for checking C++17 support
+
 m4_define([_AX_CXX_COMPILE_STDCXX_testbody_17],
   _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
   _AX_CXX_COMPILE_STDCXX_testbody_new_in_14
   _AX_CXX_COMPILE_STDCXX_testbody_new_in_17
 )
 
+dnl  Test body for checking C++20 support
+
+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_20],
+  _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
+  _AX_CXX_COMPILE_STDCXX_testbody_new_in_14
+  _AX_CXX_COMPILE_STDCXX_testbody_new_in_17
+  _AX_CXX_COMPILE_STDCXX_testbody_new_in_20
+)
+
+
 dnl  Tests for new features in C++11
 
 m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[
@@ -960,3 +973,33 @@ namespace cxx17
 #endif  // __cplusplus < 201703L
 
 ]])
+
+
+dnl  Tests for new features in C++20
+
+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_20], [[
+
+#ifndef __cplusplus
+
+#error "This is not a C++ compiler"
+
+#elif __cplusplus < 202002L
+
+#error "This is not a C++20 compiler"
+
+#else
+
+#include <version>
+
+namespace cxx20
+{
+
+// As C++20 supports feature test macros in the standard, there is no
+// immediate need to actually test for feature availability on the
+// Autoconf side.
+
+}  // namespace cxx20
+
+#endif  // __cplusplus < 202002L
+
+]])
index 64e28b1d34ae5bcfd64f24ed6495eae7519e7462..6db2aa25aeaff9ce9bb0722ea747a65df6cbf628 100644 (file)
@@ -1,5 +1,5 @@
-# host-cpu-c-abi.m4 serial 14
-dnl Copyright (C) 2002-2021 Free Software Foundation, Inc.
+# host-cpu-c-abi.m4 serial 13
+dnl Copyright (C) 2002-2020 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -211,7 +211,7 @@ changequote([,])dnl
          # be generating 64-bit code.
          AC_COMPILE_IFELSE(
            [AC_LANG_SOURCE(
-              [[#if defined __powerpc64__ || defined __LP64__
+              [[#if defined __powerpc64__ || defined _ARCH_PPC64
                  int ok;
                 #else
                  error fail
@@ -605,7 +605,7 @@ changequote([,])dnl
            # be generating 64-bit code.
            AC_COMPILE_IFELSE(
              [AC_LANG_SOURCE(
-                [[#if defined __powerpc64__ || defined __LP64__
+                [[#if defined __powerpc64__ || defined _ARCH_PPC64
                    int ok;
                   #else
                    error fail
index 076358d5d5c1a8e034e1c893259dc38286e55b27..98c348fafff8ef6e013951eee04c262390a7e56f 100644 (file)
@@ -1,5 +1,5 @@
-# lib-ld.m4 serial 10
-dnl Copyright (C) 1996-2003, 2009-2021 Free Software Foundation, Inc.
+# lib-ld.m4 serial 9
+dnl Copyright (C) 1996-2003, 2009-2020 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -122,7 +122,7 @@ else
       *-*-aix*)
         AC_COMPILE_IFELSE(
           [AC_LANG_SOURCE(
-             [[#if defined __powerpc64__ || defined __LP64__
+             [[#if defined __powerpc64__ || defined _ARCH_PPC64
                 int ok;
                #else
                 error fail
index 787efab2d2c8dc17d5ac23c5cb03ed3056fafa52..eecf70ec7647b4a4a58758beb0cbb34eaae340f6 100644 (file)
@@ -1,5 +1,5 @@
-# lib-link.m4 serial 32
-dnl Copyright (C) 2001-2021 Free Software Foundation, Inc.
+# lib-link.m4 serial 31
+dnl Copyright (C) 2001-2020 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -631,20 +631,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
                     ;;
                   -l*)
                     dnl Handle this in the next round.
-                    dnl But on GNU systems, ignore -lc options, because
-                    dnl   - linking with libc is the default anyway,
-                    dnl   - linking with libc.a may produce an error
-                    dnl     "/usr/bin/ld: dynamic STT_GNU_IFUNC symbol `strcmp' with pointer equality in `/usr/lib/libc.a(strcmp.o)' can not be used when making an executable; recompile with -fPIE and relink with -pie"
-                    dnl     or may produce an executable that always crashes, see
-                    dnl     <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00052.html>.
-                    dep=`echo "X$dep" | sed -e 's/^X-l//'`
-                    if test "X$dep" != Xc \
-                       || case $host_os in
-                            linux* | gnu* | k*bsd*-gnu) false ;;
-                            *)                          true ;;
-                          esac; then
-                      names_next_round="$names_next_round $dep"
-                    fi
+                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
                     ;;
                   *.la)
                     dnl Handle this in the next round. Throw away the .la's
index 3c94db0acbd28bcca747d212e991561b0bf98186..c8a0b464c2804e7f10ed9abcaed5bb43f23b0e49 100644 (file)
@@ -1,5 +1,5 @@
-# lib-prefix.m4 serial 19
-dnl Copyright (C) 2001-2005, 2008-2021 Free Software Foundation, Inc.
+# lib-prefix.m4 serial 17
+dnl Copyright (C) 2001-2005, 2008-2020 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -180,8 +180,8 @@ AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
        ],
        [gl_cv_elf=yes],
        [gl_cv_elf=no])
-    ])
-  if test $gl_cv_elf = yes; then
+     ])
+  if test $gl_cv_elf; then
     # Extract the ELF class of a file (5th byte) in decimal.
     # Cf. https://en.wikipedia.org/wiki/Executable_and_Linkable_Format#File_header
     if od -A x < /dev/null >/dev/null 2>/dev/null; then
@@ -198,23 +198,20 @@ AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
         echo
       }
     fi
-    # Use 'expr', not 'test', to compare the values of func_elfclass, because on
-    # Solaris 11 OpenIndiana and Solaris 11 OmniOS, the result is 001 or 002,
-    # not 1 or 2.
 changequote(,)dnl
     case $HOST_CPU_C_ABI_32BIT in
       yes)
         # 32-bit ABI.
         acl_is_expected_elfclass ()
         {
-          expr "`func_elfclass | sed -e 's/[   ]//g'`" = 1 > /dev/null
+          test "`func_elfclass | sed -e 's/[   ]//g'`" = 1
         }
         ;;
       no)
         # 64-bit ABI.
         acl_is_expected_elfclass ()
         {
-          expr "`func_elfclass | sed -e 's/[   ]//g'`" = 2 > /dev/null
+          test "`func_elfclass | sed -e 's/[   ]//g'`" = 2
         }
         ;;
       *)