public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] gdb.fortran: Allow Flang kind printing in fortran testing
@ 2020-03-02 17:28 Sharma, Alok Kumar
  2020-03-02 18:43 ` Andrew Burgess
  0 siblings, 1 reply; 4+ messages in thread
From: Sharma, Alok Kumar @ 2020-03-02 17:28 UTC (permalink / raw)
  To: gdb-patches; +Cc: George, Jini Susan, Achra, Nitika

[-- Attachment #1: Type: text/plain, Size: 1364 bytes --]

Hi all,

I request you all to please review the patch. Below are the details.

    gdb.fortran: Allow Flang kind printing in fortran testing

    In lib/fortran.exp, in the helper function fortran_int4, kind
    parameter is expected to be printed as (kind=4) for the LLVM
    Fortran compiler, Flang along with gfortran.  And in the helper
    function fortran_int8 kind parameter is expected to be printed
    as (kind=8).  But for the Flang compiler default kind is not
    printed and non default kind is printed differently than gfortran
    as below.
      integer(kind=4) => integer
      integer(kind=8) => integer*8
      real(kind=4) => real
      real(kind=8) => double precision
      complex(kind=4) => complex
      logical(kind=4) => logical
      character(kind=1) => character
    This commit adds support for printing of kind parameter for the
    Flang.  There should be no change when testing with gfortran.

    gdb/testsuite/ChangeLog:

            * lib/fortran.exp (fortran_int4): Handle flang kind printing.
            (fortran_int8): Likewise.
            (fortran_real4): Likewise.
            (fortran_real8): Likewise.
            (fortran_complex4): Likewise.
            (fortran_logical4): Likewise.
            (fortran_character1): Likewise.

Please let me know your comments.

Regards,
Alok

[-- Attachment #2: 0001-gdb.fortran-Allow-Flang-kind-printing-in-fortran-tes.patch --]
[-- Type: application/octet-stream, Size: 4824 bytes --]

From 9c1891fe0a81ddfdd3a15414cc87c93aeebfac83 Mon Sep 17 00:00:00 2001
From: Alok Kumar Sharma <AlokKumar.Sharma@amd.com>
Date: Mon, 2 Mar 2020 22:50:13 +0530
Subject: [PATCH] gdb.fortran: Allow Flang kind printing in fortran testing

In lib/fortran.exp, in the helper function fortran_int4, kind
parameter is expected to be printed as (kind=4) for the LLVM
Fortran compiler, Flang along with gfortran.  And in the helper
function fortran_int8 kind parameter is expected to be printed
as (kind=8).  But for the Flang compiler default kind is not
printed and non default kind is printed differently than gfortran
as below.
  integer(kind=4) => integer
  integer(kind=8) => integer*8
  real(kind=4) => real
  real(kind=8) => double precision
  complex(kind=4) => complex
  logical(kind=4) => logical
  character(kind=1) => character
This commit adds support for printing of kind parameter for the
Flang.  There should be no change when testing with gfortran.

gdb/testsuite/ChangeLog:

	* lib/fortran.exp (fortran_int4): Handle flang kind printing.
	(fortran_int8): Likewise.
	(fortran_real4): Likewise.
	(fortran_real8): Likewise.
	(fortran_complex4): Likewise.
	(fortran_logical4): Likewise.
	(fortran_character1): Likewise.

Change-Id: Ieb93516b65033865e51addf49ee471d3b2967db8
---
 gdb/testsuite/lib/fortran.exp | 35 +++++++++++++++++++++--------------
 1 file changed, 21 insertions(+), 14 deletions(-)

diff --git a/gdb/testsuite/lib/fortran.exp b/gdb/testsuite/lib/fortran.exp
index 54f3293677..549ed65790 100644
--- a/gdb/testsuite/lib/fortran.exp
+++ b/gdb/testsuite/lib/fortran.exp
@@ -32,9 +32,10 @@ proc set_lang_fortran {} {
 proc fortran_int4 {} {
     if {[test_compiler_info {gcc-4-[012]-*}]} {
 	return "int4"
-    } elseif {[test_compiler_info {gcc-*}]
-	      || [test_compiler_info {clang-*}]} {
+    } elseif {[test_compiler_info {gcc-*}]} {
 	return "integer\\(kind=4\\)"
+    } elseif {[test_compiler_info {clang-*}]} {
+	return "integer"
     } elseif {[test_compiler_info {icc-*}]} {
 	return "INTEGER\\(4\\)"
     } else {
@@ -45,9 +46,10 @@ proc fortran_int4 {} {
 proc fortran_int8 {} {
     if {[test_compiler_info {gcc-4-[012]-*}]} {
 	return "int8"
-    } elseif {[test_compiler_info {gcc-*}]
-	      || [test_compiler_info {clang-*}]} {
+    } elseif {[test_compiler_info {gcc-*}]} {
 	return "integer\\(kind=8\\)"
+    } elseif {[test_compiler_info {clang-*}]} {
+	return "integer*8"
     } elseif {[test_compiler_info {icc-*}]} {
 	return "INTEGER\\(8\\)"
     } else {
@@ -58,9 +60,10 @@ proc fortran_int8 {} {
 proc fortran_real4 {} {
     if {[test_compiler_info {gcc-4-[012]-*}]} {
 	return "real4"
-    } elseif {[test_compiler_info {gcc-*}]
-	      || [test_compiler_info {clang-*}]} {
+    } elseif {[test_compiler_info {gcc-*}]} {
 	return "real\\(kind=4\\)"
+    } elseif {[test_compiler_info {clang-*}]} {
+	return "real"
     } elseif {[test_compiler_info {icc-*}]} {
 	return "REAL\\(4\\)"
     } else {
@@ -71,9 +74,10 @@ proc fortran_real4 {} {
 proc fortran_real8 {} {
     if {[test_compiler_info {gcc-4-[012]-*}]} {
 	return "real8"
-    } elseif {[test_compiler_info {gcc-*}]
-	      || [test_compiler_info {clang-*}]} {
+    } elseif {[test_compiler_info {gcc-*}]} {
 	return "real\\(kind=8\\)"
+    } elseif {[test_compiler_info {clang-*}]} {
+	return "double precision"
     } elseif {[test_compiler_info {icc-*}]} {
 	return "REAL\\(8\\)"
     } else {
@@ -84,9 +88,10 @@ proc fortran_real8 {} {
 proc fortran_complex4 {} {
     if {[test_compiler_info {gcc-4-[012]-*}]} {
 	return "complex4"
-    } elseif {[test_compiler_info {gcc-*}]
-	      || [test_compiler_info {clang-*}]} {
+    } elseif {[test_compiler_info {gcc-*}]} {
 	return "complex\\(kind=4\\)"
+    } elseif {[test_compiler_info {clang-*}]} {
+	return "complex"
     } elseif {[test_compiler_info {icc-*}]} {
 	return "COMPLEX\\(4\\)"
     } else {
@@ -97,9 +102,10 @@ proc fortran_complex4 {} {
 proc fortran_logical4 {} {
     if {[test_compiler_info {gcc-4-[012]-*}]} {
 	return "logical4"
-    } elseif {[test_compiler_info {gcc-*}]
-	      || [test_compiler_info {clang-*}]} {
+    } elseif {[test_compiler_info {gcc-*}]} {
 	return "logical\\(kind=4\\)"
+    } elseif {[test_compiler_info {clang-*}]} {
+	return "logical"
     } elseif {[test_compiler_info {icc-*}]} {
 	return "LOGICAL\\(4\\)"
     } else {
@@ -110,9 +116,10 @@ proc fortran_logical4 {} {
 proc fortran_character1 {} {
     if {[test_compiler_info {gcc-4-[012]-*}]} {
 	return "character1"
-    } elseif {[test_compiler_info {gcc-*}]
-	      || [test_compiler_info {clang-*}]} {
+    } elseif {[test_compiler_info {gcc-*}]} {
 	return "character\\(kind=1\\)"
+    } elseif {[test_compiler_info {clang-*}]} {
+	return "character"
     } elseif {[test_compiler_info {icc-*}]} {
 	return "CHARACTER\\(1\\)"
     } else {
-- 
2.17.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-03-03 18:23 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-02 17:28 [PATCH] gdb.fortran: Allow Flang kind printing in fortran testing Sharma, Alok Kumar
2020-03-02 18:43 ` Andrew Burgess
2020-03-03  5:31   ` Sharma, Alok Kumar
2020-03-03 18:23     ` Andrew Burgess

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).