comparison gcc/ada/ali.adb @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
4 -- -- 4 -- --
5 -- A L I -- 5 -- A L I --
6 -- -- 6 -- --
7 -- B o d y -- 7 -- B o d y --
8 -- -- 8 -- --
9 -- Copyright (C) 1992-2017, Free Software Foundation, Inc. -- 9 -- Copyright (C) 1992-2018, Free Software Foundation, Inc. --
10 -- -- 10 -- --
11 -- GNAT is free software; you can redistribute it and/or modify it under -- 11 -- GNAT is free software; you can redistribute it and/or modify it under --
12 -- terms of the GNU General Public License as published by the Free Soft- -- 12 -- terms of the GNU General Public License as published by the Free Soft- --
13 -- ware Foundation; either version 3, or (at your option) any later ver- -- 13 -- ware Foundation; either version 3, or (at your option) any later ver- --
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- 14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
33 package body ALI is 33 package body ALI is
34 34
35 use ASCII; 35 use ASCII;
36 -- Make control characters visible 36 -- Make control characters visible
37 37
38 -- The following variable records which characters currently are 38 -- The following variable records which characters currently are used as
39 -- used as line type markers in the ALI file. This is used in 39 -- line type markers in the ALI file. This is used in Scan_ALI to detect
40 -- Scan_ALI to detect (or skip) invalid lines. 40 -- (or skip) invalid lines. The following letters are still available:
41 --
42 -- B F G H J K O Q Z
41 43
42 Known_ALI_Lines : constant array (Character range 'A' .. 'Z') of Boolean := 44 Known_ALI_Lines : constant array (Character range 'A' .. 'Z') of Boolean :=
43 ('V' => True, -- version 45 ('V' => True, -- version
44 'M' => True, -- main program 46 'M' => True, -- main program
45 'A' => True, -- argument 47 'A' => True, -- argument
55 'X' => True, -- xref 57 'X' => True, -- xref
56 'S' => True, -- specific dispatching 58 'S' => True, -- specific dispatching
57 'Y' => True, -- limited_with 59 'Y' => True, -- limited_with
58 'Z' => True, -- implicit with from instantiation 60 'Z' => True, -- implicit with from instantiation
59 'C' => True, -- SCO information 61 'C' => True, -- SCO information
60 'F' => True, -- SPARK cross-reference information
61 'T' => True, -- task stack information 62 'T' => True, -- task stack information
62 others => False); 63 others => False);
63 64
64 -------------------- 65 --------------------
65 -- Initialize_ALI -- 66 -- Initialize_ALI --
2026 Withs.Table (Withs.Last).Elaborate_All := False; 2027 Withs.Table (Withs.Last).Elaborate_All := False;
2027 Withs.Table (Withs.Last).Elab_Desirable := False; 2028 Withs.Table (Withs.Last).Elab_Desirable := False;
2028 Withs.Table (Withs.Last).Elab_All_Desirable := False; 2029 Withs.Table (Withs.Last).Elab_All_Desirable := False;
2029 Withs.Table (Withs.Last).SAL_Interface := False; 2030 Withs.Table (Withs.Last).SAL_Interface := False;
2030 Withs.Table (Withs.Last).Limited_With := (C = 'Y'); 2031 Withs.Table (Withs.Last).Limited_With := (C = 'Y');
2031 Withs.Table (Withs.Last).Implicit_With_From_Instantiation 2032 Withs.Table (Withs.Last).Implicit_With := (C = 'Z');
2032 := (C = 'Z');
2033 2033
2034 -- Generic case with no object file available 2034 -- Generic case with no object file available
2035 2035
2036 if At_Eol then 2036 if At_Eol then
2037 Withs.Table (Withs.Last).Sfile := No_File; 2037 Withs.Table (Withs.Last).Sfile := No_File;
2339 -- a bug, or it deserves a special comment as to why this is so??? 2339 -- a bug, or it deserves a special comment as to why this is so???
2340 2340
2341 -- The file/path name may be quoted 2341 -- The file/path name may be quoted
2342 2342
2343 Sdep.Table (Sdep.Last).Sfile := 2343 Sdep.Table (Sdep.Last).Sfile :=
2344 Get_File_Name (May_Be_Quoted => True); 2344 Get_File_Name (May_Be_Quoted => True);
2345 2345
2346 Sdep.Table (Sdep.Last).Stamp := Get_Stamp; 2346 Sdep.Table (Sdep.Last).Stamp := Get_Stamp;
2347 Sdep.Table (Sdep.Last).Dummy_Entry := 2347 Sdep.Table (Sdep.Last).Dummy_Entry :=
2348 (Sdep.Table (Sdep.Last).Stamp = Dummy_Time_Stamp); 2348 (Sdep.Table (Sdep.Last).Stamp = Dummy_Time_Stamp);
2349 2349