From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,90f687f65a66617e X-Google-Attributes: gid103376,public From: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: Simple ADA/C Question Date: 1997/03/06 Message-ID: #1/1 X-Deja-AN: 223694585 References: <01bc23b2$ecc64960$64e2b8cd@p5120.bda> Organization: New York University Newsgroups: comp.lang.ada Date: 1997-03-06T00:00:00+00:00 List-Id: Jon said <<> Less writing, and guaranteed to not merely give a warning, but to be > illegal if the assumption is violated is: You at compile time - surely at runtime (assuming no pragma supress or some such) this will raise CE if violated. > > X : Integer := 1 / Boolean'Pos (Interfaces.C.int'Size = Integer'Size); OK. But it is significantly less clear as well.>> Robert replies. I am not sure what that sentence means, since it does not quite parse, but if you are saying that my statement may raise CE at run time, that is wrong, it is definitely staticaly illegal at compile time. As for it being unclear, of course a comment would clarify the intent, something like: -- Cause illegality (division by zero) if int size /= integer size and then I think it would be clear enough1