diff options
author | Tom Tromey <tromey@redhat.com> | 2011-06-29 15:32:40 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2011-06-29 15:32:40 +0000 |
commit | 3b2b8feaf4aaa62c7d55ad845c3ff34165a3af22 (patch) | |
tree | 05f9c11e7c9408d89574648e7b0b2a9c0aec63a7 /gdb/testsuite | |
parent | 168e6d44026869c1cd8dd66d7ef7cdeecdcff77d (diff) | |
download | gdb-3b2b8feaf4aaa62c7d55ad845c3ff34165a3af22.zip gdb-3b2b8feaf4aaa62c7d55ad845c3ff34165a3af22.tar.gz gdb-3b2b8feaf4aaa62c7d55ad845c3ff34165a3af22.tar.bz2 |
gdb
PR fortran/10036:
* valprint.h (generic_emit_char, generic_printstr): Declare.
* valprint.c (wchar_printable, append_string_as_wide)
(print_wchar): Move from c-lang.c.
(generic_emit_char): New function; mostly taken from c_emit_char.
(generic_printstr): New function; mostly taken from c_printstr.
* f-valprint.c (f_val_print) <TYPE_CODE_ARRAY>: Handle strings
represented as arrays.
<TYPE_CODE_CHAR>: Treat as TYPE_CODE_INT; recognize as character
type.
* f-typeprint.c (f_type_print_base) <TYPE_CODE_CHAR>: Treat
identically to TYPE_CODE_INT.
* f-lang.c (f_get_encoding): New function.
(f_emit_char): Use generic_emit_char.
(f_printchar): Replace comment.
(f_printstr): Use generic_printstr.
* dwarf2read.c (read_base_type) <DW_ATE_unsigned>: Handle Fortran
"character" types specially.
<DW_ATE_signed_char, DW_ATE_unsigned_char>: Make TYPE_CODE_CHAR
for Fortran.
* c-lang.c (wchar_printable, append_string_as_wide, print_wchar):
Move to valprint.c
(c_emit_char): Call generic_emit_char.
(c_printstr): Call generic_printstr.
gdb/testsuite
* gdb.fortran/charset.exp: New file.
* gdb.fortran/charset.f90: New file.
Diffstat (limited to 'gdb/testsuite')
-rw-r--r-- | gdb/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.fortran/charset.exp | 45 | ||||
-rw-r--r-- | gdb/testsuite/gdb.fortran/charset.f90 | 10 |
3 files changed, 60 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 83a1e8f..f156a7c 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2011-06-29 Tom Tromey <tromey@redhat.com> + * gdb.fortran/charset.exp: New file. + * gdb.fortran/charset.f90: New file. + +2011-06-29 Tom Tromey <tromey@redhat.com> + PR testsuite/12040: * lib/future.exp: New file, mostly extracted from ada.exp. Rewrote compatibility code to use rename. diff --git a/gdb/testsuite/gdb.fortran/charset.exp b/gdb/testsuite/gdb.fortran/charset.exp new file mode 100644 index 0000000..95b7037 --- /dev/null +++ b/gdb/testsuite/gdb.fortran/charset.exp @@ -0,0 +1,45 @@ +# Copyright 2011 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 3 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, see <http://www.gnu.org/licenses/>. + +# This file is part of the gdb testsuite. It contains tests for evaluating +# Fortran subarray expression. + +if { [skip_fortran_tests] } { return -1 } + +set testfile "charset" +set srcfile ${testfile}.f90 +if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug additional_flags=-fbackslash f90}] } { + return -1 +} + +if ![runto MAIN__] { + perror "Couldn't run to MAIN__" + continue +} + +gdb_breakpoint [gdb_get_line_number "break-here"] +gdb_continue_to_breakpoint "break-here" + +gdb_test "print x" \ + " = 'j'" \ + "print fortran narrow character" + +gdb_test "print c" \ + " = 4_'k'" \ + "print fortran wide character" + +gdb_test "print str" \ + " = 4_'lmnop'" \ + "print fortran wide string" diff --git a/gdb/testsuite/gdb.fortran/charset.f90 b/gdb/testsuite/gdb.fortran/charset.f90 new file mode 100644 index 0000000..15cf360 --- /dev/null +++ b/gdb/testsuite/gdb.fortran/charset.f90 @@ -0,0 +1,10 @@ +character(kind=1) :: x +character(kind=4) :: c +character(kind=4,len=5) :: str +x = 'j' +c = 4_'k' +str = 4_'lmnop' +! break-here +print *, c +print *, str +end |