//CXFORTPM JOBCARD INFORMATION
//*------------------------------------------------------------------
//*                COPYRIGHT (C) 1995, SAS INSTITUTE INC.
//*                  UNPUBLISHED - ALL RIGHTS RESERVED
//*                    S A S / C   S A M P L E
//*
//*       NAME: CXFORTPM
//*   LANGUAGE: JCL
//*    PURPOSE: THIS EXAMPLE DEMONSTRATES A C++ MAIN CALLING A
//*             FORTRAN ROUTINE THAT TAKES ARGUMENTS.
//*             IT CONSISTS OF SAMPLE LIBRARY MEMBERS
//*             CXFORTPC, CXFORTPF, AND CXFORTPM.
//*             THIS JCL COMPILES, LINKS, AND EXECUTES THESE MODULES.
//*  MISC NOTES: THE FOLLOWING LSCL102 MESSAGES CAN BE IGNORED:
//*     WARNING: CAN'T OPEN FILE DURING AUTOCALL: DDN:SYSLIB(IFYVINTE)
//*     WARNING: CAN'T OPEN FILE DURING AUTOCALL: DDN:SYSLIB(VFEE#)
//*     WARNING: CAN'T OPEN FILE DURING AUTOCALL: DDN:SYSLIB(VFES#)
//*     WARNING: CAN'T OPEN FILE DURING AUTOCALL: DDN:SYSLIB(VFEIM#)
//*     WARNING: CAN'T OPEN FILE DURING AUTOCALL: DDN:SYSLIB(FORPGM)
//*-----------------------------------------------------------------
//*****************************************************************
//*  NOTE: Verify the statements indicated by the "<== CHECK"
//*   have been customized for the local environment.
//*****************************************************************
//*****************************************************************
//* AN EXAMPLE SHOWING C++ CALLING FORTRAN USING ILCLINK
//*
//FCOMP    EXEC FORTVC,PARM=NAME(FORPGM)                      <== CHECK
//FORT.SYSLIN DD DSN=your.object.library(CXFORTPF),DISP=OLD <== CHECK
//FORT.SYSIN  DD DSN=prefix.SAMPLE.ILC(CXFORTPF),DISP=SHR <== CHECK
//*
//SASCC EXEC LCXXC,PARM.X='SN(CMAIN)' <== CHECK: PROC FOR COMPILING C++
//X.SYSLIN  DD   DSN=your.object.library(CXFORTPC),DISP=OLD <== CHECK
//X.SYSTRIN DD   DSN=prefix.SAMPLE.ILC(CXFORTPC),DISP=SHR <== CHECK
//*
//ILCLINK EXEC ILCLINK,              <== CHECK: ILC PROC
//        PARM.LKED='NOTERM ECHO'
//LKED.SYSLMOD DD DSN=your.load.library,DISP=OLD           <== CHECK
//LKED.SYSARLIB DD DSN=prefix.A,DISP=SHR                   <== CHECK
//LKED.CLIBS   DD DSN=prefix.BASEOBJ,DISP=SHR              <== CHECK
//             DD DSN=prefix.STDOBJ,DISP=SHR               <== CHECK
//LKED.COBJ    DD DSN=your.object.library,DISP=SHR         <== CHECK
//LKED.FOROBJ  DD DSN=your.object.library,DISP=SHR         <== CHECK
//LKED.FORLKD DD DSN=local.fortran.VFORTLIB,DISP=SHR       <== CHECK
//*
//LKED.ILCIN DD *
   FIRST MAIN(C)
   LANGUAGE FORTRAN,C
   PROCESS CLINK
   AUTOCALL CLIBS
   INCLUDE COBJ(CXFORTPC)
   PROCESS LKED LIST MAP
   AUTOCALL FORLKD
   INCLUDE FOROBJ(CXFORTPF)
   NAME CXFORTPM(R)
/*
//*
//GO       EXEC PGM=CXFORTPM
//STEPLIB  DD DSN=your.load.library,DISP=SHR               <== CHECK
//         DD DSN=local.fortran.VFORTLIB,DISP=SHR          <== CHECK
//         DD DSN=prefix.LINKLIB,DISP=SHR                  <== CHECK
//FT06F001 DD SYSOUT=*
//SYSTERM  DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//