[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Cray C-90 (UNICOS 8.0.3) support?



> I believe that there's no simple workaround.  I got this note from the
> last person who I knew of who tried to bring es up on a Cray.  (I don't
> see how Cray can say they ship ANSI C while imposing these restrictions,
> but I'm not in the supercomputer business.)
> 
> | From: djc@niwot.scd.ucar.EDU (Dennis Colarelli)
> | To: haahr (Paul Haahr)
> | Subject: Re: for better or for worse,
> | Date: Fri, 30 Apr 93 15:36:26 MDT
> | 
> | > can you tell me what the restrictions on setjmp are?  i'll try to make
> | > pushhandler() more portable if you can tell me what has to be done.
> | 
> | Attached are the restrictions from the UNICOS setjmp man page.  Note
> | that if you want to run es on the Cray 3, CSOS has, I believe, even further 
> | restrictions.  I'll know more when it gets here.
> | 
> |    An invocation of the setjmp macro can appear only in one of the following
> |    contexts:
> | 
> |      o  The entire controlling expression of a selection or iteration
> |         statement (if, for, while, do, switch)
> | 
> |      o  One operand of a relational or equality operator with the other
> |         operand an integral constant expression, and with the resulting
> |         expression being the entire controlling expression of a selection
> |         or iteration statement
> | 
> |      o  The operand of a unary ! operator with the resulting expression
> |         being the entire controlling expression of a selection or
> | 
> |      o  The entire expression of an expression statement (possibly cast
> |         to void)

These restrictions are straight out of the ANSI C standard. I'd have to check
the rationale for why they were put in. It made sense at the time though.

Arnold