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,16e3a8dd4f3ab3f3 X-Google-Attributes: gid103376,public From: dewar@cs.nyu.edu (Robert Dewar) Subject: Re: Elaboration order Date: 1996/03/26 Message-ID: #1/1 X-Deja-AN: 144403173 references: <314829CD.4FA9@lfwc.lockheed.com> <1996Mar16.213029.24934@enterprise.rdd.lmsc.lockheed.com> organization: Courant Institute of Mathematical Sciences newsgroups: comp.lang.ada Date: 1996-03-26T00:00:00+00:00 List-Id: Bob said: "Unfortunately, I've had a great deal of trouble using Preelaborate and Pure, because I always find myself wanting to put in some debugging print-outs, and saying "with" of an I/O package poisons everything so I can't use Preelab or Pure. And there's no telling when you're going to need a debugging print out. And it's kind of a pain if you have to *remove* a pragma Preelaborate during the process of finding one bug, because that modification might introduce *another* bug, causing confusion." This is very true. There are two solutions in the GNAT world. First for this particular case, you can use Gnat.IO instead of Text_IO, since Gnat.IO is preelaborated (we are not alowed to make Text_IO preelaborated). Secondly, a more general, though more devious solution is the debugging flag -gnatdu which turns off all dependency checking for categorization pragmas :-)