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.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: disruptors of & inventory of Ada compilers and latest their era of ISO8652 compliance Date: Sat, 19 May 2018 17:01:08 +0100 Organization: A noiseless patient Spider Message-ID: References: <9169bb0d-626f-4f6d-82c9-8a9b7543a084@googlegroups.com> <92b78739-e2c5-4e45-bbd8-f80ec4918691@googlegroups.com> <6dc39990-16eb-4717-8b8a-1d41c2767530@googlegroups.com> <1103700103.548265160.819002.laguest-archeia.com@nntp.aioe.org> <4a2e4dc5-aec6-4e59-91cd-9476abdbac7c@googlegroups.com> <1193667974.548270050.319144.laguest-archeia.com@nntp.aioe.org> <2f4dd5ae-a481-4eb4-93ff-2c1cc3cb10bb@googlegroups.com> <3d3c1882-ae3d-42aa-8f13-80c550e50375@googlegroups.com> <144a041b-e870-464c-b16f-9adbd7523a92@googlegroups.com> <9b5ee32b-0b12-48fe-b34f-135f3cd8cfb9@googlegroups.com> <17f9d1c5-7c66-4c19-a1d3-f0e7d30cb063@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: h2725194.stratoserver.net; posting-host="0585ac7908495c99c4707f1ebb0057eb"; logging-data="19560"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX197R4uw7aApBw1JS/dvCWnc13tCoJGOxwk=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (darwin) Cancel-Lock: sha1:Y2hwwmWbm2U/FK7ghXWZ+Nyvr54= sha1:wOAZwAj1dVZXVnC7jZOHZ2D61sc= Xref: reader02.eternal-september.org comp.lang.ada:52465 Date: 2018-05-19T17:01:08+01:00 List-Id: Brian Drummond writes: > This comes back and bites you (well me, anyway) when debugging, when I > try unsuccessfully to trace a source code file/lineno reference, only > to find it's nonexistent ... in the source tree and I have to look > elsewhere for it. Not directly related, but when exploring the compiler's innards (only the Ada part, since the machine definition files etc. are way outside my competence/area of interest) I've used a GPR like project Gcc_8 is for Source_Dirs use ("gcc-8.1.0-build/gcc/ada", "gcc-8.1.0/gcc/ada"); for Object_Dir use "gcc-8.1.0-build/gcc/ada"; for Languages use ("Ada", "C"); end Gcc_8; The build process selects/generates some Ada files from templates in the source tree, gcc-8.1.0/gcc/ada, into the build tree, gcc-8.1.0-build/gcc/ada; the Ada objects are compiled in the build tree. I can then use Emacs ada-mode or GPS to explore the code. One reason for needing to do this is the AdaCore fondness for "use". For example, bindgen.adb's context clauses are with ALI; use ALI; with Casing; use Casing; with Fname; use Fname; with Gnatvsn; use Gnatvsn; with Hostparm; with Namet; use Namet; with Opt; use Opt; with Osint; use Osint; with Osint.B; use Osint.B; with Output; use Output; with Rident; use Rident; with Stringt; use Stringt; with Table; with Targparm; use Targparm; with Types; use Types; with System.OS_Lib; with System.WCh_Con; use System.WCh_Con; with GNAT.Heap_Sort_A; use GNAT.Heap_Sort_A; with GNAT.HTable;