summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/bind_c_usage_19.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/bind_c_usage_19.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/bind_c_usage_19.f9031
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/bind_c_usage_19.f90 b/gcc/testsuite/gfortran.dg/bind_c_usage_19.f90
new file mode 100644
index 000000000..30f9f5ee1
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/bind_c_usage_19.f90
@@ -0,0 +1,31 @@
+! { dg-do compile }
+function return_char1(i) bind(c,name='return_char1')
+ use iso_c_binding
+ implicit none
+ integer(c_int) :: i
+ character(c_char) :: j
+ character(c_char) :: return_char1
+
+ j = achar(i)
+ return_char1 = j
+end function return_char1
+function return_char2(i) result(output) bind(c,name='return_char2')
+ use iso_c_binding
+ implicit none
+ integer(c_int) :: i
+ character(c_char) :: j
+ character(c_char) :: output
+
+ j = achar(i)
+ output = j
+end function return_char2
+function return_char3(i) bind(c,name='return_char3') result(output)
+ use iso_c_binding
+ implicit none
+ integer(c_int) :: i
+ character(c_char) :: j
+ character(c_char) :: output
+
+ j = achar(i)
+ output = j
+end function return_char3