Skip to content

Commit b627120

Browse files
authored
Merge branch 'main' into features_impl
2 parents f8aed37 + 418a040 commit b627120

File tree

2 files changed

+50
-19
lines changed

2 files changed

+50
-19
lines changed

src/fpm_compiler.F90

Lines changed: 48 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
! Intel oneAPI ifx icx -module -I -qopenmp X
1111
! PGI pgfortran pgcc -module -I -mp X
1212
! NVIDIA nvfortran nvc -module -I -mp X
13-
! LLVM flang flang clang -module -I -mp X
13+
! LLVM flang flang clang -module-dir -I -fopenmp X
1414
! LFortran lfortran --- -J -I --openmp X
1515
! Lahey/Futjitsu lfc ? -M -I -openmp ?
1616
! NAG nagfor ? -mdir -I -openmp x
@@ -71,8 +71,8 @@ module fpm_compiler
7171
id_pgi, &
7272
id_nvhpc, &
7373
id_nag, &
74+
id_flang_classic, &
7475
id_flang, &
75-
id_flang_new, &
7676
id_f18, &
7777
id_ibmxl, &
7878
id_cray, &
@@ -275,7 +275,13 @@ module fpm_compiler
275275
flag_cray_free_form = " -ffree"
276276

277277
character(*), parameter :: &
278-
flag_flang_new_openmp = " -fopenmp"
278+
flag_flang_new_openmp = " -fopenmp", &
279+
flag_flang_new_debug = " -g", &
280+
flag_flang_new_opt = " -O3", &
281+
flag_flang_new_pic = " -fPIC", &
282+
flag_flang_new_free_form = " -ffree-form", &
283+
flag_flang_new_fixed_form = " -ffixed-form", &
284+
flag_flang_new_no_implicit_typing = " -fimplicit-none"
279285

280286
contains
281287

