Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site ucbvax.ARPA Path: utzoo!watmath!clyde!cbosgd!ucbvax!info-vax From: info-vax@ucbvax.ARPA Newsgroups: fa.info-vax Subject: Re: Possible VAX/VMS PL/I bug Message-ID: <4837@ucbvax.ARPA> Date: Thu, 14-Feb-85 18:29:10 EST Article-I.D.: ucbvax.4837 Posted: Thu Feb 14 18:29:10 1985 Date-Received: Fri, 15-Feb-85 06:10:11 EST Sender: daemon@ucbvax.ARPA Organization: University of California at Berkeley Lines: 27 From: Roger Hale From: lionel%eludom.DEC@decwrl.ARPA (Steve Lionel) > The message gives you a warning. A warning only means that the compiler > detected something you may not have intended (an implicit conversion), > not that the program is incorrect. Referencing an un-initialized variable > is also perfectly proper PL/I but you would like to have to compiler warn > you that you have done this if it can. > > The way to eliminate such warnings is to use the /NOWARN qualifier on the > command line. > I have seen this suggested several times as a `fix' for this problem (excessive/spurious warnings), and I feel about the same way towards it as toward the suggestion not to run lint on one's C programs. If the compiler is doing its job right, its warnings should be about things worth worrying about, and I should want to hear them. If they are warnings about things that `clearly can't happen' -- if I can't convince a good compiler of that, why I am writing my code this way? In the case in question, with multiple entries forcing multiple exits on each return, flow analysis ought to show which entries can't reach which returns. The VAX PL/I compiler does this sort of analysis for other purposes, doesn't it? Roger Hale roger@ll-sst[.arpa]