[comp.sys.apollo] Apollo ANSI standard C? How close? Should it matter?

shull@SCROLLS.WHARTON.UPENN.EDU (06/27/89)

As chair of a Local Apollo Users' Group, I have been asked to find
out how close Apollo C under 10.1 is to ANSI C?  Local Apollo sales
support indicate that it is "close", but apparently this is not
definitive enough :-).  Can any one comment (knowledgeably) on how
Apollo C deviates from the standard, how long it will take to conform,
and whether there are differences in libraries or other important
places?

-Chris

Christopher E. Shull                    shull@scrolls.wharton.upenn.edu
Decision Sciences Department            shull@wharton.upenn.edu
The Wharton School                      University of Pennsylvania
Philadelphia, PA  19104-6366            215/898-5930
---------------------------------------------------------------------------
"Damn the torpedoes!  Full speed ahead!"  Admiral Farragut, USN, 1801-1870
---------------------------------------------------------------------------

lori@hacgate.scg.hac.com (Lori Barfield) (06/29/89)

In article <8906271541.AA06634@scrolls.wharton.upenn.edu>, shull@SCROLLS.WHARTON.UPENN.EDU writes:
> 
> As chair of a Local Apollo Users' Group, I have been asked to find
> out how close Apollo C under 10.1 is to ANSI C?

I'm not sure how much of the viewgraphs Jim Kumorek of Apollo passed out
at the Sys Admin Conference in San Diego apply to C, but I'll try to
weed out appropriate notes.  Hope this helps.



1.  CC will be "fully ANSI compliant by the release following the
    next release," i.e., the release after SR10.2

	includes const, signed, volatile


2.  SR10.2 is "due out in September/October."


7.  New CC features for SR10

	function prototypes
	reference variables
	generic pointers (void *)
	cpp for /bin/cc
	"some new features for cross-language communication"
	case correct global symbols (pas, ftn force to lower case now)
	inline functions for "some routines" in <math.h> and <strings.h>


8.  New CC features for SR10.1

	'-compress' option
	cross compiler for 68k-->AT


x.  Pascal at SR10 set up for cross-language communication

	c_param, a0_return and d0 (I don't remember what that means)


2.  SR10 gotcha:  COFF code size

	size will be much larger under SR10 because data section is
	     no longer compressed
	so compile with '-compress' and '-nclines', then use 'strip'
	('-nclines' available at SR10.2)


3.  SR10 gotcha:  PRISM compilers very slow

	compiler time cut in half at 10.2


4.  Current gotcha:  object files don't pass through NFS gateways

	at 10.2, object files will pass through gateways


5.  SR? gotcha:  _STDC_ preprocessor symbol really only means function
		 prototyping is in effect, not ANSI compatibility

	to prevent setting this symbol, use '-nstdc' switch
	use '-U_STDC_' to remove definition from /bin/cc



Please note that I'm just doing my best to interpret what I heard/wrote.
My experiences with C are mostly limited to VMS.



...lori

lori@hacgate.scg.hac.com

markley@celece.ucsd.edu (Mike Markley) (06/29/89)

In article <4203@hacgate.scg.hac.com> lori@hacgate.scg.hac.com (Lori Barfield) writes:
>I'm not sure how much of the viewgraphs Jim Kumorek of Apollo passed out
>at the Sys Admin Conference in San Diego apply to C, but I'll try to
>weed out appropriate notes.  Hope this helps.
>
lot of stuff deleted...
>
>4.  Current gotcha:  object files don't pass through NFS gateways
>
>	at 10.2, object files will pass through gateways
>
This is not entirely true.  The compilers will not write object
files through an NFS gateway.  The linker will.  Also if you
copy an object file onto an NFS volume it is executable by the
Apollo workstation.  You can put a work-around to this problem
by specifying an -o /tmp/<name> to the cc line and then copying
this file to your current directory and linking it.  This is
what I did and I don't have any problems.

Mike Markley
University of California, San Diego
markley@celece.ucsd.edu
AFTER July 1st
markley@net1.ucsd.edu

kumorek@apollo.COM (James Kumorek) (07/11/89)

>    1.  CC will be "fully ANSI compliant by the release following the
>        next release," i.e., the release after SR10.2
>    
>    	includes const, signed, volatile

These features are due out in the next release of the compilers, sometime this fall (The
exact date is yet to be determined).

>    2.  SR10.2 is "due out in September/October."

Note that the compilers, as of this release, are no longer being shipped with 
the OS releases;  they have been 'unbundled'.  Therefore, the release of the compilers
this fall has nothing to due with the release of SR10.2.

         - Jim Kumorek

kumorek@apollo.COM (James Kumorek) (07/11/89)

In article <2821 of comp.sys.apollo> markley@net1.ucsd.edu writes:

>   >I'm not sure how much of the viewgraphs Jim Kumorek of Apollo passed out
>   >at the Sys Admin Conference in San Diego apply to C, but I'll try to
>   >weed out appropriate notes.  Hope this helps.
>   >
>   lot of stuff deleted...
>   >
>   >4.  Current gotcha:  object files don't pass through NFS gateways
>   >
>   >	at 10.2, object files will pass through gateways
>   >
>
>   This is not entirely true.  The compilers will not write object
>   files through an NFS gateway.  The linker will.  Also if you
>   copy an object file onto an NFS volume it is executable by the
>   Apollo workstation.  You can put a work-around to this problem
>   by specifying an -o /tmp/<name> to the cc line and then copying
>   this file to your current directory and linking it.  This is
>   what I did and I don't have any problems.

Note that the original message said that it was the next release of the compilers,
not a current release, that will enable the compilers to write thier binaries over
NFS links.

Jim Kumorek
Apollo Computer
kumorek@apollo