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,d0452dbe16ac0df4 X-Google-Attributes: gid103376,public From: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: ObjectAda vs Gnat -- bugs Date: 1997/05/21 Message-ID: #1/1 X-Deja-AN: 242838938 References: <01bc63a9$6e4575c0$LocalHost@xhv46.dial.pipex.com> <01bc6567$02846840$LocalHost@xhv46.dial.pipex.com> Organization: New York University Newsgroups: comp.lang.ada Date: 1997-05-21T00:00:00+00:00 List-Id: iNick said <> Nifty indeed, but unfortunately totally irrelevant to the case that started the discussion, since of course you can rename functions with parameters anyway. So this does not unify anything. Remember that the fix is absolutely trivial here, it is just a matter of remembering to do it! The point is though, going back to Bob Duff's original comment, that making enumeration literals be functions for some purposes and not others (at the implementation level, and even at the semantic level, because these are not ordinary functions, they are for example static), means that you have specialization to do whatever you try. Just for interest, here is the fix that is now in the current version of GNAT: elsif Is_Entity_Name (Nam) and then Ekind (Entity (Nam)) = E_Enumeration_Literal then -- weird but legal, equivalent to renaming a function call. null; not a big deal certainly -- interesting that no one ever ran into this in several years of use :-)