guile: Add support for Guile 3.0.
authorLudovic Courtès <ludo@gnu.org>
Sun, 28 Jun 2020 14:25:40 +0000 (16:25 +0200)
committerSimon Marchi <simon.marchi@efficios.com>
Mon, 20 Jul 2020 15:00:55 +0000 (11:00 -0400)
gdb/ChangeLog
2020-06-28  Ludovic Courtès  <ludo@gnu.org>

* guile/scm-math.c (vlscm_integer_fits_p): Use 'uintmax_t'
and 'intmax_t' instead of 'scm_t_uintmax' and 'scm_t_intmax',
which are deprecated in Guile 3.0.
* configure.ac (try_guile_versions): Add "guile-3.0".
* configure (try_guile_versions): Regenerate.
* NEWS: Update entry.

gdb/testsuite/ChangeLog
2020-06-28  Ludovic Courtès  <ludo@gnu.org>

* gdb.guile/source2.scm: Add #f first argument to 'format'.
* gdb.guile/types-module.exp: Remove "ERROR:" from
regexps since Guile 3.0 no longer prints that.

gdb/doc/ChangeLog
2020-06-28  Ludovic Courtès  <ludo@gnu.org>

* doc/guile.texi (Guile Introduction): Mention Guile 3.0.

Change-Id: Iff116c2e40f334e4e0ca4e759a097bfd23634679

gdb/ChangeLog
gdb/NEWS
gdb/configure
gdb/configure.ac
gdb/doc/ChangeLog
gdb/doc/guile.texi
gdb/guile/scm-math.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.guile/source2.scm
gdb/testsuite/gdb.guile/types-module.exp

index 8305a274e257fa77146fca54426c8a79c2c36f84..30ef2c8e35a5befed62bc6b9b9926bfe189618bb 100644 (file)
@@ -1,3 +1,12 @@
+2020-07-20 Ludovic Courtès  <ludo@gnu.org>
+
+       * guile/scm-math.c (vlscm_integer_fits_p): Use 'uintmax_t'
+       and 'intmax_t' instead of 'scm_t_uintmax' and 'scm_t_intmax',
+       which are deprecated in Guile 3.0.
+       * configure.ac (try_guile_versions): Add "guile-3.0".
+       * configure (try_guile_versions): Regenerate.
+       * NEWS: Update entry.
+
 2020-07-20  Ludovic Courtès  <ludo@gnu.org>
            Doug Evans  <dje@google.com>
 
index b1912625e3670514f54927d6d7ccacac0cdc374e..001dc5e46831acd1e8fe94333a4c902b09f7b8e7 100644 (file)
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -132,7 +132,7 @@ GNU/Linux/RISC-V (gdbserver)        riscv*-*-linux*
 
 * Guile API
 
-  ** GDB can now be built with GNU Guile 2.2 in addition to 2.0.
+  ** GDB can now be built with GNU Guile 3.0 and 2.2 in addition to 2.0.
 
   ** Procedures 'memory-port-read-buffer-size',
      'set-memory-port-read-buffer-size!', 'memory-port-write-buffer-size',
index 3b71d03ebb5dc33ca24a82d20614ac0d41642bd1..b259db585d17e08b70612df85b4df118d74b8187 100755 (executable)
@@ -10959,7 +10959,7 @@ fi
 
 
 
-try_guile_versions="guile-2.2 guile-2.0"
+try_guile_versions="guile-3.0 guile-2.2 guile-2.0"
 have_libguile=no
 case "${with_guile}" in
 no)
index 0b40062e53643764c2df8f5f953a2176ed1675e3..f9461b21507fe9fde4774f98eba3352bcf44fd3f 100644 (file)
@@ -1088,7 +1088,7 @@ AC_MSG_RESULT([$with_guile])
 dnl We check guile with pkg-config.
 AC_PATH_PROG(pkg_config_prog_path, pkg-config, missing)
 
-try_guile_versions="guile-2.2 guile-2.0"
+try_guile_versions="guile-3.0 guile-2.2 guile-2.0"
 have_libguile=no
 case "${with_guile}" in
 no)
index a573d205171fce05216b2a18dd1127b36043f778..031e0efd9371f10cf39fd96b3536aa4a42c2f0de 100644 (file)
@@ -1,3 +1,7 @@
+2020-07-20  Ludovic Courtès  <ludo@gnu.org>
+
+       * doc/guile.texi (Guile Introduction): Mention Guile 3.0.
+
 2020-07-20  Ludovic Courtès  <ludo@gnu.org>
 
        * guile.texi (Memory Ports in Guile): Mark
