Remove C/C++ relevant code in Fortran specific file.
authorChristoph Weinmann <christoph.t.weinmann@intel.com>
Fri, 8 Sep 2017 13:11:47 +0000 (15:11 +0200)
committerTim Wiederhake <tim.wiederhake@intel.com>
Fri, 8 Sep 2017 13:11:47 +0000 (15:11 +0200)
Remove code relevant for printing C/C++ Integer values in a
Fortran specific file to unify printing of Fortran values.
This does not change the output.

gdb/ChangeLog
gdb/f-valprint.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.fortran/printing-types.exp [new file with mode: 0644]
gdb/testsuite/gdb.fortran/printing-types.f90 [new file with mode: 0644]

index f201b18dcaee81b9ebd0ffd9e9a5850b4a95118b..941091bfda37b8f7059cc76a80c4d8049d6ba79a 100644 (file)
@@ -1,3 +1,8 @@
+2017-09-08  Christoph Weinmann  <christoph.t.weinmann@intel.com>
+
+       * f-valprint.c (f_val_print): Remove check for one byte
+       sized integers. Remove printing of character type.
+
 2017-09-08  Frank Penczek  <frank.penczek@intel.com>
             Christoph Weinmann  <christoph.t.weinmann@intel.com>
             Bernhard Heckel  <bernhard.heckel@intel.com>
index 4234447bbb6a9c40c7cec9f346317acf9a1d95b1..8fc894ae62447034798e4d40a3df2e7dc67a3eed 100644 (file)
@@ -310,22 +310,8 @@ f_val_print (struct type *type, int embedded_offset,
                                      original_value, &opts, 0, stream);
        }
       else
-       {
-         val_print_scalar_formatted (type, embedded_offset,
-                                     original_value, options, 0, stream);
-         /* C and C++ has no single byte int type, char is used instead.
-            Since we don't know whether the value is really intended to
-            be used as an integer or a character, print the character
-            equivalent as well.  */
-         if (TYPE_LENGTH (type) == 1)
-           {
-             LONGEST c;
-
-             fputs_filtered (" ", stream);
-             c = unpack_long (type, valaddr + embedded_offset);
-             LA_PRINT_CHAR ((unsigned char) c, type, stream);
-           }
-       }
+       val_print_scalar_formatted (type, embedded_offset,
+                                   original_value, options, 0, stream);
       break;
 
     case TYPE_CODE_STRUCT:
index 5835acc994c9c9ba89dcd1a39dff0cca49678b02..8d8dc3c04c86915aca04a3683dba1c89f41d101a 100644 (file)
@@ -1,3 +1,8 @@
+2017-09-08  Christoph Weinmann  <christoph.t.weinmann@intel.com>
+
+       * gdb.fortran/printing-types.exp: New file.
+       * gdb.fortran/printing-types.exp: New file.
+
 2017-09-08  Bernhard Heckel  <bernhard.heckel@intel.com>
 
        * gdb.fortran/vla-ptype.exp: Fix typos.
diff --git a/gdb/testsuite/gdb.fortran/printing-types.exp b/gdb/testsuite/gdb.fortran/printing-types.exp
new file mode 100644 (file)
index 0000000..085de4f
--- /dev/null
@@ -0,0 +1,35 @@
+# Copyright 2017 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/>.
+
+if {[skip_fortran_tests]} { return -1 }
+
+standard_testfile .f90
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug f90}]} {
+    return -1
+}
+
+if {![runto MAIN__]} then {
+    untested "Could not run to breakpoint MAIN__"
+    return -1
+}
+
+gdb_breakpoint [gdb_get_line_number "write"]
+gdb_continue_to_breakpoint "write"
+
+gdb_test "print oneByte"       " = 1"
+gdb_test "print twobytes"      " = 2"
+gdb_test "print chvalue"       " = \'a\'"
+gdb_test "print logvalue"      " = \.TRUE\."
diff --git a/gdb/testsuite/gdb.fortran/printing-types.f90 b/gdb/testsuite/gdb.fortran/printing-types.f90
new file mode 100644 (file)
index 0000000..749aa7c
--- /dev/null
@@ -0,0 +1,27 @@
+! Copyright 2017 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 prog
+  integer(1) :: oneByte
+  integer(2) :: twoBytes
+  character  :: chValue
+  logical(1) :: logValue
+
+  oneByte  = 1
+  twoBytes = 2
+  chValue  = 'a'
+  logValue = .true.
+  write(*,*) s
+end