The VDL formalization of PL/I does not guarantee this behavior. I am not, however, at all fearful that some optimizer may behave differently, at least for long.
There is an old understanding common to scientific and business programming that aggregates, arrays and structures|records, are likely to contain information only subsets of which are of interest to particular users/applications. A particular business application may need and use a customer's DOB, while others in the same shop ignore it. Or again, one scientific application may need a chemical element's atomic mass, while another in the same shop may need only its boiling point in ºK. This convention is so well established that an optimizing compiler that ignored it would be judged not just unusable but, worse, naif. That saId, your point that a formal category like 'Useless|Unreferenced but Keep' is needed is a good one. Nothing that can be formalized innocuously should be left to the judgment of individual compiler writers. John Gilmore, Ashland, MA 01721 - USA ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
