return "int4"
     } elseif {[test_compiler_info {gfortran-*} f90]} {
        return "integer\\(kind=4\\)"
-    } elseif {[test_compiler_info {flang-*} f90]} {
+    } elseif {[test_compiler_info {flang-*} f90]
+             || [test_compiler_info {nvfortran-*} f90]} {
        return "integer"
     } elseif {[test_compiler_info {ifort-*} f90]} {
        return "INTEGER\\(4\\)"
        return "int8"
     } elseif {[test_compiler_info {gfortran-*} f90]} {
        return "integer\\(kind=8\\)"
-    } elseif {[test_compiler_info {flang-*} f90]} {
+    } elseif {[test_compiler_info {flang-*} f90]
+             || [test_compiler_info {nvfortran-*} f90]} {
        return "integer\\*8"
     } elseif {[test_compiler_info {ifort-*} f90]} {
        return "INTEGER\\(8\\)"
        return "real4"
     } elseif {[test_compiler_info {gfortran-*} f90]} {
        return "real\\(kind=4\\)"
-    } elseif {[test_compiler_info {flang-*} f90]} {
+    } elseif {[test_compiler_info {flang-*} f90]
+             || [test_compiler_info {nvfortran-*} f90]} {
        return "real"
     } elseif {[test_compiler_info {ifort-*} f90]} {
        return "REAL\\(4\\)"
        return "real8"
     } elseif {[test_compiler_info {gfortran-*} f90]} {
        return "real\\(kind=8\\)"
-    } elseif {[test_compiler_info {flang-*} f90]} {
+    } elseif {[test_compiler_info {flang-*} f90]
+             || [test_compiler_info {nvfortran-*} f90]} {
        return "double precision"
     } elseif {[test_compiler_info {ifort-*} f90]} {
        return "REAL\\(8\\)"
        return "complex4"
     } elseif {[test_compiler_info {gfortran-*} f90]} {
        return "complex\\(kind=4\\)"
-    } elseif {[test_compiler_info {flang-*} f90]} {
+    } elseif {[test_compiler_info {flang-*} f90]
+             || [test_compiler_info {nvfortran-*} f90]} {
        return "complex"
     } elseif {[test_compiler_info {ifort-*} f90]} {
        return "COMPLEX\\(4\\)"
        return "complex8"
     } elseif {[test_compiler_info {gfortran-*} f90]} {
        return "complex\\(kind=8\\)"
-    } elseif {[test_compiler_info {flang-*} f90]} {
+    } elseif {[test_compiler_info {flang-*} f90]
+             || [test_compiler_info {nvfortran-*} f90]} {
        return "double complex"
     } elseif {[test_compiler_info {ifort-*} f90]} {
        return "COMPLEX\\(8\\)"
        return "logical4"
     } elseif {[test_compiler_info {gfortran-*} f90]} {
        return "logical\\(kind=4\\)"
-    } elseif {[test_compiler_info {flang-*} f90]} {
+    } elseif {[test_compiler_info {flang-*} f90]
+             || [test_compiler_info {nvfortran-*} f90]} {
        return "logical"
     } elseif {[test_compiler_info {ifort-*} f90]} {
        return "LOGICAL\\(4\\)"
        return "character\\(kind=1\\)"
     } elseif {[test_compiler_info {flang-*} f90]} {
        return "character"
+    } elseif {[test_compiler_info {nvfortran-*} f90]} {
+       return "character\\*1"
     } elseif {[test_compiler_info {ifort-*} f90]} {
        return "CHARACTER\\(1\\)"
     } elseif {[test_compiler_info {ifx-*} f90]} {
        || [test_compiler_info {ifx-*} f90]
        || [test_compiler_info {flang-llvm-*} f90]} {
        return "MAIN__"
-    } elseif {[test_compiler_info {flang-classic-*} f90]} {
+    } elseif {[test_compiler_info {flang-classic-*} f90]
+             || [test_compiler_info {nvfortran-*} f90]} {
        return "MAIN_"
     } else {
        return "unknown"