Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site watdcsu.UUCP
Path: utzoo!watmath!watdcsu!herbie
From: herbie@watdcsu.UUCP (Herb Chong [DCS])
Newsgroups: net.unix
Subject: Re: C compiler for IBM (MVS & CMS)
Message-ID: <852@watdcsu.UUCP>
Date: Sun, 20-Jan-85 13:33:03 EST
Article-I.D.: watdcsu.852
Posted: Sun Jan 20 13:33:03 1985
Date-Received: Mon, 21-Jan-85 01:33:33 EST
References: <7476@brl-tgr.ARPA>
Reply-To: herbie@watdcsu.UUCP (Herb Chong [DCS])
Organization: U of Waterloo, Ontario
Lines: 33
Summary: 

In article <7476@brl-tgr.ARPA> Alan Crosswell  writes:
>...Whether you can get this to
>work with PL/I or Fortran subroutines really depends.  I would say that if
>you know the junk required to write an Assembler main program that can call a
>PL/I or Fortran subroutine then you would be able to do it in Waterloo C
>(with some Assembler).  
>
>Alan Crosswell
>Columbia University Center for Computing Activities

If the person who asked this is using the PL/I Optmizing compiler, then
declaring the interface routine as EXTERNAL ENTRY OPTIONS(ASSEMBLER)
will use essentially what is the OS interface.  Using OPTIONS(FORTRAN)
will guarantee generating IBM's standard FORTRAN linkage convention
used by all their OS FORTRAN products.  Calling a PL/I program is
somewhat messier as the PL/I runtime environment needs to be
established so that PL/I can perform error recovery.  This is
documented in the Programmer's Guide for PL/I.  You should use the
FORTRAN calling sequence from CW and tell PL/I that it is being called
by a FORTRAN program.

Herb Chong, BASc
Computer Consultant 

I'm user-friendly -- I don't byte, I nybble....

UUCP:  {decvax|utzoo|ihnp4|allegra|clyde}!watmath!water!watdcsu!herbie
CSNET: herbie%watdcsu@waterloo.csnet
ARPA:  herbie%watdcsu%waterloo.csnet@csnet-relay.arpa
NETNORTH, BITNET: herbie@watdcs, herbie@watdcsu
POST:  Department of Computing Services
       University of Waterloo
       N2L 3G1  (519)885-1211 x3524