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.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: Paul Rubin Newsgroups: comp.lang.ada Subject: Re: Intervention needed? Date: Fri, 22 Mar 2019 10:29:51 -0700 Organization: A noiseless patient Spider Message-ID: <87sgvekeb4.fsf@nightsong.com> References: <5fb80936-f660-47dd-9cf5-73d35406782f@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: reader02.eternal-september.org; posting-host="a1b2255b2719dd56e968e628e4a3dd5b"; logging-data="16755"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+GUNOqkQ4SxsuQtwbfy5e8" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) Cancel-Lock: sha1:KYDzJYLGurVnhQdUd9lWVBCpeOo= sha1:3DlptYOKGuRW6sP89OKQyBR7w4o= Xref: reader01.eternal-september.org comp.lang.ada:55932 Date: 2019-03-22T10:29:51-07:00 List-Id: "Jeffrey R. Carter" writes: > In the late 1980s-early 1990s... in Ada, the compiler knew what was > aliased and what wasn't, while in C everything is implicitly aliased, > and this allowed optimizations of Ada that could not be done for C. C later got the "restrict" keyword to help deal with this. Also by the late 1980s ANSI C was standardized saying that objects of differing types couldn't be aliased, or the notorious UB would result. That probably made some uses of pointer casting illegal, that may have been common in programs back then.