annotate gcc/ada/put_spark_xrefs.ads @ 144:8f4e72ab4e11

fix segmentation fault caused by nothing next cur_op to end
author Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Sun, 23 Dec 2018 21:23:56 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 ------------------------------------------------------------------------------
kono
parents:
diff changeset
2 -- --
kono
parents:
diff changeset
3 -- GNAT COMPILER COMPONENTS --
kono
parents:
diff changeset
4 -- --
kono
parents:
diff changeset
5 -- P U T _ S P A R K _ X R E F S --
kono
parents:
diff changeset
6 -- --
kono
parents:
diff changeset
7 -- S p e c --
kono
parents:
diff changeset
8 -- --
kono
parents:
diff changeset
9 -- Copyright (C) 2011-2016, Free Software Foundation, Inc. --
kono
parents:
diff changeset
10 -- --
kono
parents:
diff changeset
11 -- GNAT is free software; you can redistribute it and/or modify it under --
kono
parents:
diff changeset
12 -- terms of the GNU General Public License as published by the Free Soft- --
kono
parents:
diff changeset
13 -- ware Foundation; either version 3, or (at your option) any later ver- --
kono
parents:
diff changeset
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
kono
parents:
diff changeset
15 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
kono
parents:
diff changeset
16 -- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
kono
parents:
diff changeset
17 -- for more details. You should have received a copy of the GNU General --
kono
parents:
diff changeset
18 -- Public License distributed with GNAT; see file COPYING3. If not, go to --
kono
parents:
diff changeset
19 -- http://www.gnu.org/licenses for a complete copy of the license. --
kono
parents:
diff changeset
20 -- --
kono
parents:
diff changeset
21 -- GNAT was originally developed by the GNAT team at New York University. --
kono
parents:
diff changeset
22 -- Extensive contributions were provided by Ada Core Technologies Inc. --
kono
parents:
diff changeset
23 -- --
kono
parents:
diff changeset
24 ------------------------------------------------------------------------------
kono
parents:
diff changeset
25
kono
parents:
diff changeset
26 -- This package contains the function used to read SPARK cross-reference
kono
parents:
diff changeset
27 -- information from the internal tables defined in package SPARK_Xrefs, and
kono
parents:
diff changeset
28 -- output text information for the ALI file. The interface allows control over
kono
parents:
diff changeset
29 -- the destination of the output, so that this routine can also be used for
kono
parents:
diff changeset
30 -- debugging purposes.
kono
parents:
diff changeset
31
kono
parents:
diff changeset
32 with Types; use Types;
kono
parents:
diff changeset
33
kono
parents:
diff changeset
34 generic
kono
parents:
diff changeset
35 -- The following procedures are used to output text information. The
kono
parents:
diff changeset
36 -- destination of the text information is thus under control of the
kono
parents:
diff changeset
37 -- particular instantiation. In particular, this procedure is used to
kono
parents:
diff changeset
38 -- write output to the ALI file, and also for debugging output.
kono
parents:
diff changeset
39
kono
parents:
diff changeset
40 with function Write_Info_Col return Positive is <>;
kono
parents:
diff changeset
41 -- Return the column in which the next character will be written
kono
parents:
diff changeset
42
kono
parents:
diff changeset
43 with procedure Write_Info_Char (C : Character) is <>;
kono
parents:
diff changeset
44 -- Output one character
kono
parents:
diff changeset
45
kono
parents:
diff changeset
46 with procedure Write_Info_Str (Val : String) is <>;
kono
parents:
diff changeset
47 -- Output string stored in string pointer
kono
parents:
diff changeset
48
kono
parents:
diff changeset
49 with procedure Write_Info_Initiate (Key : Character) is <>;
kono
parents:
diff changeset
50 -- Initiate write of new line to output file, the parameter is the
kono
parents:
diff changeset
51 -- keyword character for the line.
kono
parents:
diff changeset
52
kono
parents:
diff changeset
53 with procedure Write_Info_Nat (N : Nat) is <>;
kono
parents:
diff changeset
54 -- Write image of N to output file with no leading or trailing blanks
kono
parents:
diff changeset
55
kono
parents:
diff changeset
56 with procedure Write_Info_Terminate is <>;
kono
parents:
diff changeset
57 -- Terminate current info line and output lines built in Info_Buffer
kono
parents:
diff changeset
58
kono
parents:
diff changeset
59 procedure Put_SPARK_Xrefs;
kono
parents:
diff changeset
60 -- Read information from SPARK tables (SPARK_Xrefs.SPARK_Xref_Table,
kono
parents:
diff changeset
61 -- SPARK_Xrefs.SPARK_Scope_Table and SPARK_Xrefs.SPARK_File_Table) and output
kono
parents:
diff changeset
62 -- corresponding information in ALI format using the Write_Info procedures.