gdb/fortran: Allow for using Flang in Fortran testing
authorAlok Kumar Sharma <alokkumar.sharma@amd.com>
Tue, 4 Feb 2020 17:17:20 +0000 (17:17 +0000)
committerAndrew Burgess <andrew.burgess@embecosm.com>
Tue, 4 Feb 2020 17:17:20 +0000 (17:17 +0000)
In lib/fortran.exp, in the helper function fortran_int4, there is
currently no support for the LLVM Fortran compiler, Flang.  As a
result we return the default pattern 'unknown' to match against all
4-byte integer types, which causes many tests to fail.

The same is true for all of the other helper functions related to
finding a suitable type pattern.

This commit adds support for Flang.  There should be no change when
testing with gfortran.

gdb/testsuite/ChangeLog:

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

Change-Id: Ife0d9828f78361fbd992bf21af746042b017dafc

gdb/testsuite/ChangeLog
gdb/testsuite/lib/fortran.exp

index cd496e7837cd5d1e0c63bb6854151cd1f83cdfe6..eb4388031b5449cc5dcf3b2efa55ad904da3c6f3 100644 (file)
@@ -1,3 +1,13 @@
+2020-02-04  Alok Kumar Sharma  <alokkumar.sharma@amd.com>
+
+       * lib/fortran.exp (fortran_int4): Handle clang.
+       (fortran_int8): Likewise.
+       (fortran_real4): Likewise.
+       (fortran_real8): Likewise.
+       (fortran_complex4): Likewise.
+       (fortran_logical4): Likewise.
+       (fortran_character1): Likewise.
+
 2020-02-04  Tom de Vries  <tdevries@suse.de>
 
        * README (Race detection): Add note.
index 0c2627d82a9175706679bd81c802b56bce061aff..54f32936773930b47e334607b91ac5a3643ba098 100644 (file)
@@ -32,7 +32,8 @@ proc set_lang_fortran {} {
 proc fortran_int4 {} {
     if {[test_compiler_info {gcc-4-[012]-*}]} {
        return "int4"
-    } elseif {[test_compiler_info {gcc-*}]} {
+    } elseif {[test_compiler_info {gcc-*}]
+             || [test_compiler_info {clang-*}]} {
        return "integer\\(kind=4\\)"
     } elseif {[test_compiler_info {icc-*}]} {
        return "INTEGER\\(4\\)"
@@ -44,7 +45,8 @@ proc fortran_int4 {} {
 proc fortran_int8 {} {
     if {[test_compiler_info {gcc-4-[012]-*}]} {
        return "int8"
-    } elseif {[test_compiler_info {gcc-*}]} {
+    } elseif {[test_compiler_info {gcc-*}]
+             || [test_compiler_info {clang-*}]} {
        return "integer\\(kind=8\\)"
     } elseif {[test_compiler_info {icc-*}]} {
        return "INTEGER\\(8\\)"
@@ -56,7 +58,8 @@ proc fortran_int8 {} {
 proc fortran_real4 {} {
     if {[test_compiler_info {gcc-4-[012]-*}]} {
        return "real4"
-    } elseif {[test_compiler_info {gcc-*}]} {
+    } elseif {[test_compiler_info {gcc-*}]
+             || [test_compiler_info {clang-*}]} {
        return "real\\(kind=4\\)"
     } elseif {[test_compiler_info {icc-*}]} {
        return "REAL\\(4\\)"
@@ -68,7 +71,8 @@ proc fortran_real4 {} {
 proc fortran_real8 {} {
     if {[test_compiler_info {gcc-4-[012]-*}]} {
        return "real8"
-    } elseif {[test_compiler_info {gcc-*}]} {
+    } elseif {[test_compiler_info {gcc-*}]
+             || [test_compiler_info {clang-*}]} {
        return "real\\(kind=8\\)"
     } elseif {[test_compiler_info {icc-*}]} {
        return "REAL\\(8\\)"
@@ -80,7 +84,8 @@ proc fortran_real8 {} {
 proc fortran_complex4 {} {
     if {[test_compiler_info {gcc-4-[012]-*}]} {
        return "complex4"
-    } elseif {[test_compiler_info {gcc-*}]} {
+    } elseif {[test_compiler_info {gcc-*}]
+             || [test_compiler_info {clang-*}]} {
        return "complex\\(kind=4\\)"
     } elseif {[test_compiler_info {icc-*}]} {
        return "COMPLEX\\(4\\)"
@@ -92,7 +97,8 @@ proc fortran_complex4 {} {
 proc fortran_logical4 {} {
     if {[test_compiler_info {gcc-4-[012]-*}]} {
        return "logical4"
-    } elseif {[test_compiler_info {gcc-*}]} {
+    } elseif {[test_compiler_info {gcc-*}]
+             || [test_compiler_info {clang-*}]} {
        return "logical\\(kind=4\\)"
     } elseif {[test_compiler_info {icc-*}]} {
        return "LOGICAL\\(4\\)"
@@ -104,7 +110,8 @@ proc fortran_logical4 {} {
 proc fortran_character1 {} {
     if {[test_compiler_info {gcc-4-[012]-*}]} {
        return "character1"
-    } elseif {[test_compiler_info {gcc-*}]} {
+    } elseif {[test_compiler_info {gcc-*}]
+             || [test_compiler_info {clang-*}]} {
        return "character\\(kind=1\\)"
     } elseif {[test_compiler_info {icc-*}]} {
        return "CHARACTER\\(1\\)"