guile: Add support for Guile 3.0.

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
This commit is contained in:
Ludovic Courtès 2020-06-28 16:25:40 +02:00 committed by Simon Marchi
parent 68cf161c24
commit ae5369e773
10 changed files with 29 additions and 10 deletions

View 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>

View File

@ -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',

2
gdb/configure vendored
View File

@ -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)

View 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)

View 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

View 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

View 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);

View 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

View 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)

View 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"