[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