[comp.lang.c] compiling VAX C with & w/o nooptimize

sgee@sal-sun4.usc.edu (Sheila Gee) (04/13/91)

hi.  i have come across a problem with my VAX C compiler
     and was wondering if anyone else has had this occur
     with their s/w

     i am writing a nontransparent Decnet server/client
     application on a VaxCluster using the NCB structures.

     and for some reason or other, if i do not compile
     my server end with the option "nooptimize", the 
     s/w does not successfully create the network object
     on the server node.   

     any suggestions?  thanks

brendan@cs.widener.edu (Brendan Kehoe) (04/16/91)

In <16550@chaph.usc.edu>, sgee@sal-sun4.usc.edu writes:
>     and for some reason or other, if i do not compile
>     my server end with the option "nooptimize", the 
>     s/w does not successfully create the network object
>     on the server node.   

   I seem to remember reading somewhere (the Emacs build?) that the
   optimizer for the Vax C compiler's broken (not sure if it's been
   fixed in the recent update or not); to avoid the problems, do:
		CC/OPTIMIZE=NOINLINE
   Give that a try & see if it works.

Brendan

-- 
     Brendan Kehoe - Widener Sun Network Manager - brendan@cs.widener.edu
  Widener University in Chester, PA                A Bloody Sun-Dec War Zone
      "Does this person look relaxed to you?  Well, it's actually an
              experiment of Contour's new 565-E chair!"

rankin@eql.caltech.edu (Pat Rankin) (04/16/91)

In article <BB3_R!F@cs.widener.edu>, brendan@cs.widener.edu (Brendan Kehoe) writes...
>In <16550@chaph.usc.edu>, sgee@sal-sun4.usc.edu writes:
>>     and for some reason or other, if i do not compile
>>     my server end with the option "nooptimize", the 
>>     s/w does not successfully create the network object
>>     on the server node.   
> 
>   I seem to remember reading somewhere (the Emacs build?) that the
>   optimizer for the Vax C compiler's broken (not sure if it's been
>   fixed in the recent update or not); to avoid the problems, do:
>		CC/OPTIMIZE=NOINLINE
>   Give that a try & see if it works.

     That's highly recommended for VAX C V3.0; it's probably not necessary
for V3.1 and later.  However, it's not allowed for V2.4 and earlier, so it
can't be used blindly.  CC/NOOPTIMIZE will work for any release. :-}
Note that /OPTIMIZE=(DISJOINT,INLINE) is the default for VAX C for V3.x,
and /OPTIMIZE (there were no class keywords then) was the default for
V2.x and presumeably for V1.x.  Digital turns on optimization by default
for most or all of their VMS compilers.

     It you suspect that the optimizer is generating bad code--since
disabling it gives working code, I'd suspect that--you can produce a
compiler listing and examine that.  CC/LIST/MACHINE will show the code
that's being generated, interleaved with the original source code.

     The current version of VAX C is V3.2.  There's not too much point
hunting for compiler bugs in older releases, unless you're forced to
stick with obsolete software.

		Pat Rankin, rankin@eql.caltech.edu