[comp.lang.c] C COMPILER EVALUATION

KCD%NIHCU.BITNET@wiscvm.wisc.EDU (12/04/87)

We are currently considering installing a C language compiler on our
MVS/XA facility, and would appreciate any feedback which would aid
our evaluation efforts.  The vendors we are interested in hearing
about are SAS, Waterloo, IBM, and Whitesmiths.  Feedback from VM
sites is also welcomed.


Along with any general information/insights regarding experiences
with vendor products and services, specific items of interest to us
include the following:

     A.) UNIX compatability
     B.) ANSI compatability
     C.) PC   compatability
     D.) Access to the MVS environment
     E.) Use of the 370 instruction set
     F.) Control of the runtime environment
          1. Use of exits
          2. Use in existing programs
     G.) Availability of tools (debuggers, etc.)
     H.) Character code specifics
     I.) Portability

Please send all responses directly to me and i will summarize them.
Thanks in advance.
                                    - Kevin D. Callahan Jr.
                                      KCD@NIHCU.BITNET

jbeard@quintus.UUCP (Jeff Beard) (12/08/87)

In article <10668@brl-adm.ARPA>, KCD%NIHCU.BITNET@wiscvm.wisc.EDU writes:
> We are currently considering installing a C language compiler on our
> MVS/XA facility, and would appreciate any feedback ....
> 
> specific items of interest to us include the following:
> 
>      A.) UNIX compatability
>      B.) ANSI compatability
>      C.) PC   compatability
>      D.) Access to the MVS environment
>      E.) Use of the 370 instruction set
>      F.) Control of the runtime environment
>           1. Use of exits
>           2. Use in existing programs
>      G.) Availability of tools (debuggers, etc.)
>      H.) Character code specifics
>      I.) Portability
> 

I've be involved in porting using the Bell portable C compiler, 
SAS, and Waterloo.  We have just completed such a port using the SAS
3.0f version and are quite pleased with the results.

Overview:  System / application requirements determine the adequacy of
	the compiler.  

	Compile times vary significantly.

	re-enterant code for LARGE System / applications is only viable
	with the SAS, using Pseudo Registers rather than static code
	sections.

	post compile time alteration of the generated code (ala cpp)
	is easiest using the WATERLOO

	generated object sizes vary across the compilers for a given
	source program and tend to be indicative of runtime performance,
	as some are not able to recognize the existing content(s) of
	the register set and blindly reload literals and arguments.

	Waterloo runtime is very efficient in the generated prolog/epilog
	code for called routines, but does not obey OS register conventions
	and thus calling OS functions gets tricky!

	SAS advertises object level compatibility between VM and MVS ...
	and by gosh ... it really works!

	MVS/XA is supported by SAS runtime library!

Anything more detailed can be obtained by calling

	Jeff Beard @ Quintus Computer Systems, Inc
	(415) 965-7700 x334

	or writing
	1310 Villa Street
	Mountain View, CA 94041
 
	Telex 9103805744