Fix PR fortran/17237: bug in f-valprint.c

This commit fixes the PR mentioned in $subject.  It is about a set but
unused variable that refers to the output format of integer values
printed in Fortran.

This was probably a thinko (like most set-but-unused-vars), but it
could cause an internal error depending on the scenario.  I am sending
a testcase which triggers this error as well.

gdb/ChangeLog:
2014-09-04  Sergio Durigan Junior  <sergiodj@redhat.com>

	PR fortran/17237
	* f-valprint.c (f_val_print): Specify the correct print option to
	use when printing integer values.

gdb/testsuite/ChangeLog:
2014-09-04  Sergio Durigan Junior  <sergiodj@redhat.com>

	PR fortran/17237
	* gdb.fortran/print-formatted.exp: New file.
	* gdb.fortran/print-formatted.f90: Likewise.
This commit is contained in:
Sergio Durigan Junior 2014-09-04 10:28:31 -04:00
parent 5ee44bfa6b
commit eb0b04635f
5 changed files with 72 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2014-09-04 Sergio Durigan Junior <sergiodj@redhat.com>
PR fortran/17237
* f-valprint.c (f_val_print): Specify the correct print option to
use when printing integer values.
2014-09-04 Gary Benson <gbenson@redhat.com>
* x86-linux-nat.c (x86_linux_dr_get, x86_linux_dr_set):

View File

@ -349,7 +349,7 @@ f_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
opts.format = (options->format ? options->format
: options->output_format);
val_print_scalar_formatted (type, valaddr, embedded_offset,
original_value, options, 0, stream);
original_value, &opts, 0, stream);
}
else
{

View File

@ -1,3 +1,9 @@
2014-09-04 Sergio Durigan Junior <sergiodj@redhat.com>
PR fortran/17237
* gdb.fortran/print-formatted.exp: New file.
* gdb.fortran/print-formatted.f90: Likewise.
2014-09-03 Sasha Smundak <asmundak@google.com>
* gdb.python/py-frame.exp: Test Frame.read_register.

View File

@ -0,0 +1,39 @@
# Copyright (C) 2014 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/>.
load_lib "fortran.exp"
if { [skip_fortran_tests] } {
continue
}
standard_testfile .f90
if { [prepare_for_testing $testfile.exp $testfile $srcfile {debug f90}] } {
return -1
}
if { ![runto MAIN__] } {
fail "runto MAIN__"
return -1
}
gdb_test "next" ".*" "go to the end of the program"
gdb_test "set output-radix 16" \
"Output radix now set to decimal 16, hex 10, octal 20." \
"setting the output-radix to 16"
gdb_test "print ii" " = 0xa" "print ii in hex"

View File

@ -0,0 +1,20 @@
! Copyright 2014 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/>.
program printformatted
integer :: ii
ii = 10
end program printformatted