@@ -296,11 +302,11 @@ function get_default_flags(self, release) result(flags)
296302
! Append position-independent code (PIC) flag, that is necessary
297303
! building shared libraries
298304
select case (self%id)
299-
case (id_gcc, id_f95, id_caf, id_flang, id_f18, id_lfortran, &
305+
case (id_gcc, id_f95, id_caf, id_flang_classic, id_f18, id_lfortran, &
300306
id_intel_classic_nix, id_intel_classic_mac, id_intel_llvm_nix, &
301307
id_pgi, id_nvhpc, id_nag, id_cray, id_ibmxl)
302308
pic_flag = " -fPIC"
303-
case (id_flang_new)
309+
case (id_flang)
304310
! flang-new doesn't support -fPIC on Windows MSVC target
305311
if (get_os_type() == OS_WINDOWS) then
306312
pic_flag = ""
@@ -414,6 +420,11 @@ subroutine get_release_compile_flags(id, flags)
414420
flags = &
415421
flag_lfortran_opt
416422

423+
case(id_flang)
424+
flags = &
425+
flag_flang_new_opt//&
426+
flag_flang_new_pic
427+
417428
end select
418429
end subroutine get_release_compile_flags
419430

@@ -509,6 +520,12 @@ subroutine get_debug_compile_flags(id, flags)
509520

510521
case(id_lfortran)
511522
flags = ""
523+
524+
case(id_flang)
525+
flags = &
526+
flag_flang_new_debug//&
527+
flag_flang_new_pic
528+
512529
end select
513530
end subroutine get_debug_compile_flags
514531

@@ -521,7 +538,7 @@ pure subroutine set_cpp_preprocessor_flags(id, flags)
521538
select case(id)
522539
case default
523540
flag_cpp_preprocessor = ""
524-
case(id_caf, id_gcc, id_f95, id_nvhpc, id_flang_new)
541+
case(id_caf, id_gcc, id_f95, id_nvhpc, id_flang)
525542
flag_cpp_preprocessor = "-cpp"
526543
case(id_intel_classic_windows, id_intel_llvm_windows)
527544
flag_cpp_preprocessor = "/fpp"
@@ -616,7 +633,7 @@ function get_include_flag(self, path) result(flags)
616633
flags = "-I "//path
617634

618635
case(id_caf, id_gcc, id_f95, id_cray, id_nvhpc, id_pgi, &
619-
& id_flang, id_flang_new, id_f18, &
636+
& id_flang_classic, id_flang, id_f18, &
620637
& id_intel_classic_nix, id_intel_classic_mac, &
621638
& id_intel_llvm_nix, id_lahey, id_nag, id_ibmxl, &
622639
& id_lfortran)
@@ -640,10 +657,10 @@ function get_module_flag(self, path) result(flags)
640657
case(id_caf, id_gcc, id_f95, id_cray, id_lfortran)
641658
flags = "-J "//path
642659

643-
case(id_nvhpc, id_pgi, id_flang)
660+
case(id_nvhpc, id_pgi, id_flang_classic)
644661
flags = "-module "//path
645662

646-
case(id_flang_new, id_f18)
663+
case(id_flang, id_f18)
647664
flags = "-module-dir "//path
648665

649666
case(id_intel_classic_nix, id_intel_classic_mac, &
@@ -674,7 +691,7 @@ function get_shared_flag(self) result(shared_flag)
674691
select case (self%id)
675692
case default
676693
shared_flag = "-shared"
677-
case (id_gcc, id_f95, id_flang, id_flang_new, id_lfortran)
694+
case (id_gcc, id_f95, id_flang_classic, id_flang, id_lfortran)
678695
shared_flag = "-shared"
679696
case (id_intel_classic_nix, id_intel_llvm_nix, id_pgi, id_nvhpc)
680697
shared_flag = "-shared"
@@ -709,6 +726,9 @@ function get_feature_flag(self, feature) result(flags)
709726
case(id_cray)
710727
flags = flag_cray_no_implicit_typing
711728

729+
case(id_flang)
730+
flags = flag_flang_new_no_implicit_typing
731+
712732
end select
713733

714734
case("implicit-typing")
@@ -740,7 +760,7 @@ function get_feature_flag(self, feature) result(flags)
740760
case(id_caf, id_gcc, id_f95)
741761
flags = flag_gnu_free_form
742762

743-
case(id_pgi, id_nvhpc, id_flang)
763+
case(id_pgi, id_nvhpc, id_flang_classic)
744764
flags = flag_pgi_free_form
745765

746766
case(id_nag)
@@ -756,14 +776,17 @@ function get_feature_flag(self, feature) result(flags)
756776
case(id_cray)
757777
flags = flag_cray_free_form
758778

779+
case(id_flang)
780+
flags = flag_flang_new_free_form
781+
759782
end select
760783

761784
case("fixed-form")
762785
select case(self%id)
763786
case(id_caf, id_gcc, id_f95)
764787
flags = flag_gnu_fixed_form
765788

766-
case(id_pgi, id_nvhpc, id_flang)
789+
case(id_pgi, id_nvhpc, id_flang_classic)
767790
flags = flag_pgi_fixed_form
768791

769792
case(id_nag)
@@ -782,6 +805,9 @@ function get_feature_flag(self, feature) result(flags)
782805
case(id_lfortran)
783806
flags = flag_lfortran_fixed_form
784807

808+
case(id_flang)
809+
flags = flag_flang_new_fixed_form
810+
785811
end select
786812

787813
case("default-form")
@@ -851,7 +877,7 @@ subroutine get_default_c_compiler(f_compiler, c_compiler)
851877
case(id_intel_llvm_nix,id_intel_llvm_windows)
852878
c_compiler = 'icx'
853879

854-
case(id_flang, id_flang_new, id_f18)
880+
case(id_flang_classic, id_flang, id_f18)
855881
c_compiler='clang'
856882

857883
case(id_ibmxl)
@@ -886,7 +912,7 @@ subroutine get_default_cxx_compiler(f_compiler, cxx_compiler)
886912
case(id_intel_llvm_nix,id_intel_llvm_windows)
887913
cxx_compiler = 'icpx'
888914

889-
case(id_flang, id_flang_new, id_f18)
915+
case(id_flang_classic, id_flang, id_f18)
890916
cxx_compiler='clang++'
891917

892918
case(id_ibmxl)
@@ -1000,7 +1026,7 @@ function match_compiler_type(compiler) result(id)
10001026
end if
10011027

10021028
if (check_compiler(compiler, "flang-new")) then
1003-
id = id_flang_new
1029+
id = id_flang
10041030
return
10051031
end if
10061032

@@ -1009,6 +1035,11 @@ function match_compiler_type(compiler) result(id)
10091035
return
10101036
end if
10111037

1038+
if (check_compiler(compiler, "flang-classic")) then
1039+
id = id_flang_classic
1040+
return
1041+
end if
1042+
10121043
if (check_compiler(compiler, "flang")) then
10131044
id = id_flang
10141045
return
@@ -1793,8 +1824,8 @@ pure function compiler_id_name(id) result(name)
17931824
case(id_pgi); name = "pgfortran"
17941825
case(id_nvhpc); name = "nvfortran"
17951826
case(id_nag); name = "nagfor"
1796-
case(id_flang); name = "flang"
1797-
case(id_flang_new); name = "flang-new"
1827+
case(id_flang_classic); name = "flang"
1828+
case(id_flang); name = "flang-new"
17981829
case(id_f18); name = "f18"
17991830
case(id_ibmxl); name = "xlf90"
18001831
case(id_cray); name = "crayftn"

src/metapackage/fpm_meta_openmp.f90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ module fpm_meta_openmp
22
use fpm_compiler, only: compiler_t, id_gcc, id_f95, id_intel_classic_windows, &
33
id_intel_llvm_windows, id_intel_classic_nix, id_intel_llvm_nix, &
44
id_intel_classic_mac, id_pgi, id_nvhpc, id_ibmxl, id_nag, id_lfortran, &
5-
id_flang, id_flang_new, flag_gnu_openmp, flag_intel_openmp_win, &
5+
id_flang_classic, id_flang, flag_gnu_openmp, flag_intel_openmp_win, &
66
flag_intel_openmp, flag_pgi_openmp, flag_nag_openmp, &
77
flag_lfortran_openmp, flag_flang_new_openmp
88
use fpm_strings, only: string_t
@@ -73,7 +73,7 @@ subroutine init_openmp(this,compiler,all_meta,error)
7373
openmp_flag = flag_lfortran_openmp
7474
link_flag = flag_lfortran_openmp
7575

76-
case (id_flang, id_flang_new)
76+
case (id_flang_classic, id_flang)
7777
openmp_flag = flag_flang_new_openmp
7878
link_flag = flag_flang_new_openmp
7979

0 commit comments

Comments
 (0)