index 52da7e7c17a2e1c79d1eb337c82587f34453966a..9d1f55a8396e5808d75142356b0c64fe383e7fb8 100644 (file)
@@ -38,7 +38,7 @@ Guile support in @value{GDBN} follows the Python support in @value{GDBN}
 reasonably closely, so concepts there should carry over.
 However, some things are done differently where it makes sense.
 
-@value{GDBN} requires Guile version 2.2 or 2.0.
+@value{GDBN} requires Guile version 3.0, 2.2, or 2.0.
 
 @cindex guile scripts directory
 Guile scripts used by @value{GDBN} should be installed in
index 7c63fa2ae046e6883c248fc56668543103a88990..419f5099bf4300b01d62aeecbecde8f3a965382f 100644 (file)
@@ -578,7 +578,7 @@ vlscm_integer_fits_p (SCM obj, struct type *type)
       ULONGEST max;
 
       /* If scm_is_unsigned_integer can't work with this type, just punt.  */
-      if (TYPE_LENGTH (type) > sizeof (scm_t_uintmax))
+      if (TYPE_LENGTH (type) > sizeof (uintmax_t))
        return 0;
       get_unsigned_type_max (type, &max);
       return scm_is_unsigned_integer (obj, 0, max);
@@ -588,7 +588,7 @@ vlscm_integer_fits_p (SCM obj, struct type *type)
       LONGEST min, max;
 
       /* If scm_is_signed_integer can't work with this type, just punt.  */
-      if (TYPE_LENGTH (type) > sizeof (scm_t_intmax))
+      if (TYPE_LENGTH (type) > sizeof (intmax_t))
        return 0;
       get_signed_type_minmax (type, &min, &max);
       return scm_is_signed_integer (obj, min, max);
index 885d317cb08aba980fa864cad90088ef477fae0f..7dca586dd472568f7803113960a6a8f3e2d8b16c 100644 (file)
@@ -1,3 +1,9 @@
+2020-07-20  Ludovic Courtès  <ludo@gnu.org>
+
+       * gdb.guile/source2.scm: Add #f first argument to 'format'.
+       * gdb.guile/types-module.exp: Remove "ERROR:" from
+       regexps since Guile 3.0 no longer prints that.
+
 2020-07-20  Ludovic Courtès  <ludo@gnu.org>
 
        * gdb.guile/scm-error.exp ("source $remote_guile_file_1"): Relax
index 39638053d93a47f3dc4e33dd8bf6cda5fe2747e9..c39f03801a6cdeb33f6f5919367e8bff6954ecd4 100644 (file)
@@ -15,5 +15,5 @@
 ;; You should have received a copy of the GNU General Public License
 ;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-(display (format "y~As" "e"))
+(display (format #f "y~As" "e"))
 (newline)
index 5a631dca8e80eae5717b19ed8cc9180eaaa17ec8..8ced6fbffb47bd82a3a143f8f8e9f02554be35d4 100644 (file)
@@ -44,7 +44,7 @@ gdb_test "guile (print (type-has-field-deep? d \"base_member\"))" \
     "= #t" "type-has-field-deep? member in baseclass"
 
 gdb_test "guile (print (type-has-field-deep? (lookup-type \"int\") \"base_member\"))" \
-    "ERROR: .*Wrong type argument in position 1 \\(expecting struct or union\\): #<gdb:type int>.*" \
+    "Wrong type argument in position 1 \\(expecting struct or union\\): #<gdb:type int>.*" \
     "type-has-field-deep? from int"
 
 gdb_scm_test_silent_cmd "guile (define enum-htab (make-enum-hashtable (lookup-type \"enum_type\")))" \
@@ -54,9 +54,9 @@ gdb_test "guile (print (hash-ref enum-htab \"B\"))" \
     "= 1" "verify make-enum-hashtable"
 
 gdb_test "guile (define bad-enum-htab (make-enum-hashtable #f))" \
-    "ERROR: .*Wrong type argument in position 1 \\(expecting gdb:type\\): #f.*" \
+    "Wrong type argument in position 1 \\(expecting gdb:type\\): #f.*" \
     "make-enum-hashtable from #f"
 
 gdb_test "guile (define bad-enum-htab (make-enum-hashtable (lookup-type \"int\")))" \
-    "ERROR: .*Wrong type argument in position 1 \\(expecting enum\\): #<gdb:type int>.*" \
+    "Wrong type argument in position 1 \\(expecting enum\\): #<gdb:type int>.*" \
     "make-enum-hashtable from int"