[flang-commits] [flang] [flang] Put ISO_Fortran_binding.h where it can be easily used (PR #70129)
Kiran Chandramohan via flang-commits
flang-commits at lists.llvm.org
Thu Oct 26 09:06:09 PDT 2023
================
@@ -0,0 +1,78 @@
+! UNSUPPORTED: system-windows
+! RUN: split-file %s %t
+! RUN: chmod +x %t/runtest.sh
+! RUN: %t/runtest.sh %t %flang $t/ffile.f90 $t/cfile.c
+
+!--- ffile.f90
+subroutine foo(a) bind(c)
+ integer :: a(:)
+ if (lbound(a, 1) .ne. 1) then
+ print *, 'FAIL expected 1 for lbound but got ',lbound(a, 1)
+ stop 1
+ endif
+
+ if (ubound(a, 1) .ne. 10) then
+ print *, 'FAIL expected 10 for ubound but got ',ubound(a, 1)
+ stop 1
+ endif
+
+ do i = lbound(a,1),ubound(a,1)
+ !print *, a(i)
+ if (a(i) .ne. i) then
+ print *, 'FAIL expected', i, ' for index ',i, ' but got ',a(i)
+ stop 1
+ endif
+ enddo
+ print *, 'PASS'
+end subroutine foo
+
+! CHECK: PASS
+!--- cfile.c
+#include <stdio.h>
+#include <stdlib.h>
+#include <ISO_Fortran_binding.h>
+
+void foo(CFI_cdesc_t*);
+
+int a[10];
+
+int main() {
+ int i, res;
+ static CFI_CDESC_T(1) r1;
+ CFI_cdesc_t *desc = (CFI_cdesc_t*)&r1;
+ CFI_index_t extent[1] = {10};
+
+ for(i=0; i<10; ++i) {
+ a[i] = i+1;
+ }
+
+ res = CFI_establish(desc, (void*)a, CFI_attribute_other, CFI_type_int32_t,
+ sizeof(int), 1, extent);
+ if (res != 0) {
+ printf("FAIL CFI_establish returned %d instead of 0.\n",res);
+ exit(1);
+ }
+
+ foo(desc);
+ return 0;
+}
+!--- runtest.sh
+#!/bin/bash
+export BINDIR=`dirname $2`
+export CCOMP=$BINDIR/clang
+echo "CCOMP: $CCOMP" > /home/psteinfeld/log
+echo "BINDIR: $BINDIR" >> /home/psteinfeld/log
----------------
kiranchandramohan wrote:
Is this hardcoding of your name a leftover (here and below)?
https://github.com/llvm/llvm-project/pull/70129
More information about the flang-commits
mailing list