Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site brl-tgr.ARPA Path: utzoo!watmath!clyde!burl!ulysses!allegra!bellcore!decvax!genrad!teddy!panda!talcott!harvard!seismo!brl-tgr!tgr!US.ALAN%CU20B@COLUMBIA.ARPA From: Alan CrosswellNewsgroups: net.unix Subject: Re: C compiler for IBM (MVS & CMS) Message-ID: <7476@brl-tgr.ARPA> Date: Thu, 17-Jan-85 14:26:27 EST Article-I.D.: brl-tgr.7476 Posted: Thu Jan 17 14:26:27 1985 Date-Received: Mon, 21-Jan-85 01:22:51 EST Sender: news@brl-tgr.ARPA Organization: Ballistic Research Lab Lines: 26 WATCOM Products, Inc. (The University of Waterloo spin-off) has done a nice job on a CMS C compiler. The license fee is reasonable and I found it to be much nicer than Oracle, Whitesmiths, or ATT's C/370. As usual, the Waterloo folks have done a good job. You can call (519) 886-3700 or write to WATCOM Products, Inc. 415 Phillip Street Waterloo, Ontario N2L 3X2 Canada Waterloo C does not provide a "fortran" linkage by just declaring an external function as type fortran but you can write a 10 line assembly interface that maps from their linkage to OS linkage for example. They provide an example subroutine that does just this in the manual. 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). The converse situation: calling a C function from PL/I or Fortran is definitely doable. I have done something along these lines already where I call a C function as a second-level CMS interrupt handler. The first-level handler is an assembler routine that sets up the C environment (stack and registers). Again, the information I needed to set up the environment was in the Waterloo documentation. Alan Crosswell Columbia University Center for Computing Activities -------