Update to upstream version '3.27.6'
with Debian dir 0fd1b08730
ci/unstable
commit
53d7186fc9
@ -0,0 +1,4 @@
|
||||
set(CMAKE_Fortran_MODULE_DIRECTORY "${PROJECT_BINARY_DIR}/include")
|
||||
add_library(objmod OBJECT objmod.f90)
|
||||
add_executable(objmain objmain.f90)
|
||||
target_link_libraries(objmain PRIVATE objmod)
|
@ -0,0 +1,15 @@
|
||||
# See https://gist.github.com/scivision/8e3070319f0577f7d3efcba863638cae
|
||||
set(CMAKE_Fortran_MODULE_DIRECTORY "${PROJECT_BINARY_DIR}/include")
|
||||
add_library(m1 OBJECT m1.f90)
|
||||
|
||||
add_library(m2 OBJECT m2.f90)
|
||||
target_link_libraries(m2 PRIVATE m1)
|
||||
|
||||
add_library(m3 OBJECT m3.f90)
|
||||
target_link_libraries(m3 PRIVATE m2)
|
||||
|
||||
add_library(m4 OBJECT m4.f90)
|
||||
target_link_libraries(m4 PRIVATE m3)
|
||||
|
||||
add_executable(main25223 main.f90)
|
||||
target_link_libraries(main25223 PRIVATE m4 m3 m2 m1)
|
@ -0,0 +1,11 @@
|
||||
module m1
|
||||
|
||||
implicit none
|
||||
|
||||
contains
|
||||
|
||||
pure real function pi()
|
||||
pi = 4*atan(1.)
|
||||
end function
|
||||
|
||||
end module m1
|
@ -0,0 +1,13 @@
|
||||
module m2
|
||||
|
||||
use m1, only : pi
|
||||
|
||||
implicit none
|
||||
|
||||
contains
|
||||
|
||||
pure real function twopi()
|
||||
twopi = 2*pi()
|
||||
end function
|
||||
|
||||
end module
|
@ -0,0 +1,13 @@
|
||||
module m3
|
||||
|
||||
use m2, only : twopi
|
||||
|
||||
implicit none
|
||||
|
||||
contains
|
||||
|
||||
pure real function fourpi()
|
||||
fourpi = 2*twopi()
|
||||
end function
|
||||
|
||||
end module
|
@ -0,0 +1,13 @@
|
||||
module m4
|
||||
|
||||
use m3, only : fourpi
|
||||
|
||||
implicit none
|
||||
|
||||
contains
|
||||
|
||||
pure real function halfpi()
|
||||
halfpi = fourpi() / 8.0
|
||||
end function
|
||||
|
||||
end module
|
@ -0,0 +1,15 @@
|
||||
program main
|
||||
|
||||
use m1, only : pi
|
||||
use m4, only : halfpi
|
||||
|
||||
implicit none
|
||||
|
||||
real :: rpi, rhalfpi
|
||||
|
||||
rpi = pi() / 2
|
||||
rhalfpi = halfpi()
|
||||
|
||||
print '(a,ES15.8)', 'floating point precision loss: ', rpi - rhalfpi
|
||||
|
||||
end program
|
@ -0,0 +1,9 @@
|
||||
enable_language(C)
|
||||
|
||||
add_library(fortran_source_iface_sources STATIC lib.c)
|
||||
target_sources(fortran_source_iface_sources
|
||||
INTERFACE
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/iface.f90")
|
||||
|
||||
add_library(lib25252-iface-sources lib.f90)
|
||||
target_link_libraries(lib25252-iface-sources PRIVATE fortran_source_iface_sources)
|
@ -0,0 +1,11 @@
|
||||
module m1
|
||||
|
||||
implicit none
|
||||
|
||||
contains
|
||||
|
||||
pure real function pi()
|
||||
pi = 4*atan(1.)
|
||||
end function
|
||||
|
||||
end module m1
|
@ -0,0 +1,4 @@
|
||||
int f()
|
||||
{
|
||||
return 0;
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
module lib
|
||||
|
||||
use m1, only : pi
|
||||
|
||||
implicit none
|
||||
|
||||
contains
|
||||
|
||||
pure real function func()
|
||||
func = pi()
|
||||
end function
|
||||
|
||||
end module
|
@ -0,0 +1,5 @@
|
||||
add_library(fortran_source_iface INTERFACE
|
||||
iface.f90)
|
||||
|
||||
add_library(lib25252-iface-target lib.f90)
|
||||
add_dependencies(lib25252-iface-target fortran_source_iface)
|
@ -0,0 +1,5 @@
|
||||
program main
|
||||
|
||||
implicit none
|
||||
|
||||
end program
|
@ -0,0 +1,11 @@
|
||||
module lib
|
||||
|
||||
implicit none
|
||||
|
||||
contains
|
||||
|
||||
pure real function func()
|
||||
func = 1.0
|
||||
end function
|
||||
|
||||
end module
|
@ -0,0 +1,6 @@
|
||||
add_custom_target(custom_target_with_fortran
|
||||
COMMAND "${CMAKE_COMMAND}" -E echo "custom target with fortran sources"
|
||||
SOURCES custom_target.f90)
|
||||
|
||||
add_library(lib25252 lib.f90)
|
||||
add_dependencies(lib25252 custom_target_with_fortran)
|
@ -0,0 +1,5 @@
|
||||
program main
|
||||
|
||||
implicit none
|
||||
|
||||
end program
|
@ -0,0 +1,11 @@
|
||||
module lib
|
||||
|
||||
implicit none
|
||||
|
||||
contains
|
||||
|
||||
pure real function func()
|
||||
func = 1.0
|
||||
end function
|
||||
|
||||
end module
|
Loading…
Reference in new issue