Skip to content

Commit a515b48

Browse files
committed
WIP: recognize flang as LLVM flang
1 parent 4b8521d commit a515b48

File tree

2 files changed

+21
-15
lines changed

2 files changed

+21
-15
lines changed

src/fpm/manifest/profiles.f90

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,8 +197,8 @@ subroutine validate_compiler_name(compiler_name, is_valid)
197197
!> Boolean value of whether compiler_name is valid or not
198198
logical, intent(out) :: is_valid
199199
select case(compiler_name)
200-
case("gfortran", "ifort", "ifx", "pgfortran", "nvfortran", "flang", "caf", &
201-
& "f95", "lfortran", "lfc", "nagfor", "crayftn", "xlf90", "ftn95")
200+
case("gfortran", "ifort", "ifx", "pgfortran", "nvfortran", "flang", "flang-new", "flang-classic", "caf", &
201+
& "f18", "f95", "lfortran", "lfc", "nagfor", "crayftn", "xlf90", "ftn95")
202202
is_valid = .true.
203203
case default
204204
is_valid = .false.
@@ -726,6 +726,11 @@ function get_default_profiles(error) result(default_profiles)
726726
type(profile_config_t), allocatable :: default_profiles(:)
727727

728728
default_profiles = [ &
729+
& new_profile('release', &
730+
& 'flang', &
731+
& OS_ALL, &
732+
& flags=' -O3 -Wall -Warray-bounds', &
733+
& is_built_in=.true.), &
729734
& new_profile('release', &
730735
& 'caf', &
731736
& OS_ALL, &

src/fpm_compiler.F90

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ module fpm_compiler
7070
id_nvhpc, &
7171
id_nag, &
7272
id_flang_classic, &
73-
id_flang_new, &
73+
id_flang, &
7474
id_f18, &
7575
id_ibmxl, &
7676
id_cray, &
@@ -614,7 +614,7 @@ function get_include_flag(self, path) result(flags)
614614
flags = "-I "//path
615615

616616
case(id_caf, id_gcc, id_f95, id_cray, id_nvhpc, id_pgi, &
617-
& id_flang_classic, id_flang_new, id_f18, &
617+
& id_flang_classic, id_flang, id_f18, &
618618
& id_intel_classic_nix, id_intel_classic_mac, &
619619
& id_intel_llvm_nix, id_lahey, id_nag, id_ibmxl, &
620620
& id_lfortran)
@@ -641,7 +641,7 @@ function get_module_flag(self, path) result(flags)
641641
case(id_nvhpc, id_pgi, id_flang_classic)
642642
flags = "-module "//path
643643

644-
case(id_flang_new, id_f18)
644+
case(id_flang, id_f18)
645645
flags = "-module-dir "//path
646646

647647
case(id_intel_classic_nix, id_intel_classic_mac, &
@@ -734,6 +734,7 @@ function get_feature_flag(self, feature) result(flags)
734734
end select
735735

736736
case("free-form")
737+
737738
select case(self%id)
738739
case(id_caf, id_gcc, id_f95)
739740
flags = flag_gnu_free_form
@@ -849,7 +850,7 @@ subroutine get_default_c_compiler(f_compiler, c_compiler)
849850
case(id_intel_llvm_nix,id_intel_llvm_windows)
850851
c_compiler = 'icx'
851852

852-
case(id_flang_classic, id_flang_new, id_f18)
853+
case(id_flang_classic, id_flang, id_f18)
853854
c_compiler='clang'
854855

855856
case(id_ibmxl)
@@ -884,7 +885,7 @@ subroutine get_default_cxx_compiler(f_compiler, cxx_compiler)
884885
case(id_intel_llvm_nix,id_intel_llvm_windows)
885886
cxx_compiler = 'icpx'
886887

887-
case(id_flang_classic, id_flang_new, id_f18)
888+
case(id_flang_classic, id_flang, id_f18)
888889
cxx_compiler='clang++'
889890

890891
case(id_ibmxl)
@@ -997,18 +998,18 @@ function get_id(compiler) result(id)
997998
return
998999
end if
9991000

1000-
if (check_compiler(compiler, "flang-new")) then
1001-
id = id_flang_new
1001+
if (check_compiler(compiler, "flang-classic")) then
1002+
id = id_flang_classic
10021003
return
10031004
end if
10041005

1005-
if (check_compiler(compiler, "f18")) then
1006-
id = id_f18
1006+
if (check_compiler(compiler, "flang-new") .or. check_compiler(compiler, "flang")) then
1007+
id = id_flang
10071008
return
10081009
end if
10091010

1010-
if (check_compiler(compiler, "flang")) then
1011-
id = id_flang_classic
1011+
if (check_compiler(compiler, "f18")) then
1012+
id = id_f18
10121013
return
10131014
end if
10141015

@@ -1752,8 +1753,8 @@ pure function compiler_name(self) result(name)
17521753
case(id_pgi); name = "pgfortran"
17531754
case(id_nvhpc); name = "nvfortran"
17541755
case(id_nag); name = "nagfor"
1755-
case(id_flang_classic); name = "flang"
1756-
case(id_flang_new); name = "flang-new"
1756+
case(id_flang_classic); name = "flang-classic"
1757+
case(id_flang); name = "flang"
17571758
case(id_f18); name = "f18"
17581759
case(id_ibmxl); name = "xlf90"
17591760
case(id_cray); name = "crayftn"

0 commit comments

Comments
 (0)