]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/bindo-augmentors.ads
[Ada] Bump copyright year
[thirdparty/gcc.git] / gcc / ada / bindo-augmentors.ads
CommitLineData
69e6ee2f
HK
1------------------------------------------------------------------------------
2-- --
3-- GNAT COMPILER COMPONENTS --
4-- --
5-- B I N D O . A U G M E N T O R S --
6-- --
7-- S p e c --
8-- --
4b490c1e 9-- Copyright (C) 2019-2020, Free Software Foundation, Inc. --
69e6ee2f
HK
10-- --
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- --
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- --
15-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
16-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
17-- for more details. You should have received a copy of the GNU General --
18-- Public License distributed with GNAT; see file COPYING3. If not, go to --
19-- http://www.gnu.org/licenses for a complete copy of the license. --
20-- --
21-- GNAT was originally developed by the GNAT team at New York University. --
22-- Extensive contributions were provided by Ada Core Technologies Inc. --
23-- --
24------------------------------------------------------------------------------
25
26-- For full architecture, see unit Bindo.
27
866000e7
GD
28-- The following unit contains facilities to enhance the library graph, which
29-- reflects source dependencies between units, with information obtained from
30-- the invocation graph, which reflects all activations of tasks, calls, and
69e6ee2f
HK
31-- instantiations within units.
32
33with Bindo.Graphs;
34use Bindo.Graphs;
35use Bindo.Graphs.Invocation_Graphs;
36use Bindo.Graphs.Library_Graphs;
37
38package Bindo.Augmentors is
39
40 ------------------------------
41 -- Library_Graph_Augmentors --
42 ------------------------------
43
44 package Library_Graph_Augmentors is
45 procedure Augment_Library_Graph
75cfda8b
HK
46 (Inv_Graph : Invocation_Graph;
47 Lib_Graph : Library_Graph);
48 -- Augment library graph Lib_Graph with information from invocation
49 -- graph Inv_Graph as follows:
69e6ee2f
HK
50 --
51 -- 1) Traverse the invocation graph starting from each elaboration
52 -- procedure of unit Root.
53 --
54 -- 2) Each time the traversal transitions from one unit into another
55 -- unit Curr, add an invocation edge between predecessor Curr and
56 -- successor Root in the library graph.
57 --
58 -- 3) Do the above steps for all units with an elaboration procedure.
59
60 end Library_Graph_Augmentors;
61
62end Bindo.Augmentors;