aboutsummaryrefslogtreecommitdiff
path: root/src/fpm_compiler.f90
diff options
context:
space:
mode:
authorLKedward <laurence.kedward@bristol.ac.uk>2021-06-05 14:37:40 +0100
committerLKedward <laurence.kedward@bristol.ac.uk>2021-06-05 14:37:40 +0100
commit7e9c3390b04a0fc746812abd65a574a9dd219c81 (patch)
tree66a5df663bf46aa1df7c8cf174f10902ac06f1e1 /src/fpm_compiler.f90
parent086ae55dfa09c1924d2b54bc88ddb1827f9dcfa7 (diff)
parent845217f13a23de91021ba393ef432d68683af282 (diff)
downloadfpm-7e9c3390b04a0fc746812abd65a574a9dd219c81.tar.gz
fpm-7e9c3390b04a0fc746812abd65a574a9dd219c81.zip
Merge branch 'upstream_master' into backend-grace
Diffstat (limited to 'src/fpm_compiler.f90')
-rw-r--r--src/fpm_compiler.f9035
1 files changed, 30 insertions, 5 deletions
diff --git a/src/fpm_compiler.f90 b/src/fpm_compiler.f90
index a499bb9..389ba94 100644
--- a/src/fpm_compiler.f90
+++ b/src/fpm_compiler.f90
@@ -35,7 +35,8 @@ use fpm_environment, only: &
OS_WINDOWS, &
OS_CYGWIN, &
OS_SOLARIS, &
- OS_FREEBSD
+ OS_FREEBSD, &
+ OS_OPENBSD
implicit none
public :: is_unknown_compiler
public :: get_module_flags
@@ -239,7 +240,6 @@ subroutine get_debug_compile_flags(id, flags)
& -g&
& -assume byterecl&
& -traceback&
- & -coarray=single&
&'
case(id_intel_classic_mac)
flags = '&
@@ -260,7 +260,6 @@ subroutine get_debug_compile_flags(id, flags)
& /Z7&
& /assume:byterecl&
& /traceback&
- & /Qcoarray:single&
&'
case(id_intel_llvm_nix, id_intel_llvm_unknown)
flags = '&
@@ -271,7 +270,6 @@ subroutine get_debug_compile_flags(id, flags)
& -g&
& -assume byterecl&
& -traceback&
- & -coarray=single&
&'
case(id_intel_llvm_windows)
flags = '&
@@ -281,7 +279,6 @@ subroutine get_debug_compile_flags(id, flags)
& /Od&
& /Z7&
& /assume:byterecl&
- & /Qcoarray:single&
&'
case(id_nag)
flags = '&
@@ -332,6 +329,34 @@ subroutine get_module_flags(compiler, modpath, flags)
end subroutine get_module_flags
+subroutine get_default_c_compiler(f_compiler, c_compiler)
+ character(len=*), intent(in) :: f_compiler
+ character(len=:), allocatable, intent(out) :: c_compiler
+ integer(compiler_enum) :: id
+
+ id = get_compiler_id(f_compiler)
+
+ select case(id)
+
+ case(id_intel_classic_nix, id_intel_classic_mac, id_intel_classic_windows, id_intel_classic_unknown)
+ c_compiler = 'icc'
+
+ case(id_intel_llvm_nix,id_intel_llvm_windows, id_intel_llvm_unknown)
+ c_compiler = 'icx'
+
+ case(id_flang)
+ c_compiler='clang'
+
+ case(id_ibmxl)
+ c_compiler='xlc'
+
+ case default
+ ! Fall-back to using Fortran compiler
+ c_compiler = f_compiler
+ end select
+
+end subroutine get_default_c_compiler
+
function get_compiler_id(compiler) result(id)
character(len=*), intent(in) :: compiler
integer(kind=compiler_enum) :: id