From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26722 invoked by alias); 24 Sep 2013 15:14:29 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 26666 invoked by uid 89); 24 Sep 2013 15:14:28 -0000 Received: from mga09.intel.com (HELO mga09.intel.com) (134.134.136.24) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 24 Sep 2013 15:14:28 +0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.1 required=5.0 tests=AWL,BAYES_00,RDNS_NONE,SPF_SOFTFAIL autolearn=no version=3.3.2 X-HELO: mga09.intel.com Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP; 24 Sep 2013 08:11:18 -0700 X-ExtLoop1: 1 Received: from irsmsx102.ger.corp.intel.com ([163.33.3.155]) by orsmga002.jf.intel.com with ESMTP; 24 Sep 2013 08:14:04 -0700 Received: from irsmsx105.ger.corp.intel.com (163.33.3.28) by IRSMSX102.ger.corp.intel.com (163.33.3.155) with Microsoft SMTP Server (TLS) id 14.3.123.3; Tue, 24 Sep 2013 16:14:03 +0100 Received: from irsmsx102.ger.corp.intel.com ([169.254.2.234]) by IRSMSX105.ger.corp.intel.com ([169.254.7.29]) with mapi id 14.03.0123.003; Tue, 24 Sep 2013 16:14:03 +0100 From: "Weinmann, Christoph T" To: "tromey@redhat.com" CC: "gdb-patches@sourceware.org" Subject: RE: [PATCH] Remove C/C++ relevant code in Fortran specific file. Date: Tue, 24 Sep 2013 15:14:00 -0000 Message-ID: <1E04C56C2A492B449743D653DD4A15BC16CA3868@IRSMSX102.ger.corp.intel.com> References: <1380033831-22490-1-git-send-email-christoph.t.weinmann@intel.com> In-Reply-To: <1380033831-22490-1-git-send-email-christoph.t.weinmann@intel.com> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2013-09/txt/msg00863.txt.bz2 Sorry, forgot the example output for: integer(1) :: i =3D 1 integer(2) :: j =3D 2 Printing those Fortran integer(1)and integer(2) before the patch in gdb res= ults in: i =3D 1 '\001' j =3D 2 =09 After the patch, the output in gdb is: i =3D 1 j =3D 2 Sorry again, Christoph -----Original Message----- From: gdb-patches-owner@sourceware.org [mailto:gdb-patches-owner@sourceware= .org] On Behalf Of Christoph Weinmann Sent: Tuesday, September 24, 2013 4:44 PM To: tromey@redhat.com Cc: gdb-patches@sourceware.org Subject: [PATCH] Remove C/C++ relevant code in Fortran specific file. Remove code relevant for printing C/C++ Integer values in a Fortran specifi= c file to unify printing of Fortran values. 2013-09-24 Christoph Weinmann * f-valprint.c (f_val_print): Remove check for one byte sized integers. Remove printing of character type. testsuite/ * gdb.fortran/printing-types.exp: Add test program for printing one and two byte sized Integers, character and logical type. * gdb.fortran/printing-types.exp: Add test case for printing one and two byte size Integers, character, and logical type. Change-Id: I9ac9d718b6a65c039b5814938ddb5e42ef225f3d --- gdb/f-valprint.c | 16 +-------- gdb/testsuite/gdb.fortran/printing-types.exp | 49 ++++++++++++++++++++++= ++++ gdb/testsuite/gdb.fortran/printing-types.f90 | 32 +++++++++++++++++ 3 files changed, 82 insertions(+), 15 deletions(-) create mode 100644 gdb= /testsuite/gdb.fortran/printing-types.exp create mode 100644 gdb/testsuite/gdb.fortran/printing-types.f90 diff --git a/gdb/f-valprint.c b/gdb/f-valprint.c index d01d6ec..f267ad1 100= 644 --- a/gdb/f-valprint.c +++ b/gdb/f-valprint.c @@ -354,21 +354,7 @@ f_val_print (struct type *type, const gdb_byte *valadd= r, int embedded_offset, original_value, options, 0, stream); } else - { - val_print_type_code_int (type, valaddr + embedded_offset, 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) =3D=3D 1) - { - LONGEST c; - - fputs_filtered (" ", stream); - c =3D unpack_long (type, valaddr + embedded_offset); - LA_PRINT_CHAR ((unsigned char) c, type, stream); - } - } + val_print_type_code_int (type, valaddr + embedded_offset, stream); break; =20 case TYPE_CODE_STRUCT: diff --git a/gdb/testsuite/gdb.fortran/printing-types.exp b/gdb/testsuite/g= db.fortran/printing-types.exp new file mode 100644 index 0000000..b72f2ba --- /dev/null +++ b/gdb/testsuite/gdb.fortran/printing-types.exp @@ -0,0 +1,49 @@ +# Copyright 2013 Free Software Foundation, Inc. + +# Contributed by Intel Corp. + +# This program is free software; you can redistribute it and/or modify=20 +# it under the terms of the GNU General Public License as published by=20 +# the Free Software Foundation; either version 3 of the License, or #=20 +(at your option) any later version. +# +# This program is distributed in the hope that it will be useful, # but=20 +WITHOUT ANY WARRANTY; without even the implied warranty of #=20 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU=20 +General Public License for more details. +# +# You should have received a copy of the GNU General Public License #=20 +along with this program. If not, see . + +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 { + perror "Could not run to breakpoint MAIN__" + continue +} + +set bp_location [gdb_get_line_number "BP1"] + +gdb_test "break $bp_location" \ + "Breakpoint.*at.* file .*$srcfile, line $bp_location\\." \ + "Breakpoint at BP1" + +gdb_continue_to_breakpoint "write" + +# Check the printed output of small data types. +gdb_test "print oneByte" ".* =3D 1.*" "Print the value of a one byte sized= Integer type." + +gdb_test "print twobytes" ".*2 =3D 2.*" "Print the value of a two bytes si= zed Integer type." + +gdb_test "print chvalue" ".*3 =3D \'a\'.*" "Print the value of a Character= type." + +gdb_test "print logvalue" ".*4 =3D \.TRUE\..*" "Print the value of a Logic= al type." + diff --git a/gdb/testsuite/gdb.fortran/printing-types.f90 b/gdb/testsuite/g= db.fortran/printing-types.f90 new file mode 100644 index 0000000..da17dbe --- /dev/null +++ b/gdb/testsuite/gdb.fortran/printing-types.f90 @@ -0,0 +1,32 @@ +! Test file for printing simple types in Fortran. + +! Copyright 2013 Free Software Foundation, Inc. + +! Contributed by Intel Corp. + +! This program is free software; you can redistribute it and/or modify=20 +! it under the terms of the GNU General Public License as published by=20 +! the Free Software Foundation; either version 3 of the License, or !=20 +(at your option) any later version. + +! This program is distributed in the hope that it will be useful, ! but=20 +WITHOUT ANY WARRANTY; without even the implied warranty of !=20 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! GNU=20 +General Public License for more details. + +! You should have received a copy of the GNU General Public License !=20 +along with this program. If not, see . + +program prog + integer(1) :: oneByte + integer(2) :: twoBytes + character :: chValue + logical(1) :: logValue + + oneByte =3D 1 + twoBytes =3D 2 + chValue =3D 'a' + logValue =3D .true. + oneByte =3D 2 !BP1 +end + -- 1.7.0.7 Intel GmbH Dornacher Strasse 1 85622 Feldkirchen/Muenchen, Deutschland Sitz der Gesellschaft: Feldkirchen bei Muenchen Geschaeftsfuehrer: Christian Lamprechter, Hannes Schwaderer, Douglas Lusk Registergericht: Muenchen HRB 47456 Ust.-IdNr./VAT Registration No.: DE129385895 Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052