aboutsummaryrefslogtreecommitdiff
path: root/example_packages/submodules
diff options
context:
space:
mode:
Diffstat (limited to 'example_packages/submodules')
-rw-r--r--example_packages/submodules/.gitignore1
-rw-r--r--example_packages/submodules/fpm.toml1
-rw-r--r--example_packages/submodules/src/child1.f9016
-rw-r--r--example_packages/submodules/src/child2.f9010
-rw-r--r--example_packages/submodules/src/grandchild.f9010
-rw-r--r--example_packages/submodules/src/parent.f9015
6 files changed, 53 insertions, 0 deletions
diff --git a/example_packages/submodules/.gitignore b/example_packages/submodules/.gitignore
new file mode 100644
index 0000000..a007fea
--- /dev/null
+++ b/example_packages/submodules/.gitignore
@@ -0,0 +1 @@
+build/*
diff --git a/example_packages/submodules/fpm.toml b/example_packages/submodules/fpm.toml
new file mode 100644
index 0000000..cfc3d61
--- /dev/null
+++ b/example_packages/submodules/fpm.toml
@@ -0,0 +1 @@
+name = "submodules"
diff --git a/example_packages/submodules/src/child1.f90 b/example_packages/submodules/src/child1.f90
new file mode 100644
index 0000000..dbd0fa5
--- /dev/null
+++ b/example_packages/submodules/src/child1.f90
@@ -0,0 +1,16 @@
+submodule(parent) child1
+implicit none
+
+interface
+ module function my_fun() result (b)
+ integer :: b
+ end function my_fun
+end interface
+
+contains
+
+module procedure my_sub1
+ a = 1
+end procedure my_sub1
+
+end submodule child1 \ No newline at end of file
diff --git a/example_packages/submodules/src/child2.f90 b/example_packages/submodules/src/child2.f90
new file mode 100644
index 0000000..179cc32
--- /dev/null
+++ b/example_packages/submodules/src/child2.f90
@@ -0,0 +1,10 @@
+submodule(parent) child2
+implicit none
+
+contains
+
+module procedure my_sub2
+ a = 2
+end procedure my_sub2
+
+end submodule child2 \ No newline at end of file
diff --git a/example_packages/submodules/src/grandchild.f90 b/example_packages/submodules/src/grandchild.f90
new file mode 100644
index 0000000..8c5aa17
--- /dev/null
+++ b/example_packages/submodules/src/grandchild.f90
@@ -0,0 +1,10 @@
+submodule(parent:child1) grandchild
+implicit none
+
+contains
+
+module procedure my_fun
+ b = 2
+end procedure my_fun
+
+end submodule grandchild \ No newline at end of file
diff --git a/example_packages/submodules/src/parent.f90 b/example_packages/submodules/src/parent.f90
new file mode 100644
index 0000000..570827c
--- /dev/null
+++ b/example_packages/submodules/src/parent.f90
@@ -0,0 +1,15 @@
+module parent
+implicit none
+
+interface
+
+ module subroutine my_sub1(a)
+ integer, intent(out) :: a
+ end subroutine my_sub1
+
+ module subroutine my_sub2(a)
+ integer, intent(out) :: a
+ end subroutine my_sub2
+end interface
+
+end module parent \ No newline at end of file