xref: /llvm-project/flang/test/Integration/iso-fortran-binding.cpp (revision 796d26a37d70374e41766df659700a826dc62e34)
1*796d26a3SPete Steinfeld // UNSUPPORTED: system-windows
2*796d26a3SPete Steinfeld // RUN: split-file %s %t
3*796d26a3SPete Steinfeld // RUN: chmod +x %t/runtest.sh
4*796d26a3SPete Steinfeld // RUN: %t/runtest.sh %t %t/cppfile.cpp %flang | FileCheck %s
5*796d26a3SPete Steinfeld 
6*796d26a3SPete Steinfeld //--- cppfile.cpp
7*796d26a3SPete Steinfeld extern "C" {
8*796d26a3SPete Steinfeld #include "ISO_Fortran_binding.h"
9*796d26a3SPete Steinfeld }
10*796d26a3SPete Steinfeld #include <iostream>
11*796d26a3SPete Steinfeld 
main()12*796d26a3SPete Steinfeld int main() {
13*796d26a3SPete Steinfeld   std::cout << "PASS\n";
14*796d26a3SPete Steinfeld   return 0;
15*796d26a3SPete Steinfeld }
16*796d26a3SPete Steinfeld 
17*796d26a3SPete Steinfeld // CHECK: PASS
18*796d26a3SPete Steinfeld // clang-format off
19*796d26a3SPete Steinfeld //--- runtest.sh
20*796d26a3SPete Steinfeld #!/bin/bash
21*796d26a3SPete Steinfeld TMPDIR=$1
22*796d26a3SPete Steinfeld CPPFILE=$2
23*796d26a3SPete Steinfeld FLANG=$3
24*796d26a3SPete Steinfeld BINDIR=`dirname $FLANG`
25*796d26a3SPete Steinfeld CPPCOMP=$BINDIR/clang++
26*796d26a3SPete Steinfeld if [ -x $CPPCOMP ]
27*796d26a3SPete Steinfeld then
28*796d26a3SPete Steinfeld   $CPPCOMP $CPPFILE -o $TMPDIR/a.out
29*796d26a3SPete Steinfeld   $TMPDIR/a.out # should print "PASS"
30*796d26a3SPete Steinfeld else
31*796d26a3SPete Steinfeld   # No clang compiler, just pass by default
32*796d26a3SPete Steinfeld   echo "PASS"
33*796d26a3SPete Steinfeld fi
34