From 8caabe694ff79ac1c96df1af645cec84001870d6 Mon Sep 17 00:00:00 2001 From: Anthony Green Date: Mon, 24 Jul 2000 05:04:19 +0000 Subject: [PATCH] * language.c: Include jv-lang.h. (lang_bool_type): Add case for java booleans. And in testsuite... * gdb.java/jv-exp.exp: New file. --- gdb/ChangeLog | 5 +++ gdb/language.c | 10 +++++ gdb/testsuite/ChangeLog | 4 ++ gdb/testsuite/gdb.java/jv-exp.exp | 66 +++++++++++++++++++++++++++++++ 4 files changed, 85 insertions(+) create mode 100644 gdb/testsuite/gdb.java/jv-exp.exp diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 79f9afd15f..e3030f911a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +Sun Jul 23 21:40:55 2000 Anthony Green + + * language.c: Include jv-lang.h. + (lang_bool_type): Add case for java booleans. + Mon Jul 24 11:23:14 2000 Andrew Cagney * dwarf2read.c (address_size): Delete file wide global. diff --git a/gdb/language.c b/gdb/language.c index fd81f6738c..dc5ae40843 100644 --- a/gdb/language.c +++ b/gdb/language.c @@ -41,6 +41,7 @@ #include "language.h" #include "target.h" #include "parser-defs.h" +#include "jv-lang.h" extern void _initialize_language (void); @@ -986,6 +987,15 @@ lang_bool_type () return type; } return builtin_type_bool; + case language_java: + sym = lookup_symbol ("boolean", NULL, VAR_NAMESPACE, NULL, NULL); + if (sym) + { + type = SYMBOL_TYPE (sym); + if (type && TYPE_CODE (type) == TYPE_CODE_BOOL) + return type; + } + return java_boolean_type; default: return builtin_type_int; } diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 77bc0e257e..e7965e7fc4 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +Sun Jul 23 21:42:34 2000 Anthony Green + + * gdb.java/jv-exp.exp: New file. + Sun Jul 23 21:02:42 2000 Anthony Green * configure: Rebuilt. diff --git a/gdb/testsuite/gdb.java/jv-exp.exp b/gdb/testsuite/gdb.java/jv-exp.exp new file mode 100644 index 0000000000..3a54e50afa --- /dev/null +++ b/gdb/testsuite/gdb.java/jv-exp.exp @@ -0,0 +1,66 @@ +# Copyright (C) 2000 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# Please email any bugs, comments, and/or additions to this file to: +# bug-gdb@prep.ai.mit.edu + +if $tracelevel then { + strace $tracelevel +} + +set prms_id 0 +set bug_id 0 + +# Set the current language to Java. This counts as a test. If it +# fails, then we skip the other tests. + +proc set_lang_java {} { + global gdb_prompt + + if [gdb_test "set language java" "" "set language java"] { + return 0 + } + + if [gdb_test "show language" ".* source language is \"java\".*"] { + return 0 + } + return 1; +} + +proc test_comparisons {} { + global gdb_prompt + + # Test various comparisons. + + gdb_test "p 1 > 2" " = false" + gdb_test "p 1 < 2" " = true" +} + +# Start with a fresh gdb. + +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir + +gdb_test "set print sevenbit-strings" "" +gdb_test "set print address off" "" "" +gdb_test "set width 0" "" + +if [set_lang_java] then { + test_comparisons +} else { + fail "Java expression tests suppressed" +} -- 2.34.1