File: gcc-4.3.patch

package info (click to toggle)
asis 2007-4
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 7,832 kB
  • ctags: 34
  • sloc: ada: 93,665; makefile: 225
file content (163 lines) | stat: -rw-r--r-- 6,801 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
Index: asis/asis-extensions.adb
===================================================================
--- asis/asis-extensions.adb.orig
+++ asis/asis-extensions.adb
@@ -2079,7 +2079,7 @@
 
       Result      : Boolean                := True;
       --  the idea of the implementation is to find out the cases when
-      --  Expression is NOT a true exception, so we initialize Result
+      --  Expression is NOT a true expression, so we initialize Result
       --  as True
    begin
       Check_Validity (Expression, Package_Name & "Is_True_Expression");
@@ -2128,7 +2128,7 @@
                if Nkind (Arg_Node) = N_Selected_Component and then
                   Etype (Arg_Node) = Any_Type
                   --  for now (GNAT 3.05) this means, that Expression is an
-                  --  expanded name of the character literal of ether a
+                  --  expanded name of the character literal of either a
                   --  predefined character type or of the type derived from a
                   --  predefined character type; the problem is that the
                   --  Entity field is not set for such a node
@@ -2152,23 +2152,24 @@
 
                if No (Entity_Node) then
                   Result := False;
-               elsif Ekind (Entity_Node) = E_Enumeration_Literal then
-                  null;
                else
                   case Ekind (Entity_Node) is
-                     --  the first choice in this case statement should
-                     --  filter in entities which *ARE* expressions in Ada
-                     --  sense
+                     when E_Component | E_Constant | E_Discriminant |
+                       E_Loop_Parameter | E_Out_Parameter =>
+                        null;
                      when E_Variable =>
                         --  tasks and protected objects declared by _single_
                         --  task/protected declarations do not have
                         --  corresponding type declarations which can be
                         --  represented in ASIS
                         Result := Comes_From_Source (Parent (Entity_Node));
-                     when E_Component .. E_Named_Real |
+                     when E_In_Out_Parameter | E_In_Parameter |
+                       E_Generic_In_Out_Parameter | E_Generic_In_Parameter |
+                       E_Named_Integer | E_Named_Real =>
                         --  variables and constants (including formal
                         --  parameters and generic formal parameters
-                        E_Enumeration_Literal |  --  ??? (see elsif path)
+                        null;
+                     when E_Enumeration_Literal |
                         --  enumeration literals are not treated as functions
                         --  in ASIS
                         E_Entry_Index_Parameter |
Index: asis/a4g-mapping.adb
===================================================================
--- asis/a4g-mapping.adb.orig
+++ asis/a4g-mapping.adb
@@ -39,6 +39,8 @@
 
 with Ada.Characters.Handling; use Ada.Characters.Handling;
 
+with Atree;                   use Atree; -- from libgnatvsn
+
 with Asis;                    use Asis;
 with Asis.Compilation_Units;  use Asis.Compilation_Units;
 with Asis.Elements;           use Asis.Elements;
@@ -3930,7 +3932,7 @@
       Original_N : Node_Id)
       return       Paren_Count_Type
    is
-      Result : Paren_Count_Type := Paren_Count (N);
+      Result : Paren_Count_Type := Paren_Count_Type (Paren_Count (N));
    begin
 
       if Result > 0 and then
Index: asis/a4g-gnat_int.adb
===================================================================
--- asis/a4g-gnat_int.adb.orig
+++ asis/a4g-gnat_int.adb
@@ -206,7 +206,7 @@
 
       --  GNAT/ASIS version check first
 
-      if Tree_ASIS_Version_Number /= ASIS_Version_Number then
+      if Tree_ASIS_Version_Number /= Tree_IO.ASIS_Version_Number then
          Close (Desc, File_Closed);
          Ada.Exceptions.Raise_Exception
            (Program_Error'Identity, "Inconsistent versions of GNAT and ASIS");
Index: asis/a4g-contt-dp.adb
===================================================================
--- asis/a4g-contt-dp.adb.orig
+++ asis/a4g-contt-dp.adb
@@ -138,7 +138,7 @@
    --  If not In_Unit_Id_List (U, L), U is appended to L (if L is null,
    --  new Unit_Id_List value is created)
 
-   procedure Reorder_Sem_Dependencies (Units : in out Unit_Id_List_Access);
+   procedure Reorder_Sem_Dependencies (Units : in Unit_Id_List_Access);
    --  This procedure takes the unit list with is supposed to be the result of
    --  one of the Set_All_<Relation> functions above (that is, its parameter
    --  is not supposed to be null and it contains only existing units). It
@@ -496,7 +496,7 @@
    -- Reorder_Sem_Dependencies --
    ------------------------------
 
-   procedure Reorder_Sem_Dependencies (Units : in out Unit_Id_List_Access) is
+   procedure Reorder_Sem_Dependencies (Units : in Unit_Id_List_Access) is
       More_Inversion : Boolean := True;
       Tmp_Unit       : Unit_Id;
    begin
Index: asis/a4g-a_elists.adb
===================================================================
--- asis/a4g-a_elists.adb.orig
+++ asis/a4g-a_elists.adb
@@ -287,7 +287,7 @@
    ---------------
 
    procedure Move_List
-     (List_From : in out Elist_Id;
+     (List_From : in     Elist_Id;
       List_To   : in out Elist_Id)
    is
    begin
Index: asis/a4g-a_elists.ads
===================================================================
--- asis/a4g-a_elists.ads.orig
+++ asis/a4g-a_elists.ads
@@ -203,10 +203,10 @@
    --  equial to No_List, returns True
 
    procedure Move_List
-     (List_From : in out Elist_Id;
+     (List_From : in     Elist_Id;
       List_To   : in out Elist_Id);
    --  Moves (prepends) the content of List_From to List_To. If List_To is
-   --  equial to No_Elist, it is created. For now, this procedure does not
+   --  equal to No_Elist, it is created. For now, this procedure does not
    --  check if the elements from List_From are already in List_To, therefore
    --  as a result of a call to this procedure, List_To can contain
    --  duplicated elements
Index: asis/a4g-mapping.ads
===================================================================
--- asis/a4g-mapping.ads.orig
+++ asis/a4g-mapping.ads
@@ -64,7 +64,6 @@
 with A4G.A_Types;  use A4G.A_Types;
 with A4G.Int_Knds; use A4G.Int_Knds;
 
-with Atree;        use Atree;
 with Types;        use Types;
 with Sinfo;        use Sinfo;
 
@@ -405,6 +404,9 @@
    function Is_Statement (N : Node_Id) return Boolean;
    --  Checks if N is a statement node.
 
+   type Paren_Count_Type is mod 4;
+   for Paren_Count_Type'Size use 2;
+
    function Parenth_Count
      (N          : Node_Id;
       Original_N : Node_Id)