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 Crosswellwrites: >...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