[gcc]
[official-gcc.git] / gcc / ada / scos.h
blob4fb396ca63004232f9dfc8f4abe7ce1f70b5b3e5
1 /****************************************************************************
2 * *
3 * GNAT COMPILER COMPONENTS *
4 * *
5 * S C O S *
6 * *
7 * C Header File *
8 * *
9 * Copyright (C) 2014-2017, Free Software Foundation, Inc. *
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 ****************************************************************************/
26 /* This is the C file that corresponds to the Ada package spec SCOs. It was
27 created manually from the file scos.ads. */
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
34 /* Unit table: */
36 typedef Int SCO_Unit_Index;
38 struct SCO_Unit_Table_Entry
40 String_Pointer File_Name;
41 Int File_Index;
42 Nat Dep_Num;
43 Nat From, To;
46 typedef struct SCO_Unit_Table_Entry *SCO_Unit_Table_Type;
48 /* The following depends on the fact that The_Instance.Table
49 is the first component. */
50 extern SCO_Unit_Table_Type scos__sco_unit_table__the_instance;
51 #define SCO_Unit_Table scos__sco_unit_table__the_instance
53 extern Int scos__sco_unit_table__first(void);
54 #define SCO_Unit_Table_First scos__sco_unit_table__first
56 extern Int scos__sco_unit_table__last(void);
57 #define SCO_Unit_Table_Last scos__sco_unit_table__last
60 /* SCOs table: */
62 struct Source_Location
64 Line_Number_Type Line;
65 Column_Number_Type Col;
68 struct SCO_Table_Entry
70 struct Source_Location From, To;
71 char C1, C2;
72 bool Last;
73 Source_Ptr Pragma_Sloc;
74 Name_Id Pragma_Aspect_Name;
77 typedef struct SCO_Table_Entry *SCO_Table_Type;
79 /* The following depends on the fact that The_Instance.Table
80 is the first component. */
81 extern SCO_Table_Type scos__sco_table__the_instance;
82 #define SCO_Table scos__sco_table__the_instance
84 extern Int scos__sco_table__first(void);
85 #define SCO_Table_First scos__sco_table__first
87 extern Int scos__sco_table__last(void);
88 #define SCO_Table_Last scos__sco_table__last
90 #ifdef __cplusplus
92 #endif