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,453ed54f02292eea X-Google-Attributes: gid103376,public From: John English Subject: Re: Simple Ada question Date: 2000/05/22 Message-ID: <392934E9.FA87156E@bton.ac.uk>#1/1 X-Deja-AN: 625855469 Content-Transfer-Encoding: 7bit References: <8f8fm5$de5$1@news.uit.no> <3923B647.82A765D4@bton.ac.uk> <8g8q19$amd$1@nnrp1.deja.com> X-Accept-Language: en Content-Type: text/plain; charset=us-ascii X-Complaints-To: news@bton.ac.uk X-Trace: saturn.bton.ac.uk 959001923 10741 193.62.183.204 (22 May 2000 13:25:23 GMT) Organization: University of Brighton Mime-Version: 1.0 NNTP-Posting-Date: 22 May 2000 13:25:23 GMT Newsgroups: comp.lang.ada Date: 2000-05-22T13:25:23+00:00 List-Id: Ehud Lamm wrote: > On Sun, 21 May 2000, Robert Dewar wrote: > > |In article <3923B647.82A765D4@bton.ac.uk>, > |John English wrote: > |> I've seen enough students fall over this one that I wonder if a > |> compiler warning should be issued if the loop index has the same > |> name as a variable in the enclosing scope... > | > |In practice, GNAT will almost always give a warning in this > |case. If the outer variable is not referenced at all, then > |that will certainly generate a warning. If the outer variable > |is referenced after the loop, then a warning will be generated > |about reference to an uninitialized variable. > | > |This will not catch 100% of cases, but it's very close > > Actually a student came to me saying "I found a compiler bug" it says that > i is not referenced, where as I clearly use it in the for loop.... Which is why I think a more explicit warning might be a good thing: "loop index uses the same name as an existing object" or something like that (although I'm sure the wording could be improved...) since this is nearly always an indication of an error where the writer believes that the two names will refer to the same thing. Just a thought... ----------------------------------------------------------------- John English | mailto:je@brighton.ac.uk Senior Lecturer | http://www.it.bton.ac.uk/staff/je Dept. of Computing | ** NON-PROFIT CD FOR CS STUDENTS ** University of Brighton | -- see http://burks.bton.ac.uk -----------------------------------------------------------------