1 |
706 |
jeremybenn |
2007-12-27 Samuel Tardieu
|
2 |
|
|
|
3 |
|
|
PR ada/34553
|
4 |
|
|
* adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp()
|
5 |
|
|
instead of mktemp() or tmpnam() on NetBSD.
|
6 |
|
|
|
7 |
|
|
2007-12-23 Eric Botcazou
|
8 |
|
|
|
9 |
|
|
* trans.c (call_to_gnu): Make the temporary for non-addressable
|
10 |
|
|
In parameters passed by reference.
|
11 |
|
|
(addressable_p): Return true for STRING_CST and CALL_EXPR.
|
12 |
|
|
|
13 |
|
|
2007-12-19 Robert Dewar
|
14 |
|
|
|
15 |
|
|
* g-expect-vms.adb, g-expect.adb, s-poosiz.adb:
|
16 |
|
|
Add pragma Warnings (Off) for unassigned IN OUT arguments
|
17 |
|
|
|
18 |
|
|
* sem_warn.adb (Output_Reference): Suppress messages for internal names
|
19 |
|
|
(Check_References): Extensive changes to tune up warnings
|
20 |
|
|
(Output_Non_Modifed_In_Out_Warnings): Changes to tune up warnings
|
21 |
|
|
(Has_Pragma_Unmodifed_Check_Spec): New function
|
22 |
|
|
(Check_References): Implement pragma Unmodified
|
23 |
|
|
(Warn_On_Unassigned_Out_Parameter): Implement pragma Unmodified
|
24 |
|
|
|
25 |
|
|
* par-prag.adb: Dummy entry for pragma Unmodified
|
26 |
|
|
|
27 |
|
|
* sem_prag.adb: Implement pragma Unmodified
|
28 |
|
|
|
29 |
|
|
* einfo.ads, einfo.adb: (Has_Pragma_Unmodified): New flag
|
30 |
|
|
(Proc_Next_Component_Or_Discriminant): Fix typo.
|
31 |
|
|
Update comments.
|
32 |
|
|
|
33 |
|
|
* sem_util.adb (Note_Possible_Modification): Add processinng for pragma
|
34 |
|
|
Unmodified.
|
35 |
|
|
(Reset_Analyzed_Flags): Use Traverse_Proc instead of Traverse_Func,
|
36 |
|
|
because the former already takes care of discarding the result.
|
37 |
|
|
(Mark_Coextensions): Remove ununused initial value from Is_Dynamic.
|
38 |
|
|
Add comment.
|
39 |
|
|
|
40 |
|
|
* snames.h, snames.ads, snames.adb: Add entry for pragma Unmodified
|
41 |
|
|
|
42 |
|
|
2007-12-19 Eric Botcazou
|
43 |
|
|
|
44 |
|
|
* targparm.adb, targparm.ads, system.ads, system-darwin-ppc.ads,
|
45 |
|
|
system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads,
|
46 |
|
|
system-hpux-ia64.ads, system-vxworks-arm.ads, system-darwin-x86.ads,
|
47 |
|
|
system-vms_64.ads, system-vms-ia64.ads, system-linux-ia64.ads,
|
48 |
|
|
system-freebsd-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
|
49 |
|
|
system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads,
|
50 |
|
|
system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
|
51 |
|
|
system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
|
52 |
|
|
system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
|
53 |
|
|
system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads
|
54 |
|
|
(Dynamic_Trampolines_Used): Delete.
|
55 |
|
|
|
56 |
|
|
* system-lynxos-x86.ads, system-lynxos-ppc.ads: Ditto.
|
57 |
|
|
Turn on stack probing mechanism on LynxOS.
|
58 |
|
|
|
59 |
|
|
2007-12-19 Bob Duff
|
60 |
|
|
|
61 |
|
|
* atree.ads, atree.adb (Traverse_Func): Walk Field2 last, and eliminate
|
62 |
|
|
the resulting tail recursion by hand. This prevents running out of
|
63 |
|
|
memory on deeply nested concatenations, since Field2 is where the left
|
64 |
|
|
operand of concatenations is stored.
|
65 |
|
|
Fix bug (was returning OK_Orig in some cases). Fix return subtype to
|
66 |
|
|
clarify that it can only return OK or Abandon.
|
67 |
|
|
|
68 |
|
|
* sem_res.adb (Resolve_Op_Concat): Replace the recursion on the left
|
69 |
|
|
operand by iteration, in order to avoid running out of memory on
|
70 |
|
|
deeply-nested concatenations. Use the Parent pointer to get back up the
|
71 |
|
|
tree.
|
72 |
|
|
(Resolve_Op_Concat_Arg, Resolve_Op_Concat_First,
|
73 |
|
|
Resolve_Op_Concat_Rest): New procedures split out of
|
74 |
|
|
Resolve_Op_Concat, so the iterative algorithm in Resolve_Op_Concat is
|
75 |
|
|
clearer.
|
76 |
|
|
|
77 |
|
|
* checks.adb (Remove_Checks): Use Traverse_Proc instead of
|
78 |
|
|
Traverse_Func, because the former already takes care of discarding the
|
79 |
|
|
result.
|
80 |
|
|
|
81 |
|
|
* errout.adb (First_Node): Use Traverse_Proc instead of Traverse_Func,
|
82 |
|
|
because the former already takes care of discarding the result.
|
83 |
|
|
(Remove_Warning_Messages): Use appropriate subtype for Status and
|
84 |
|
|
Discard
|
85 |
|
|
|
86 |
|
|
2007-12-19 Ed Schonberg
|
87 |
|
|
|
88 |
|
|
* exp_aggr.adb (Not_OK_For_Backend): A component of a private type with
|
89 |
|
|
discriminants forces expansion of the aggregate into assignments.
|
90 |
|
|
(Init_Record_Controller): If the type of the aggregate is untagged and
|
91 |
|
|
is not inherently limited, the record controller is not limited either.
|
92 |
|
|
|
93 |
|
|
2007-12-19 Robert Dewar
|
94 |
|
|
|
95 |
|
|
* exp_attr.adb (Expand_N_Attribute_Reference, case Size): Fix error in
|
96 |
|
|
handling compile time known size of record or array (case of front end
|
97 |
|
|
layout active, e.g. in GNAAMP).
|
98 |
|
|
|
99 |
|
|
2007-12-19 Javier Miranda
|
100 |
|
|
|
101 |
|
|
* exp_ch3.adb (Expand_N_Object_Declaration): Complete the circuitry
|
102 |
|
|
that forces the construction of static dispatch tables in case of
|
103 |
|
|
record subtypes.
|
104 |
|
|
|
105 |
|
|
2007-12-19 Robert Dewar
|
106 |
|
|
|
107 |
|
|
* exp_ch9.adb (Null_Statements): Moved to library level
|
108 |
|
|
(Trivial_Accept_OK): New function
|
109 |
|
|
(Expand_Accept_Declaration): Use Trivial_Accept_OK
|
110 |
|
|
(Expand_N_Accept_Statement): Use Trivial_Accept_OK
|
111 |
|
|
|
112 |
|
|
2007-12-19 Robert Dewar
|
113 |
|
|
|
114 |
|
|
* exp_pakd.adb (Expand_Bit_Packed_Element_Set): Fix packed array type
|
115 |
|
|
in complex case where array is Volatile.
|
116 |
|
|
|
117 |
|
|
2007-12-19 Ed Schonberg
|
118 |
|
|
|
119 |
|
|
* freeze.adb (Freeze_Record_Type, Check_Current_Instance): Implement
|
120 |
|
|
properly the Ada2005 rules concerning when the current instance of a
|
121 |
|
|
record type is aliased.
|
122 |
|
|
|
123 |
|
|
2007-12-19 Ed Schonberg
|
124 |
|
|
|
125 |
|
|
* par-ch3.adb (P_Record_Declaration): Guard against cascaded errors in
|
126 |
|
|
mangled declaration
|
127 |
|
|
(P_Type_Declaration): Diagnose misuse of "abstract" in untagged record
|
128 |
|
|
declarations.
|
129 |
|
|
(P_Variant_Part): Cleaner patch for parenthesized discriminant
|
130 |
|
|
|
131 |
|
|
2007-12-19 Vincent Celier
|
132 |
|
|
|
133 |
|
|
* prj-attr.adb (Package_Node_Id_Of): Returns Unknown_Package when
|
134 |
|
|
package is not known
|
135 |
|
|
|
136 |
|
|
* prj-attr.ads (Unknown_Package): New constant
|
137 |
|
|
Do not crash when an unknown package is in several projects
|
138 |
|
|
|
139 |
|
|
* prj-dect.adb (Parse_Package_Declaration): Mark an unknown package as
|
140 |
|
|
ignored
|
141 |
|
|
|
142 |
|
|
* prj-nmsc.adb (Check): Remove obsolete code related to no longer
|
143 |
|
|
existing package Language_Processing.
|
144 |
|
|
|
145 |
|
|
2007-12-19 Ed Schonberg
|
146 |
|
|
Gary Dismukes
|
147 |
|
|
Samuel Tardieu
|
148 |
|
|
|
149 |
|
|
PR ada/15803, ada/15805
|
150 |
|
|
* sem_ch6.adb, sem_ch3.adb (Constrain_Access): In Ada2005, diagnose
|
151 |
|
|
illegal access subtypes when there is a constrained partial view.
|
152 |
|
|
(Check_For_Premature_Usage): New procedure inside
|
153 |
|
|
Access_Subprogram_Declaration for checking that an access-to-subprogram
|
154 |
|
|
type doesn't reference its own name within any formal parameters or
|
155 |
|
|
result type (including within nested anonymous access types).
|
156 |
|
|
(Access_Subprogram_Declaration): Add call to Check_For_Premature_Usage.
|
157 |
|
|
(Sem_Ch3.Analyze_Object_Declaration, Sem_ch6.Process_Formals): if the
|
158 |
|
|
context is an access_to_variable, the expression cannot be an
|
159 |
|
|
access_to_constant.
|
160 |
|
|
|
161 |
|
|
2007-12-19 Bob Duff
|
162 |
|
|
|
163 |
|
|
* sem_ch4.adb (Analyze_Concatenation_Rest): New procedure.
|
164 |
|
|
(Analyze_Concatenation): Use iteration instead of recursion in order
|
165 |
|
|
to avoid running out of stack space for deeply nested concatenations.
|
166 |
|
|
|
167 |
|
|
2007-12-19 Ed Schonberg
|
168 |
|
|
Gary Dismukes
|
169 |
|
|
|
170 |
|
|
* sem_ch8.adb (Analyze_Subprogram_Renaming): Diagnose illegal renamings
|
171 |
|
|
whose renamed entity is a subprogram that requires overriding.
|
172 |
|
|
(Premature_Usage): Test for the case of N_Full_Type_Declaration when
|
173 |
|
|
issuing an error for premature usage and issue a message that says
|
174 |
|
|
'type' rather than 'object'.
|
175 |
|
|
|
176 |
|
|
2007-12-19 Gary Dismukes
|
177 |
|
|
|
178 |
|
|
PR ada/34149
|
179 |
|
|
* sem_disp.adb (Check_Dispatching_Call): Augment existing test for
|
180 |
|
|
presence of a statically tagged operand (Present (Static_Tag)) with
|
181 |
|
|
test for Indeterm_Ancestor_Call when determining whether to propagate
|
182 |
|
|
the static tag to tag-indeterminate operands (which forces dispatching
|
183 |
|
|
on such calls).
|
184 |
|
|
(Check_Controlling_Formals): Ada2005, access parameters can have
|
185 |
|
|
defaults.
|
186 |
|
|
(Add_Dispatching_Operation, Check_Operation_From_Private_View): do
|
187 |
|
|
not insert subprogram in list of primitive operations if already there.
|
188 |
|
|
|
189 |
|
|
2007-12-19 Tristan Gingold
|
190 |
|
|
|
191 |
|
|
* utils.c (create_var_decl_1): call rest_of_decl_compilation only for
|
192 |
|
|
global variable.
|
193 |
|
|
|
194 |
|
|
2007-12-19 Thomas Quinot
|
195 |
|
|
|
196 |
|
|
Part of PR ada/33688
|
197 |
|
|
* gen-soccon.c: Add constant IP_PKTINFO to allow getting ancillary
|
198 |
|
|
datagram info on Linux.
|
199 |
|
|
|
200 |
|
|
2007-12-19 Vincent Celier
|
201 |
|
|
|
202 |
|
|
* makegpr.adb (Check_Compilation_Needed): Normalize C_Source_Path so
|
203 |
|
|
that the source path name is always found in the dependencies.
|
204 |
|
|
|
205 |
|
|
2007-12-19 Robert Dewar
|
206 |
|
|
|
207 |
|
|
* gnat_rm.texi, gnat_ugn.texi: Update documentation of -gnatw.o
|
208 |
|
|
Fix name of Wide_Wide_Latin_1/9 file names
|
209 |
|
|
Add documentation for Ada.Exceptions.Last_Chance_Handler (a-elchha.ads)
|
210 |
|
|
Add missing documentation for Ada.Wide_[Wide_]Characters.Unicode
|
211 |
|
|
Add missing documentation for Ada.Command_Line.Response_File
|
212 |
|
|
Update list of warning letters for Warnings pragma
|
213 |
|
|
Add documentation for pragma Unmodified
|
214 |
|
|
|
215 |
|
|
2007-12-19 Samuel Tardieu
|
216 |
|
|
|
217 |
|
|
* Makefile.in: Add s-tasinf.ad[bs] substitutions for sh4-linux target.
|
218 |
|
|
|
219 |
|
|
2007-12-17 Arnaud Charlet
|
220 |
|
|
|
221 |
|
|
* s-vxwork-alpha.ads: Removed, no longer used.
|
222 |
|
|
|
223 |
|
|
2007-12-15 Jakub Jelinek
|
224 |
|
|
|
225 |
|
|
* Make-lang.in (gnat1, gnatbind): Pass ALL_CFLAGS on the link line.
|
226 |
|
|
|
227 |
|
|
2007-12-13 Samuel Tardieu
|
228 |
|
|
|
229 |
|
|
PR ada/34360
|
230 |
|
|
* Makefile.in: Change two occurrences of mlib-tgt.adb by correct name
|
231 |
|
|
mlib-tgt-specific.adb.
|
232 |
|
|
|
233 |
|
|
2007-12-13 Bob Duff
|
234 |
|
|
|
235 |
|
|
* trans.c (Attribute_to_gnu): Check for violations of the
|
236 |
|
|
No_Implicit_Dynamic_Code restriction. This checking used to be done in
|
237 |
|
|
the front end, but is moved here so we can make it more accurate.
|
238 |
|
|
|
239 |
|
|
2007-12-13 Pascal Obry
|
240 |
|
|
|
241 |
|
|
* adaint.c (__gnat_pthread_setaffinity_np): New routine. A dummy
|
242 |
|
|
version is provided for older GNU/Linux distribution not
|
243 |
|
|
supporting thread affinity sets.
|
244 |
|
|
|
245 |
|
|
* s-osinte-linux.ads (SC_NPROCESSORS_ONLN): New constant for sysconf
|
246 |
|
|
call.
|
247 |
|
|
(bit_field): New packed boolean type used by cpu_set_t.
|
248 |
|
|
(cpu_set_t): New type corresponding to the C type with
|
249 |
|
|
the same name. Note that on the Ada side we use a bit
|
250 |
|
|
field array for the affinity mask. There is not need
|
251 |
|
|
for the C macro for setting individual bit.
|
252 |
|
|
(pthread_setaffinity_np): New imported routine.
|
253 |
|
|
|
254 |
|
|
* s-taprop-linux.adb (Enter_Task): Check that the CPU affinity mask is
|
255 |
|
|
no null.
|
256 |
|
|
(Create_Task): Set the processor affinity mask if information
|
257 |
|
|
is present.
|
258 |
|
|
|
259 |
|
|
* s-tasinf-linux.ads, s-tasinf-linux.adb: New files.
|
260 |
|
|
|
261 |
|
|
2007-12-13 Robert Dewar
|
262 |
|
|
|
263 |
|
|
* s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
|
264 |
|
|
s-osinte-freebsd.ads, s-osinte-lynxos.ads, s-osinte-tru64.ads,
|
265 |
|
|
s-osinte-mingw.ads, s-osinte-aix.ads, s-osinte-hpux-dce.ads,
|
266 |
|
|
s-osinte-irix.ads, s-osinte-solaris.ads, s-intman-vms.adb,
|
267 |
|
|
s-osinte-vms.ads, s-osinte-vxworks6.ads, s-osinte-vxworks.ads,
|
268 |
|
|
s-auxdec.ads, s-auxdec-vms_64.ads, s-osinte-darwin.ads,
|
269 |
|
|
s-taprop-vms.adb, s-interr-sigaction.adb, s-osinte-linux-hppa.ads,
|
270 |
|
|
i-vxwork-x86.ads, s-tpopde-vms.ads: Add missing pragma Convention C
|
271 |
|
|
for subprogram pointers.
|
272 |
|
|
|
273 |
|
|
* g-ctrl_c.adb: New file.
|
274 |
|
|
|
275 |
|
|
* g-ctrl_c.ads (Install_Handler): New body.
|
276 |
|
|
|
277 |
|
|
* freeze.adb (Freeze_Subprogram): Use new flag Has_Pragma_Inline_Always
|
278 |
|
|
instead of obsolete function Is_Always_Inlined.
|
279 |
|
|
(Freeze_Entity): check for tagged type in imported C subprogram
|
280 |
|
|
(Freeze_Entity): check for 8-bit boolean in imported C subprogram
|
281 |
|
|
(Freeze_Entity): check for convention Ada subprogram pointer in
|
282 |
|
|
imported C subprogram.
|
283 |
|
|
(Freeze_Fixed_Point_Type): In the case of a base type where the low
|
284 |
|
|
bound would be chopped off and go from negative to zero, force
|
285 |
|
|
Loval_Excl_EP to be the same as Loval_Incl_EP (the included lower
|
286 |
|
|
bound) so that the size computation for the base type will take
|
287 |
|
|
negative values into account.
|
288 |
|
|
|
289 |
|
|
2007-12-13 Eric Botcazou
|
290 |
|
|
Bob Duff
|
291 |
|
|
Tristan Gingold
|
292 |
|
|
|
293 |
|
|
* system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
|
294 |
|
|
system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
|
295 |
|
|
system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads,
|
296 |
|
|
system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
|
297 |
|
|
system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
|
298 |
|
|
system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
|
299 |
|
|
system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
|
300 |
|
|
system-vxworks-arm.ads, system-darwin-x86.ads, system.ads,
|
301 |
|
|
system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
|
302 |
|
|
system-linux-ppc.ads, system-linux-hppa.ads, system-hpux-ia64.ads,
|
303 |
|
|
system-vms-ia64.ads (Stack_Check_Limits): New target parameter.
|
304 |
|
|
(Always_Compatible_Rep): New flag to control trampolines globally.
|
305 |
|
|
(Dynamic_Trampolines_Used): New flag for implementing the
|
306 |
|
|
No_Implicit_Dynamic_Code restriction more correctly (not yet used,
|
307 |
|
|
and not yet set correctly for some targets).
|
308 |
|
|
|
309 |
|
|
* s-taprop-vxworks.adb: Use stack limit method of stack checking.
|
310 |
|
|
Simply indirectly call s-stchop when a task is created.
|
311 |
|
|
|
312 |
|
|
* ali.ads:
|
313 |
|
|
New flag added: Stack_Check_Switch_Set which is set when '-fstack-check'
|
314 |
|
|
appears as an argument (entries A) in an ALI file.
|
315 |
|
|
|
316 |
|
|
* fe.h (Stack_Check_Limits): Declare new target parameter.
|
317 |
|
|
(Check_Implicit_Dynamic_Code_Allowed): New procedure.
|
318 |
|
|
|
319 |
|
|
* init.c: Declare __gnat_set_stack_limit_hook for VxWorks kernel RTS.
|
320 |
|
|
This variable is declared in C to be sure not subject to elaboration
|
321 |
|
|
code.
|
322 |
|
|
(__gnat_map_signal, VxWorks): In kernel mode, map SIGILL to
|
323 |
|
|
Storage_Error.
|
324 |
|
|
|
325 |
|
|
* targparm.ads, targparm.adb (Stack_Check_Limits): New parameter.
|
326 |
|
|
(Always_Compatible_Rep, Dynamic_Trampolines_Used): New parameters.
|
327 |
|
|
|
328 |
|
|
* s-stchop.ads: Add comments.
|
329 |
|
|
|
330 |
|
|
* s-stchop-vxworks.adb: Package almost fully rewritten to use stack
|
331 |
|
|
limit method of stack checking.
|
332 |
|
|
|
333 |
|
|
* s-stchop-limit.ads: New file.
|
334 |
|
|
|
335 |
|
|
2007-12-13 Robert Dewar
|
336 |
|
|
|
337 |
|
|
* sem_ch5.adb, s-taskin.adb, a-ciorma.adb, a-coorma.adb, a-cohama.adb,
|
338 |
|
|
a-cihama.adb, g-awk.adb,
|
339 |
|
|
s-inmaop-posix.adb: Update handling of assigned value/unreferenced
|
340 |
|
|
warnings
|
341 |
|
|
|
342 |
|
|
* exp_smem.adb: Update handling of assigned value/unreferenced warnings
|
343 |
|
|
|
344 |
|
|
* sem.adb: Update handling of assigned value/unreferenced warnings
|
345 |
|
|
|
346 |
|
|
* a-exexpr-gcc.adb: Add a pragma warnings off for boolean return
|
347 |
|
|
|
348 |
|
|
* lib-xref.ads: Improve documentation for k xref type
|
349 |
|
|
|
350 |
|
|
* lib-xref.adb:
|
351 |
|
|
Update handling of assigned value/unreferenced warnings
|
352 |
|
|
(Generate_Reference): Warning for reference to entity for which a
|
353 |
|
|
pragma Unreferenced has been given should be unconditional.
|
354 |
|
|
If the entity is a discriminal, mark the original
|
355 |
|
|
discriminant as referenced.
|
356 |
|
|
|
357 |
|
|
* sem_warn.ads, sem_warn.adb
|
358 |
|
|
(Check_One_Unit): Test Renamed_In_Spec to control giving warning for
|
359 |
|
|
no entities referenced in package
|
360 |
|
|
(Check_One_Unit): Don't give message about no entities referenced in
|
361 |
|
|
a package if a pragma Unreferenced has appeared.
|
362 |
|
|
Handle new warning flag -gnatw.a/-gnatw.A
|
363 |
|
|
Update handling of assigned value/unreferenced warnings
|
364 |
|
|
|
365 |
|
|
* atree.h: Add flags up to Flag247
|
366 |
|
|
(Flag231): New macro.
|
367 |
|
|
|
368 |
|
|
2007-12-13 Jose Ruiz
|
369 |
|
|
|
370 |
|
|
* adaint.h: (__gnat_plist_init): Not defined for RTX.
|
371 |
|
|
|
372 |
|
|
* initialize.c (__gnat_initialize): Do not call __gnat_plist_init for
|
373 |
|
|
RTX systems.
|
374 |
|
|
|
375 |
|
|
* Makefile.in: Add new files s-tasinf-linux.ads and s-tasinf-linux.adb.
|
376 |
|
|
(LIBGNAT_TARGET_PAIRS, MISCLIB, THREADSLIB,
|
377 |
|
|
EXTRA_GNATRTL_NONTASKING_OBJS, EXTRA_GNATRTL_TASKING_OBJS,
|
378 |
|
|
GNATLIB_SHARED for RTX run time): Use the versions required by RTX.
|
379 |
|
|
|
380 |
|
|
* mingw32.h:
|
381 |
|
|
Do not define GNAT_UNICODE_SUPPORT for RTX since it is not supported.
|
382 |
|
|
|
383 |
|
|
* sysdep.c (winflush_function for RTX): Procedure that does nothing
|
384 |
|
|
since we only have problems with Windows 95/98, which are not
|
385 |
|
|
supported by RTX.
|
386 |
|
|
(__gnat_ttyname): Return the empty string on Nucleus, just as
|
387 |
|
|
done on vxworks.
|
388 |
|
|
|
389 |
|
|
2007-12-13 Robert Dewar
|
390 |
|
|
|
391 |
|
|
* a-textio.adb, a-textio.ads:
|
392 |
|
|
Extensive changes to private part for wide character encoding
|
393 |
|
|
|
394 |
|
|
* a-witeio.adb, a-witeio.ads, a-ztexio.ads, a-ztexio.adb
|
395 |
|
|
(Look_Ahead): Fix mishandling of encoded sequences
|
396 |
|
|
Move declaration of Wch_Con to private part (should not be visible)
|
397 |
|
|
|
398 |
|
|
* ali.adb (Scan_ALI): Set default encoding method to brackets instead of
|
399 |
|
|
UTF-8. Probably this is never used, but if it is, brackets is
|
400 |
|
|
clearly correct.
|
401 |
|
|
|
402 |
|
|
* bindgen.adb (Get_WC_Encoding): New procedure to properly handle
|
403 |
|
|
setting wide character encoding for no main program case and when
|
404 |
|
|
encoding is specified using -W?
|
405 |
|
|
Initialize stack limit of environment task if stack limit method of
|
406 |
|
|
stack checking is enabled.
|
407 |
|
|
(Gen_Adainit_Ada): Use Get_WC_Encoding to output encoding method
|
408 |
|
|
(Gen_Adainit_C): Use Get_WC_Encoding to output encoding method
|
409 |
|
|
(Get_Main_Unit_Name): New function.
|
410 |
|
|
(Gen_Adainit_Ada): Add call to main program for .NET when needed.
|
411 |
|
|
(Gen_Output_File): Set Bind_Main_Program to True for .NET
|
412 |
|
|
|
413 |
|
|
* bindusg.adb: Add line for -Wx switch
|
414 |
|
|
|
415 |
|
|
* s-wchcon.adb, s-wchcon.ads: (Is_Start_Of_Encoding): New function
|
416 |
|
|
Add comments
|
417 |
|
|
Add new useful constant WC_Longest_Sequences
|
418 |
|
|
|
419 |
|
|
* switch-b.adb: Clean up handling of -Wx switch
|
420 |
|
|
For -gnatWx, set Wide_Character_Encoding_Method_Specified
|
421 |
|
|
|
422 |
|
|
* switch-c.adb: -gnatg activates warning on assertion errors
|
423 |
|
|
For -gnatWx, set Wide_Character_Encoding_Method_Specified
|
424 |
|
|
|
425 |
|
|
* s-wchcon.adb: (Is_Start_Of_Encoding): New function
|
426 |
|
|
|
427 |
|
|
2007-12-13 Robert Dewar
|
428 |
|
|
Ed Schonberg
|
429 |
|
|
|
430 |
|
|
* a-ngcoty.adb: New pragma Fast_Math
|
431 |
|
|
|
432 |
|
|
* opt.adb: New pragma Fast_Math
|
433 |
|
|
|
434 |
|
|
* par-prag.adb:
|
435 |
|
|
Add Implemented_By_Entry to the list of pragmas which do not require any
|
436 |
|
|
special processing.
|
437 |
|
|
(Favor_Top_Level): New pragma.
|
438 |
|
|
New pragma Fast_Math
|
439 |
|
|
|
440 |
|
|
* exp_attr.adb: Move Wide_[Wide_]Image routines to Exp_Imgv
|
441 |
|
|
(Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
|
442 |
|
|
Expand_Allocator_Expression): Take into account VM_Target
|
443 |
|
|
(Expand_Attribute, case 'Identity): Handle properly the case where
|
444 |
|
|
the prefix is a task interface.
|
445 |
|
|
New pragma Fast_Math
|
446 |
|
|
|
447 |
|
|
* par.adb (Next_Token_Is): New function
|
448 |
|
|
(P_Pragma): Add Skipping parameter
|
449 |
|
|
(U_Left_Paren): New procedure
|
450 |
|
|
(U_Right_Paren): New procedure
|
451 |
|
|
New pragma Fast_Math
|
452 |
|
|
|
453 |
|
|
* par-ch10.adb (P_Subunit): Unconditional msg for missing ) after
|
454 |
|
|
subunit
|
455 |
|
|
New pragma Fast_Math
|
456 |
|
|
|
457 |
|
|
* sem_prag.adb: Add significance value to table Sig_Flag for pragma
|
458 |
|
|
Implemented_By_Entry.
|
459 |
|
|
(Analyze_Pragma): Add case for Ada 2005 pragma Implemented_By_Entry.
|
460 |
|
|
(Set_Inline_Flags): Do not try to link pragma Inline onto chain of rep
|
461 |
|
|
items, since it can apply to more than one overloadable entity. Set
|
462 |
|
|
new flag Has_Pragma_Inline_Always for Inline_Always case.
|
463 |
|
|
(Analyze_Pragma, case Complex_Representation): Improve error message.
|
464 |
|
|
(Analyze_Pragma, case Assert): When assertions are disabled build the
|
465 |
|
|
rewritten code with Sloc of expression rather than pragma, so new
|
466 |
|
|
warning about failing is not deleted.
|
467 |
|
|
(Analyze_Pragma): Allow pragma Preelaborable_Initialization to apply to
|
468 |
|
|
protected types and update error message to reflect that. Test whether
|
469 |
|
|
the protected type is allowed for the pragma (an error is issued if the
|
470 |
|
|
type has any entries, or components that do not have preelaborable
|
471 |
|
|
initialization).
|
472 |
|
|
New pragma Fast_Math
|
473 |
|
|
(Analyze_Pragma, case No_Return): Handle generic instance
|
474 |
|
|
|
475 |
|
|
* snames.h, snames.ads, snames.adb:
|
476 |
|
|
Add new predefined name for interface primitive _Disp_Requeue.
|
477 |
|
|
New pragma Fast_Math
|
478 |
|
|
|
479 |
|
|
* a-tags.ads, a-tags.adb: New calling sequence for
|
480 |
|
|
String_To_Wide_[Wide_]String
|
481 |
|
|
(Secondary_Tag): New subprogram.
|
482 |
|
|
|
483 |
|
|
* exp_imgv.ads, exp_imgv.adb: Move Wide_[Wide_]Image routines here
|
484 |
|
|
from Exp_Attr
|
485 |
|
|
New calling sequence for String_To_Wide_[Wide_]String
|
486 |
|
|
(Expand_Image_Attribute): Major rewrite. New calling sequence avoids
|
487 |
|
|
the use of the secondary stack for image routines.
|
488 |
|
|
|
489 |
|
|
* a-except-2005.adb, s-wchstw.ads, s-wchstw.adb, s-wwdenu.adb: New
|
490 |
|
|
calling sequence for String_To_Wide_[Wide_]String
|
491 |
|
|
|
492 |
|
|
* par-ch3.adb (P_Declarative_Items): Recognize use of Overriding in
|
493 |
|
|
Ada 95 mode
|
494 |
|
|
(P_Unknown_Discriminant_Part_Opt): Handle missing parens gracefully
|
495 |
|
|
Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
|
496 |
|
|
|
497 |
|
|
* par-ch6.adb (P_Subprogram): Recognize use of Overriding in Ada 95 mode
|
498 |
|
|
(P_Formal_Part): Use Skipping parameter in P_Pragma call
|
499 |
|
|
to improve error recovery
|
500 |
|
|
|
501 |
|
|
* par-util.adb (Next_Token_Is): New function
|
502 |
|
|
(Signal_Bad_Attribute): Use new Namet.Is_Bad_Spelling_Of function
|
503 |
|
|
|
504 |
|
|
* par-ch2.adb (Skip_Pragma_Semicolon): Do not resynchronize to
|
505 |
|
|
semicolon if missing
|
506 |
|
|
(P_Pragma): Implement new Skipping parameter
|
507 |
|
|
Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
|
508 |
|
|
Fix location of flag for unrecognized pragma message
|
509 |
|
|
|
510 |
|
|
* par-tchk.adb (U_Left_Paren): New procedure
|
511 |
|
|
(U_Right_Paren): New procedure
|
512 |
|
|
|
513 |
|
|
2007-12-13 Geert Bosch
|
514 |
|
|
|
515 |
|
|
* a-tifiio.adb:
|
516 |
|
|
(Put_Int64): Use Put_Digit to advance Pos. This fixes a case where
|
517 |
|
|
the second or later Scaled_Divide would omit leading zeroes,
|
518 |
|
|
resulting in too few digits produced and a Layout_Error as result.
|
519 |
|
|
(Put): Initialize Pos.
|
520 |
|
|
|
521 |
|
|
2007-12-13 Robert Dewar
|
522 |
|
|
|
523 |
|
|
atree.ads, atree.adb (Flag231..Flag247): New functions
|
524 |
|
|
(Set_Flag231..Set_Flag247): New procedures
|
525 |
|
|
(Basic_Set_Convention): Rename Set_Convention to be
|
526 |
|
|
Basic_Set_Convention
|
527 |
|
|
(Nkind_In): New functions
|
528 |
|
|
Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
|
529 |
|
|
|
530 |
|
|
* exp_ch6.adb (Expand_Call): Use new flag Has_Pragma_Inline_Always
|
531 |
|
|
instead
|
532 |
|
|
of obsolete function Is_Always_Inlined
|
533 |
|
|
(Register_Predefined_DT_Entry): Initialize slots of the second
|
534 |
|
|
secondary dispatch table.
|
535 |
|
|
Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
|
536 |
|
|
(Expand_N_Function_Call): Remove special provision for stack checking.
|
537 |
|
|
|
538 |
|
|
* exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
|
539 |
|
|
Include _Disp_Requeue in the list of predefined operations.
|
540 |
|
|
(Find_Interface_ADT): Modified to fulfill the new specification.
|
541 |
|
|
Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
|
542 |
|
|
|
543 |
|
|
* par-ch4.adb, nlists.ads, nlists.adb:
|
544 |
|
|
Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
|
545 |
|
|
|
546 |
|
|
* sinfo.ads, sinfo.adb: (Nkind_In): New functions
|
547 |
|
|
Fix location of flag for unrecognized pragma message
|
548 |
|
|
|
549 |
|
|
* sem_ch7.adb: Use Nkind_In
|
550 |
|
|
|
551 |
|
|
2007-12-13 Vincent Celier
|
552 |
|
|
|
553 |
|
|
* opt.ads:
|
554 |
|
|
Indicate what flags are used by the Project Manager, gprbuild and
|
555 |
|
|
gprclean.
|
556 |
|
|
(Opt.Follow_Links_For_Dirs): New flag
|
557 |
|
|
(Warn_On_Assertion_Failure): New flag
|
558 |
|
|
(Wide_Character_Encoding_Method_Specified): New flag
|
559 |
|
|
(Suppress_All_Inlining): New switch set by -fno-inline
|
560 |
|
|
(Real_VMS_Target): New flag
|
561 |
|
|
New pragma Fast_Math
|
562 |
|
|
|
563 |
|
|
2007-12-13 Robert Dewar
|
564 |
|
|
|
565 |
|
|
* back_end.adb: Recognize -fno-inline
|
566 |
|
|
|
567 |
|
|
2007-12-13 Robert Dewar
|
568 |
|
|
|
569 |
|
|
* checks.adb: Fix optimization problem with short-circuited form
|
570 |
|
|
|
571 |
|
|
2007-12-13 Bob Duff
|
572 |
|
|
|
573 |
|
|
* clean.adb (Usage): Add line for -aP
|
574 |
|
|
(Check_Version_And_Help): Change Check_Version_And_Help to be generic,
|
575 |
|
|
with a parameter "procedure Usage", instead of passing a pointer to a
|
576 |
|
|
procedure. This is to eliminate trampolines (since the Usage procedure
|
577 |
|
|
is often nested in a main procedure, and it would be inconvenient to
|
578 |
|
|
unnest it).
|
579 |
|
|
|
580 |
|
|
* g-comlin.adb (For_Each_Simple_Switch): Change For_Each_Simple_Switch
|
581 |
|
|
to be generic, with a parameter "procedure Callback (...)", instead of
|
582 |
|
|
passing a pointer to a procedure. This is to eliminate trampolines
|
583 |
|
|
(since the Callback procedure is usually nested).
|
584 |
|
|
|
585 |
|
|
* gnatfind.adb, switch.adb, switch.ads, gnatlink.adb, gnatls.adb,
|
586 |
|
|
gnatname.adb, gnatxref.adb, gnatchop.adb, gprep.adb, gnatbind.adb
|
587 |
|
|
(Check_Version_And_Help): Change Check_Version_And_Help to be generic.
|
588 |
|
|
|
589 |
|
|
* g-pehage.adb (Compute_Edges_And_Vertices, Build_Identical_Key_Sets):
|
590 |
|
|
Use the generic Heap_Sort_G instead of Heap_Sort_A.
|
591 |
|
|
|
592 |
|
|
2007-12-13 Hristian Kirtchev
|
593 |
|
|
|
594 |
|
|
* einfo.ads, einfo.adb: Flag 232 is now Implemented_By_Entry.
|
595 |
|
|
(Implemented_By_Entry, Set_Implemented_By_Entry): New routines.
|
596 |
|
|
(Write_Entry_Flags): Add an entry for Implemented_By_Entry.
|
597 |
|
|
(Renamed_In_Spec): New flag
|
598 |
|
|
(Has_Pragma_Inline_Always): New flag
|
599 |
|
|
Add missing doc for pragma Obsolescent_Warning
|
600 |
|
|
Add missing doc for 17 additional unused flags (230-247)
|
601 |
|
|
(Is_Derived_Type): Remove condition "not Is_Generic_Type".
|
602 |
|
|
Alphabetize with clauses.
|
603 |
|
|
Separate Is_Thunk and Has_Thunks flags
|
604 |
|
|
(Write_Entity_Flags): Add forgotten entry for Has_Thunks
|
605 |
|
|
(Related_Interface): Renamed to Related_Type.
|
606 |
|
|
(Has_Thunks/Set_Has_Thunks): Subprograms of new attribute.
|
607 |
|
|
(Set_Is_Flag): Restrict the assertion.
|
608 |
|
|
|
609 |
|
|
2007-12-13 Vincent Celier
|
610 |
|
|
|
611 |
|
|
* errout.adb (Output_Source_Line): Do not keep a trailing space after
|
612 |
|
|
the source line number if the source line is empty.
|
613 |
|
|
|
614 |
|
|
2007-12-13 Geert Bosch
|
615 |
|
|
|
616 |
|
|
* eval_fat.adb (Decompose_Int): Handle argument of zero.
|
617 |
|
|
(Compose): Remove special casing of zero.
|
618 |
|
|
(Exponent): Likewise.
|
619 |
|
|
(Fraction): Likewise.
|
620 |
|
|
(Machine): Likewise.
|
621 |
|
|
(Decompose): Update comment.
|
622 |
|
|
|
623 |
|
|
2007-12-13 Ed Schonberg
|
624 |
|
|
|
625 |
|
|
* exp_aggr.adb (Build_Record_Aggr_Code): If there is an aggregate for a
|
626 |
|
|
limited ancestor part, initialize controllers of enclosing record
|
627 |
|
|
before expanding ancestor aggregate.
|
628 |
|
|
(Gen_Assign): If a component of the aggregate is box-initialized, add
|
629 |
|
|
code to call Initialize if the component is controlled, and explicit
|
630 |
|
|
assignment of null if the component is an access type.
|
631 |
|
|
|
632 |
|
|
Handle properly aggregates for limited types that appear in object
|
633 |
|
|
declarations when the aggregate contains controlled values such as
|
634 |
|
|
protected types.
|
635 |
|
|
When expanding limited aggregates into individual components, do not
|
636 |
|
|
call Adjust on controlled components that are limited.
|
637 |
|
|
|
638 |
|
|
2007-12-13 Ed Schonberg
|
639 |
|
|
|
640 |
|
|
* expander.adb: Take into account N_Subprogram_Renaming_Declaration
|
641 |
|
|
|
642 |
|
|
2007-12-13 Hristian Kirtchev
|
643 |
|
|
|
644 |
|
|
* exp_ch3.adb (Predefined_Primitive_Bodies): Generate the body of
|
645 |
|
|
predefined primitive _Disp_Requeue.
|
646 |
|
|
(Make_Predefined_Primitive_Specs): Create the spec for predefined
|
647 |
|
|
primitive _Disp_Requeue.
|
648 |
|
|
(Make_Predefined_Primitive_Specs/Predefined_Primitive_Bodies): Set the
|
649 |
|
|
type of formal Renamed_Eq to Entity_Id (instead of Node_Id).
|
650 |
|
|
(Make_Predefined_Primitive_Specs): Spec of "=" needed if the parent is
|
651 |
|
|
an interface type. In case of limited interfaces we now declare all the
|
652 |
|
|
predefined primitives associated with synchronized interfaces as
|
653 |
|
|
abstract.
|
654 |
|
|
(Predef_Spec_Or_Body): For interface types generate abstract subprogram
|
655 |
|
|
declarations.
|
656 |
|
|
(Predefined_Primitive_Bodies): Add body of "=" if the parent of the
|
657 |
|
|
tagged type is an interface type and there is no user-defined equality
|
658 |
|
|
function.
|
659 |
|
|
Add also bodies of predefined primitives associated with synchronized
|
660 |
|
|
interfaces.
|
661 |
|
|
(Freeze_Record_Type): Do not build bodies of predefined primitives of
|
662 |
|
|
interface types because they are now defined abstract.
|
663 |
|
|
Add missing documentation.
|
664 |
|
|
(Expand_Record_Controller): Update occurrence of Related_Interface
|
665 |
|
|
to Related_Type.
|
666 |
|
|
(Build_Offset_To_Top_Functions): Do nothing in case of VM.
|
667 |
|
|
(Expand_N_Object_Declaration): Take into account VM_Target when handling
|
668 |
|
|
class wide interface object declaration.
|
669 |
|
|
(Expand_Previous_Access_Type): Do not create a duplicate master entity
|
670 |
|
|
if the access type already has one.
|
671 |
|
|
(Expand_N_Object_Declaration): Defend against attempt to validity check
|
672 |
|
|
generic types. Noticed for -gnatVcf specified with previous errors.
|
673 |
|
|
|
674 |
|
|
2007-12-13 Arnaud Charlet
|
675 |
|
|
|
676 |
|
|
* exp_ch4.adb (Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
|
677 |
|
|
Expand_Allocator_Expression): Take into account VM_Target
|
678 |
|
|
|
679 |
|
|
* exp_ch5.adb (Expand_N_Extended_Return_Statement): Do not use
|
680 |
|
|
secondary stack when VM_Target /= No_VM
|
681 |
|
|
|
682 |
|
|
2007-12-13 Javier Miranda
|
683 |
|
|
Ed Schonberg
|
684 |
|
|
|
685 |
|
|
* exp_ch7.adb (Expand_N_Package_Body): Replace occurrence of attribute
|
686 |
|
|
Is_Complation_Unit by Is_Library_Level_Entity in the code
|
687 |
|
|
that decides if the static dispatch tables need to be built.
|
688 |
|
|
(Wrap_Transient_Declaration): Do not generate a finalization call if
|
689 |
|
|
this is a renaming declaration and the renamed object is a component
|
690 |
|
|
of a controlled type.
|
691 |
|
|
|
692 |
|
|
2007-12-13 Gary Dismukes
|
693 |
|
|
|
694 |
|
|
* exp_ch8.ads, exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration):
|
695 |
|
|
In the case where the renamed subprogram is a dereference, call
|
696 |
|
|
Force_Evaluation on the prefix.
|
697 |
|
|
|
698 |
|
|
2007-12-13 Hristian Kirtchev
|
699 |
|
|
Ed Schonberg
|
700 |
|
|
|
701 |
|
|
* exp_ch9.adb (Expand_N_Asynchronous_Select,
|
702 |
|
|
Expand_N_Conditional_Entry_Call, Expand_N_Timed_Entry_Call): Code and
|
703 |
|
|
comment reformatting.
|
704 |
|
|
(Set_Privals): Inherit aliased flag from formal. From code reading.
|
705 |
|
|
(Build_Simple_Entry_Call): Out parameters of an access type are passed
|
706 |
|
|
by copy and initialized from the actual. This includes entry parameters.
|
707 |
|
|
(Expand_N_Requeue_Statement): Reimplement in order to handle both Ada 95
|
708 |
|
|
and Ada 2005 models of requeue.
|
709 |
|
|
(Null_Statements): Still connsider do-end block null if it contains
|
710 |
|
|
Unreferenced and Warnings pragmas.
|
711 |
|
|
(Expand_N_Accept_Statement): Do not optimize away null do end if
|
712 |
|
|
dispatching policy is other than defaulted.
|
713 |
|
|
(Expand_N_Timed_Entry_Call): When the triggering statement is a
|
714 |
|
|
dispatching call, manually analyze the delay statement.
|
715 |
|
|
(Find_Parameter_Type): Move subprogram to Sem_Util.
|
716 |
|
|
|
717 |
|
|
2007-12-13 Hristian Kirtchev
|
718 |
|
|
Javier Miranda
|
719 |
|
|
|
720 |
|
|
* exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Primitive
|
721 |
|
|
_Disp_Requeue occupies dispatch table slot number 15. Move
|
722 |
|
|
_Disp_Timed_Select to slot 16.
|
723 |
|
|
(Make_Disp_Requeue_Body, Make_Disp_Requeue_Spec): New routines which
|
724 |
|
|
generate the spec and body of _Disp_Reqeueue.
|
725 |
|
|
(Make_DT): Build and initialize the second dispatch table.
|
726 |
|
|
Handle initialization of RC_Offset when the parent
|
727 |
|
|
is a private type with variable size components.
|
728 |
|
|
(Make_Secondary_DT): Complete documentation. Add support to
|
729 |
|
|
initialize the second dispatch table.
|
730 |
|
|
(Make_Tags): Generate the tag of the second dispatch table.
|
731 |
|
|
(Register_Primitive): Add support to register primitives in the
|
732 |
|
|
second dispatch table.
|
733 |
|
|
|
734 |
|
|
2007-12-13 Pascal Obry
|
735 |
|
|
|
736 |
|
|
* expect.c (__gnat_kill) [WIN32]: Implement the SIGINT signal on
|
737 |
|
|
Windows. This signal is used by gnatmake to kill child processes for
|
738 |
|
|
example.
|
739 |
|
|
|
740 |
|
|
2007-12-13 Javier Miranda
|
741 |
|
|
|
742 |
|
|
* exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing
|
743 |
|
|
support for generic dispatching constructor calls in which we need to
|
744 |
|
|
locate the tag of a secondary dispatch table associated with an
|
745 |
|
|
interface type to properly dispatch the call.
|
746 |
|
|
(Expand_N_Attribute_Reference [case Address],
|
747 |
|
|
Expand_Dispatching_Constructor_Call, Expand_Unc_Deallocation): Fix
|
748 |
|
|
handling of VM targets.
|
749 |
|
|
|
750 |
|
|
2007-12-13 Robert Dewar
|
751 |
|
|
Ed Schonberg
|
752 |
|
|
|
753 |
|
|
* exp_prag.adb (Expand_Pragma_Assert): Recognize new warning flag for
|
754 |
|
|
assert fail
|
755 |
|
|
|
756 |
|
|
* ug_words: Add entries for -gnatw.a -gnatw.A
|
757 |
|
|
|
758 |
|
|
* sem_res.adb (Set_String_Literal_Subtype): If the context of the
|
759 |
|
|
literal is a subtype with non-static constraints, use the base type of
|
760 |
|
|
the context as the base of the string subtype, to prevent type
|
761 |
|
|
mismatches in gigi.
|
762 |
|
|
(Resolve_Actuals): If the actual is an entity name, generate a
|
763 |
|
|
reference before the actual is resolved and expanded, to prevent
|
764 |
|
|
spurious warnings on formals of enclosing protected operations.
|
765 |
|
|
(Analyze_Overloaded_Selected_Component): If type of prefix if
|
766 |
|
|
class-wide, use visible components of base type.
|
767 |
|
|
(Resolve_Selected_Component): Ditto.
|
768 |
|
|
(Resolve_Short_Circuit): Detect case of pragma Assert argument
|
769 |
|
|
evaluating to False, and issue warning message.
|
770 |
|
|
|
771 |
|
|
* usage.adb: Add lines for -gnatw.a and -gnatw.A
|
772 |
|
|
|
773 |
|
|
2007-12-13 Emmanuel Briot
|
774 |
|
|
|
775 |
|
|
* g-calend.ads (No_Time): New constant, to represent an uninitialized
|
776 |
|
|
time value
|
777 |
|
|
|
778 |
|
|
* g-catiio.ads, g-catiio.adb (Value): Added support for more date
|
779 |
|
|
formats.
|
780 |
|
|
(Month_Name_To_Number): New subprogram
|
781 |
|
|
|
782 |
|
|
* g-dirope.adb (Get_Current_Dir): On windows, normalize the drive
|
783 |
|
|
letter to upper-case.
|
784 |
|
|
|
785 |
|
|
2007-12-13 Robert Dewar
|
786 |
|
|
Ed Schonberg
|
787 |
|
|
|
788 |
|
|
* gnat1drv.adb (Gnat1drv): Properly set new flag Opt.Real_VMS_Target
|
789 |
|
|
|
790 |
|
|
* layout.adb (Resolve_Attribute, case 'Access): If designated type of
|
791 |
|
|
context is a limited view, use non-limited view when available. If the
|
792 |
|
|
non-limited view is an unconstrained array, this enforces consistency
|
793 |
|
|
requirements in 3.10.2 (27).
|
794 |
|
|
(Layout_Type): For an access type whose designated type is a limited
|
795 |
|
|
view, examine its declaration to determine if it is an unconstrained
|
796 |
|
|
array, and size the access type accordingly.
|
797 |
|
|
(Layout_Type): Do not force 32-bits for convention c subprogram
|
798 |
|
|
pointers in -gnatdm mode, only if real vms target.
|
799 |
|
|
|
800 |
|
|
* sem_attr.adb (Analyze_Access_Attribute): Use new flag
|
801 |
|
|
Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
|
802 |
|
|
(Analyze_Access_Attribute,Attribute_Address): Remove checks for
|
803 |
|
|
violations of the No_Implicit_Dynamic_Code restriction.
|
804 |
|
|
(Resolve_Attribute, case 'Access): If designated type of context is a
|
805 |
|
|
limited view, use non-limited view when available. If the non-limited
|
806 |
|
|
view is an unconstrained array, this enforces consistency requirements
|
807 |
|
|
in 3.10.2 (27).
|
808 |
|
|
(Layout_Type): For an access type whose designated type is a limited
|
809 |
|
|
view, examine its declaration to determine if it is an unconstrained
|
810 |
|
|
array, and size the access type accordingly.
|
811 |
|
|
|
812 |
|
|
2007-12-13 Vincent Celier
|
813 |
|
|
|
814 |
|
|
* gnatcmd.adb (GNATCmd): Do not issue -d= switch to gnatmetric when
|
815 |
|
|
object directory of main project does not exist.
|
816 |
|
|
On VMS, correctly set then environment variable for the source
|
817 |
|
|
directories.
|
818 |
|
|
|
819 |
|
|
2007-12-13 Vasiliy Fofanov
|
820 |
|
|
|
821 |
|
|
* g-regist.ads, g-regist.adb (Set_Value): new parameter Expand; when
|
822 |
|
|
set to True this procedure will create the value of type REG_EXPAND_SZ.
|
823 |
|
|
It was only possible to create REG_SZ values before.
|
824 |
|
|
|
825 |
|
|
2007-12-13 Robert Dewar
|
826 |
|
|
|
827 |
|
|
* g-spchge.ads, g-spchge.adb, g-u3spch.adb, g-u3spch.ads,
|
828 |
|
|
g-wispch.adb, g-wispch.ads, g-zspche.adb, g-zspche.ads,
|
829 |
|
|
namet-sp.adb, namet-sp.ads: New files.
|
830 |
|
|
|
831 |
|
|
* g-speche.adb: Use generic routine in g-spchge
|
832 |
|
|
|
833 |
|
|
* s-wchcnv.ads, s-wchcnv.adb:
|
834 |
|
|
Minor code cleanup (make formal type consistent with spec)
|
835 |
|
|
|
836 |
|
|
* namet.adb: Update comments.
|
837 |
|
|
|
838 |
|
|
* par-endh.adb (Evaluate_End_Entry): Use new
|
839 |
|
|
Namet.Sp.Is_Bad_Spelling_Of function
|
840 |
|
|
|
841 |
|
|
* par-load.adb (Load): Use new Namet.Sp.Is_Bad_Spelling_Of function
|
842 |
|
|
|
843 |
|
|
* sem_aggr.adb (Resolve_Record_Aggregate): If a component of an
|
844 |
|
|
ancestor is an access type initialized with a box, set its type
|
845 |
|
|
explicitly, for use in subsequent expansion.
|
846 |
|
|
(Check_Misspelled_Component): Use new Namet.Sp.Is_Bad_Spelling_Of
|
847 |
|
|
function
|
848 |
|
|
|
849 |
|
|
2007-12-13 Robert Dewar
|
850 |
|
|
|
851 |
|
|
* g-spipat.adb (Break): Fix accessibility error (vsn taking not null
|
852 |
|
|
access Vstring)
|
853 |
|
|
|
854 |
|
|
2007-12-13 Robert Dewar
|
855 |
|
|
|
856 |
|
|
* inline.adb (Back_End_Cannot_Inline): Use new flag
|
857 |
|
|
Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
|
858 |
|
|
|
859 |
|
|
* sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Use new flag
|
860 |
|
|
Has_Pragma_Inline_Always instead.
|
861 |
|
|
of obsolete function Is_Always_Inlined
|
862 |
|
|
(Build_Body_To_Inline): Same change
|
863 |
|
|
(Cannot_Inline): Same change
|
864 |
|
|
Do not give warning on exception raise in No_Return function
|
865 |
|
|
|
866 |
|
|
* sem_ch13.adb (Analyze_Record_Representation_Clause): If an inherited
|
867 |
|
|
component has two inconsistent component clauses in the same record
|
868 |
|
|
representation clause, favor the message that complains about
|
869 |
|
|
duplication rather than inconsistency.
|
870 |
|
|
Update comments.
|
871 |
|
|
(Record_Representation_Clause): Do not warn on missing component
|
872 |
|
|
clauses for inherited components of a type extension.
|
873 |
|
|
(Rep_Item_Too_Late): Do not attempt to link pragma into rep chain for
|
874 |
|
|
an overloadable item if it is a pragma that can apply to multiple
|
875 |
|
|
overloadable entities (e.g. Inline) because a pragma cannot be on
|
876 |
|
|
more than one chain at a time.
|
877 |
|
|
(Validate_Unchecked_Conversion): Add code to warn on unchecked
|
878 |
|
|
conversion where one of the operands is Ada.Calendar.Time.
|
879 |
|
|
(Analyze_Attribute_Definition_Clause): Fix typo in error message.
|
880 |
|
|
For now, ignore Component_Size clause on VM targets, as done for
|
881 |
|
|
pragma Pack.
|
882 |
|
|
|
883 |
|
|
2007-12-13 Emmanuel Briot
|
884 |
|
|
Vincent Celier
|
885 |
|
|
|
886 |
|
|
* prj.ads, prj.adb (Is_A_Language): Now takes a Name_Id instead of a
|
887 |
|
|
string
|
888 |
|
|
(Must_Check_Configuration, Default_Language_Is_Ada): new flags in
|
889 |
|
|
prj.ads
|
890 |
|
|
(Hash): Move instantiation of System.HTable.Hash from spec to body
|
891 |
|
|
(prj-nmsc.adb): Optimize calls to Name_Find when on case sensitive
|
892 |
|
|
systems, since we do not need to recompute the Name_Id for the canonical
|
893 |
|
|
file name.
|
894 |
|
|
(Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id
|
895 |
|
|
as a parameter. This parameter is in fact always "ada" in all calls, and
|
896 |
|
|
we were doing 160560 extra calls to Name_Find to convert it to Name_Ada
|
897 |
|
|
while loading a project with 40000 files
|
898 |
|
|
|
899 |
|
|
* prj-attr.adb: Fix name of attribute Dependency_Driver
|
900 |
|
|
Change the kind of indexing for attribute Root
|
901 |
|
|
|
902 |
|
|
* prj-dect.adb (Parse_Declarative_Items): Allow redeclarations of
|
903 |
|
|
variables already declared, in case constructions.
|
904 |
|
|
|
905 |
|
|
* prj-env.adb (Initialize): Reset Current_Source_Path_File and
|
906 |
|
|
Current_Object_Path_File to No_Path.
|
907 |
|
|
|
908 |
|
|
* prj-ext.adb (Initialize_Project_Path): In multi language mode, use
|
909 |
|
|
ADA_PROJECT_PATH if value of GPR_PROJECT_PATH is empty.
|
910 |
|
|
|
911 |
|
|
* prj-makr.adb: new parameter Current_Dir
|
912 |
|
|
|
913 |
|
|
* prj-nmsc.ads, prj-nmsc.adb (Find_Explicit_Sources): Do not look for
|
914 |
|
|
Ada sources when language is not Ada.
|
915 |
|
|
Change Opt.Follow_Links to Opt.Follow_Links_For_Files.
|
916 |
|
|
(Find_Excluded_Sources, Find_Explicit_Sources): new subprograms
|
917 |
|
|
(Must_Check_Configuration, Default_Language_Is_Ada): new flags.
|
918 |
|
|
(Locate_Directory): Always resolve links when computing Canonical_Path
|
919 |
|
|
(Look_For_Sources): Make sure that Name_Buffer contains the file name
|
920 |
|
|
in Source_Files before checking for the presence of a directory
|
921 |
|
|
separator.
|
922 |
|
|
Optimize calls to Name_Find when on case sensitive systems.
|
923 |
|
|
(Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id
|
924 |
|
|
as a parameter.
|
925 |
|
|
(Prj.Nmsc.Check): new parameter Current_Dir
|
926 |
|
|
(Check_Ada_Naming_Schemes): Restrictions on suffixes are relaxed. They
|
927 |
|
|
cannot be empty and the spec suffix cannot be the same as the body or
|
928 |
|
|
separate suffix.
|
929 |
|
|
(Get_Unit): When a file name can be of several unit kinds (spec, body or
|
930 |
|
|
subunit), always consider the longest suffix.
|
931 |
|
|
(Check_Configuration): Do not issue an error if there is no compiler
|
932 |
|
|
for a language. Just issue a warning and ignore the sources for the
|
933 |
|
|
language.
|
934 |
|
|
(Check_Library_Attributes): Only check Library_Dir if Library_Name is
|
935 |
|
|
not empty.
|
936 |
|
|
(Check_Naming_Schemes.Maked_Unit): Only output message if high verbosity
|
937 |
|
|
(Unit_Exceptions): New hash table
|
938 |
|
|
(Check_Naming_Schemes): Check if a file that could be a unit because of
|
939 |
|
|
the naming scheme is not in fact a source because there is an exception
|
940 |
|
|
for the unit.
|
941 |
|
|
(Look_For_Sources): Put the unit exceptions in hash table
|
942 |
|
|
Unit_Exceptions
|
943 |
|
|
(Get_Unit_Exceptions): Give initial value No_Source to local variable
|
944 |
|
|
Other_Part to avoid exception when code is compiled with validity
|
945 |
|
|
checking.
|
946 |
|
|
(Get_Sources_From_File): Check that there is no directory information
|
947 |
|
|
in the file names.
|
948 |
|
|
(Look_For_Sources): Check that there is no directory information in the
|
949 |
|
|
list of file names in Source_Files.
|
950 |
|
|
(Look_For_Sources): In multi-language mode, do not allow exception file
|
951 |
|
|
names that are excluded.
|
952 |
|
|
(Excluded_Sources_Htable): New hash table
|
953 |
|
|
(Search_Directories.Check_File): New procedure to simplify
|
954 |
|
|
Search_Directories.
|
955 |
|
|
(Search_Directories): Do not consider excluded sources
|
956 |
|
|
(Look_For_Sources): Populate Excluded_Sources_Htable before calling
|
957 |
|
|
Search_Directories.
|
958 |
|
|
(Get_Exceptions): Set component Lang_Kind of Source_Data
|
959 |
|
|
(Get_Unit_Exceptions): Ditto
|
960 |
|
|
(Search_Directories): Ditto
|
961 |
|
|
|
962 |
|
|
* prj-pars.adb: new parameter Current_Dir
|
963 |
|
|
|
964 |
|
|
* prj-part.ads, prj-part.adb:
|
965 |
|
|
Change Opt.Follow_Links to Opt.Follow_Links_For_Files.
|
966 |
|
|
(Opt.Follow_Links_For_Dirs): New flag
|
967 |
|
|
(Project_Path_Name_Of): Cache information returned by this routine as
|
968 |
|
|
Locate_Regular_File is a costly routine. The code to output a log
|
969 |
|
|
information and the effective call to Locate_Regular_File is now
|
970 |
|
|
factorized into a routine (code clean-up).
|
971 |
|
|
(Parse, Parse_Single_Project): new parameter Current_Dir
|
972 |
|
|
When main project file cannot be found, indicate in the error
|
973 |
|
|
message the project path that was used to do the search.
|
974 |
|
|
|
975 |
|
|
* prj-proc.ads, prj-proc.adb (Opt.Follow_Links_For_Dirs): New flag
|
976 |
|
|
(Prj.Proc.Process*): new parameter Current_Dir
|
977 |
|
|
|
978 |
|
|
* switch-m.adb: Change Opt.Follow_Links to Opt.Follow_Links_For_Files
|
979 |
|
|
|
980 |
|
|
2007-12-13 Bob Duff
|
981 |
|
|
|
982 |
|
|
* restrict.ads, restrict.adb (Check_Implicit_Dynamic_Code_Allowed): New
|
983 |
|
|
procedure to be called from the back end to check the
|
984 |
|
|
No_Implicit_Dynamic_Code restriction.
|
985 |
|
|
|
986 |
|
|
2007-12-13 Arnaud Charlet
|
987 |
|
|
|
988 |
|
|
* rtsfind.adb (Check_CRT): Take into account RTE_Available_Call
|
989 |
|
|
Fixes another case where RTE_Available_Call was ignored instead of being
|
990 |
|
|
taken into account.
|
991 |
|
|
(Load_Fail): Ditto.
|
992 |
|
|
|
993 |
|
|
* rtsfind.ads: Add new entries.
|
994 |
|
|
|
995 |
|
|
2007-12-13 Robert Dewar
|
996 |
|
|
|
997 |
|
|
* g-byorma.adb, g-byorma.ads, g-decstr.adb, g-decstr.ads,
|
998 |
|
|
g-deutst.ads, g-encstr.adb, g-encstr.ads, g-enutst.ads: New files.
|
999 |
|
|
|
1000 |
|
|
* scn.adb: Implement BOM recognition
|
1001 |
|
|
|
1002 |
|
|
2007-12-13 Thomas Quinot
|
1003 |
|
|
Ed Schonberg
|
1004 |
|
|
|
1005 |
|
|
* sem_ch10.adb (Check_Private_Child_Unit): A non-private library level
|
1006 |
|
|
subprogram body that acts as its own spec may not have a non-private
|
1007 |
|
|
WITH clause on a private sibling.
|
1008 |
|
|
(Build_Unit_Name): If the parent unit in the name in a with_clause on a
|
1009 |
|
|
child unit is a renaming, create an implicit with_clause on that
|
1010 |
|
|
parent, and not on the unit it renames, to prevent visibility errors
|
1011 |
|
|
in the current unit.
|
1012 |
|
|
|
1013 |
|
|
2007-12-13 Ed Schonberg
|
1014 |
|
|
|
1015 |
|
|
* sem_ch12.adb (Instantiate_Formal_Subprogram): In the subprogram
|
1016 |
|
|
renaming declaration, use the Slocs of the formal parameters from the
|
1017 |
|
|
declaration of the formal subprogram when creating the formal parameter
|
1018 |
|
|
entities in the renaming declaration.
|
1019 |
|
|
(Analyze_Formal_Type_Declaration): Change the placement of the error
|
1020 |
|
|
message concerning illegal known discriminants. It is now posted on the
|
1021 |
|
|
type rather than on the first discriminant. This change ensures early
|
1022 |
|
|
error report.
|
1023 |
|
|
(Freeze_Subprogram_Body): If the generic subprogram is nested within
|
1024 |
|
|
the package body that contains the instance, do not generate an
|
1025 |
|
|
out-of-place freeze node for the enclosing package.
|
1026 |
|
|
(Collect_Previous_Instantiations): Ignore internal instantiations
|
1027 |
|
|
generated for formal packages.
|
1028 |
|
|
(Validate_Derived_Type_Instance): Add a check that when a formal
|
1029 |
|
|
derived type is Known_To_Have_Preelab_Init then the actual type must
|
1030 |
|
|
have preelaborable initialization, and issue an error when this
|
1031 |
|
|
condition is violated.
|
1032 |
|
|
|
1033 |
|
|
2007-12-13 Robert Dewar
|
1034 |
|
|
|
1035 |
|
|
* s-imenne.adb, s-imenne.ads: New files.
|
1036 |
|
|
|
1037 |
|
|
* s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
|
1038 |
|
|
s-imgdec.ads, s-imgenu.ads, s-imgint.adb, s-imgint.ads, s-imglld.adb,
|
1039 |
|
|
s-imglld.ads, s-imglli.adb, s-imglli.ads, s-imgllu.adb, s-imgllu.ads,
|
1040 |
|
|
s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwch.adb,
|
1041 |
|
|
s-imgwch.ads: New calling sequence for Image routines to avoid sec
|
1042 |
|
|
stack usage.
|
1043 |
|
|
|
1044 |
|
|
2007-12-13 Javier Miranda
|
1045 |
|
|
Ed Schonberg
|
1046 |
|
|
|
1047 |
|
|
* sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Avoid
|
1048 |
|
|
generation of spurious error if parent is an interface type; caused
|
1049 |
|
|
because predefined primitive bodies will be generated later by
|
1050 |
|
|
Freeze_Record_Type.
|
1051 |
|
|
(Process_Subtype): The subtype inherits the Known_To_Have_Preelab_Init
|
1052 |
|
|
flag.
|
1053 |
|
|
(Derive_Subprograms): Handle derivations of predefined primitives
|
1054 |
|
|
after all the user-defined primitives to ensure that they are
|
1055 |
|
|
found in proper order in instantiations.
|
1056 |
|
|
(Add_Interface_Tag_Components, Inherit_Components): Update occurrences
|
1057 |
|
|
of Related_Interface to Related_Type.
|
1058 |
|
|
(Record_Type_Declaration): Minor reordering of calls to decorate the
|
1059 |
|
|
Tag component because the entity must have set its Ekind attribute
|
1060 |
|
|
before setting its Is_Tag attribute.
|
1061 |
|
|
(Analyze_Subtype_Declaration): In the case of subtypes with
|
1062 |
|
|
Private_Kind, inherit Known_To_Have_Preelab_Init from the parent.
|
1063 |
|
|
|
1064 |
|
|
2007-12-13 Hristian Kirtchev
|
1065 |
|
|
Ed Schonberg
|
1066 |
|
|
|
1067 |
|
|
* sem_ch4.adb (Analyze_Selected_Component): Include the requeue
|
1068 |
|
|
statement to the list of contexts where a selected component with a
|
1069 |
|
|
concurrent tagged type prefix should yield a primitive operation.
|
1070 |
|
|
(Find_Primitive_Operation): Handle case of class-wide types.
|
1071 |
|
|
(Analyze_Overloaded_Selected_Component): If type of prefix is
|
1072 |
|
|
class-wide, use visible components of base type.
|
1073 |
|
|
(Resolve_Selected_Component): Ditto.
|
1074 |
|
|
(Try_Primitive_Operation, Collect_Generic_Type_Ops): If the type is a
|
1075 |
|
|
formal of a generic subprogram. find candidate interpretations by
|
1076 |
|
|
scanning the list of generic formal declarations.:
|
1077 |
|
|
(Process_Implicit_Dereference_Prefix): If the prefix has an incomplete
|
1078 |
|
|
type from a limited_with_clause, and the full view is available, use it
|
1079 |
|
|
for subsequent semantic checks.
|
1080 |
|
|
(Check_Misspelled_Selector): Use Namet.Sp.Is_Bad_Spelling_Of function
|
1081 |
|
|
(Find_Primitive_Operation): New function.
|
1082 |
|
|
(Analyze_Overloaded_Selected_Component): insert explicit dereference
|
1083 |
|
|
only once if several interpretations of the prefix yield an access type.
|
1084 |
|
|
(Try_Object_Operation): Code and comment cleanup.
|
1085 |
|
|
(Analyze_Selected_Component): Reorder local variables. Minot comment and
|
1086 |
|
|
code reformatting. When the type of the prefix is tagged concurrent, a
|
1087 |
|
|
correct interpretation might be available in the primitive and
|
1088 |
|
|
class-wide operations of the type.
|
1089 |
|
|
|
1090 |
|
|
2007-12-13 Robert Dewar
|
1091 |
|
|
Ed Schonberg
|
1092 |
|
|
|
1093 |
|
|
* sem_ch8.adb (Analyze_Subprogram_Renaming): Special error message for
|
1094 |
|
|
renaming entry as subprogram using rename-as-body if subprogram spec
|
1095 |
|
|
frozen.
|
1096 |
|
|
(Use_One_Type): The clause is legal on an access type whose designated
|
1097 |
|
|
type has a limited view.
|
1098 |
|
|
(Find_Direct_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
|
1099 |
|
|
(Find_Expanded_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
|
1100 |
|
|
(Analyze_Renamed_Primitive_Operation): new procedure to determine the
|
1101 |
|
|
operation denoted by a selected component.
|
1102 |
|
|
(Analyze_Renamed_Entry): Resolve the prefix of the entry name, because
|
1103 |
|
|
it can be an expression, possibly overloaded, that returns a task or
|
1104 |
|
|
an access to one.
|
1105 |
|
|
|
1106 |
|
|
2007-12-13 Hristian Kirtchev
|
1107 |
|
|
Gary Dismukes
|
1108 |
|
|
|
1109 |
|
|
* sem_ch9.adb (Analyze_Requeue): Add a local flag to capture whether a
|
1110 |
|
|
requeue statement is dispatching. Do not emit an error when the name is
|
1111 |
|
|
not an entry and the context is a dispatching select. Add code to
|
1112 |
|
|
perform subtype conformance between the formals of the current entry
|
1113 |
|
|
and those of the target interface primitive.
|
1114 |
|
|
(Analyze_Asynchronous_Select, Analyze_Conditional_Entry_Call, Analyze_
|
1115 |
|
|
Timed_Entry_Call): Analyze the triggering statement as the first step of
|
1116 |
|
|
the processing. If this is a dispatching select, postpone the analysis
|
1117 |
|
|
of all select statements until the Expander transforms the select. This
|
1118 |
|
|
approach avoids generating duplicate identifiers after the Expander has
|
1119 |
|
|
replicated some of the select statements. In case the Expander is
|
1120 |
|
|
disabled, perform regular analysis.
|
1121 |
|
|
(Check_Triggering_Statement): New routine.
|
1122 |
|
|
(Analyze_Requeue): Exclude any interpretations that are not entries when
|
1123 |
|
|
checking overloaded names in a requeue. Also test type conformance for
|
1124 |
|
|
matching interpretations rather than requiring subtype conformance at
|
1125 |
|
|
that point to conform with the RM's resolution rule for requeues.
|
1126 |
|
|
|
1127 |
|
|
2007-12-13 Ed Schonberg
|
1128 |
|
|
|
1129 |
|
|
* sem_disp.adb (Check_Dispatching_Call): If an actual in a call to an
|
1130 |
|
|
inherited operation is a defaulted tag-indeterminate call, and there is
|
1131 |
|
|
a statically tagged actual, use the static tag as a controlling actual
|
1132 |
|
|
for the defaulted actual.
|
1133 |
|
|
|
1134 |
|
|
2007-12-13 Geert Bosch
|
1135 |
|
|
|
1136 |
|
|
* sem_eval.adb (Eval_Real_Literal): N_Constant_Declaration is a static
|
1137 |
|
|
context, so do not call Check_Non_Static_Context.
|
1138 |
|
|
|
1139 |
|
|
2007-12-13 Hristian Kirtchev
|
1140 |
|
|
|
1141 |
|
|
* sem_type.adb (Function_Interp_Has_Abstract_Op): Add guard to check
|
1142 |
|
|
whether formal E is an entity which may have parameters.
|
1143 |
|
|
|
1144 |
|
|
2007-12-13 Bob Duff
|
1145 |
|
|
Javier Miranda
|
1146 |
|
|
Robert Dewar
|
1147 |
|
|
|
1148 |
|
|
* sem_util.ads, sem_util.adb (Is_Concurrent_Interface): New routine.
|
1149 |
|
|
(Set_Convention): New procedure to set the Convention flag, and in
|
1150 |
|
|
addition make sure the Favor_Top_Level flag is kept in sync (all
|
1151 |
|
|
foreign-language conventions require Favor_Top_Level = True).
|
1152 |
|
|
(Collect_Abstract_Interfaces): Update occurrences of Related_Interface
|
1153 |
|
|
to Related_Type.
|
1154 |
|
|
(Collect_Interfaces_Info): Minor update to handle the two secondary
|
1155 |
|
|
dispatch tables. Update occurrence of Related_Interface to Related_Type.
|
1156 |
|
|
(Generate_Parent_Ref): Add parameter to specify entity to check
|
1157 |
|
|
(Is_Preelaborable_Expression): Allow the name of a discriminant to
|
1158 |
|
|
initialize a component of a type with preelaborable initialization.
|
1159 |
|
|
This includes the case of a discriminal used in such a context.
|
1160 |
|
|
(Is_Dependent_Component_Of_Mutable_Object): Take into account the
|
1161 |
|
|
latest Ada 2005 rules about renaming and 'Access of
|
1162 |
|
|
discriminant-dependent components.
|
1163 |
|
|
(Check_Nested_Access): Add handling when there are no enclosing
|
1164 |
|
|
subprograms (e.g. case of a package body).
|
1165 |
|
|
(Find_Parameter_Type): Factor routine from several other compiler files.
|
1166 |
|
|
Remove routine from Find_Overridden_Synchronized_Primitive.
|
1167 |
|
|
|
1168 |
|
|
2007-12-13 Thomas Quinot
|
1169 |
|
|
|
1170 |
|
|
* sinput.adb (Get_Source_File_Index): Add assertion to guard against
|
1171 |
|
|
an invalid access to an uninitialized slot in the
|
1172 |
|
|
Source_File_Index_Table.
|
1173 |
|
|
|
1174 |
|
|
2007-12-13 Thomas Quinot
|
1175 |
|
|
|
1176 |
|
|
* sinput-l.adb (Load_File): Disable style checks when preprocessing.
|
1177 |
|
|
|
1178 |
|
|
2007-12-13 Bob Duff
|
1179 |
|
|
|
1180 |
|
|
* s-soflin.ads: Apply new pragma Favor_Top_Level to all
|
1181 |
|
|
access-to-subprogram types in this package.
|
1182 |
|
|
|
1183 |
|
|
2007-12-13 Olivier Hainque
|
1184 |
|
|
|
1185 |
|
|
* s-stausa.ads (Stack_Analyzer): Remove First_Is_Topmost, redundant
|
1186 |
|
|
with Stack_Grows_Down in System.Parameters. Rename Array_Address into
|
1187 |
|
|
Stack_Overlay_Address and document that we are using an internal
|
1188 |
|
|
abstraction.
|
1189 |
|
|
(Byte_Size, Unsigned_32_Size): Remove, now useless.
|
1190 |
|
|
(Pattern_Type, Bytes_Per_Pattern): New subtype and constant, to be used
|
1191 |
|
|
consistently throughout the various implementation pieces.
|
1192 |
|
|
|
1193 |
|
|
* s-stausa.adb (Stack_Slots): New type, abstraction for the stack
|
1194 |
|
|
overlay we are using to fill the stack area with patterns.
|
1195 |
|
|
(Top_Slot_Index_In, Bottom_Slot_Index_In): Operations on Stack_Slots.
|
1196 |
|
|
(Push_Index_Step_For, Pop_Index_Step_For): Likewise.
|
1197 |
|
|
(Fill_Stack, Compute_Result): Use the Stack_Slots abstraction.
|
1198 |
|
|
|
1199 |
|
|
2007-12-13 Robert Dewar
|
1200 |
|
|
|
1201 |
|
|
* s-stoele.adb ("mod"): mod negative value raises Constraint_Error
|
1202 |
|
|
|
1203 |
|
|
2007-12-13 Arnaud Charlet
|
1204 |
|
|
|
1205 |
|
|
* s-tassta.adb:
|
1206 |
|
|
(Create_Task): Take into account tasks created by foreign threads.
|
1207 |
|
|
Code clean up: use constants instead of hard coded values.
|
1208 |
|
|
|
1209 |
|
|
2007-12-13 Robert Dewar
|
1210 |
|
|
|
1211 |
|
|
* styleg.adb (Check_Comment): More liberal rules for comment placement
|
1212 |
|
|
|
1213 |
|
|
2007-12-13 Olivier Hainque
|
1214 |
|
|
|
1215 |
|
|
* tb-alvms.c (struct tb_entry_t, __gnat_backtrace): Revert back to use
|
1216 |
|
|
of Procedure Value instead of Frame Pointer as the invocation
|
1217 |
|
|
identifier associated with the instruction pointer in each traceback
|
1218 |
|
|
entry.
|
1219 |
|
|
|
1220 |
|
|
* g-trasym-vms-alpha.adb (Traceback_Entry, PV_For, FP_For,
|
1221 |
|
|
TB_Entry_For): Revert back to use of Procedure Value instead of Frame
|
1222 |
|
|
Pointer as the invocation identifier passed to tbk$symbolize.
|
1223 |
|
|
|
1224 |
|
|
* s-traent-vms.ads, s-traent-vms.adb
|
1225 |
|
|
(Traceback_Entry, PV_For, FP_For, TB_Entry_For): Revert back to use of
|
1226 |
|
|
Procedure Value instead of Frame Pointer as the invocation identifier
|
1227 |
|
|
passed to tbk$symbolize.
|
1228 |
|
|
|
1229 |
|
|
2007-12-13 Robert Dewar
|
1230 |
|
|
|
1231 |
|
|
* tbuild.ads, tbuild.adb:
|
1232 |
|
|
Fix location of flag for unrecognized pragma message
|
1233 |
|
|
|
1234 |
|
|
2007-12-13 Robert Dewar
|
1235 |
|
|
|
1236 |
|
|
* treepr.ads, treepr.adb: (pl): implement use of positive value
|
1237 |
|
|
shorthands
|
1238 |
|
|
|
1239 |
|
|
2007-12-13 Robert Dewar
|
1240 |
|
|
|
1241 |
|
|
* xeinfo.adb: Remove warnings
|
1242 |
|
|
* xnmake.adb: Remove warnings
|
1243 |
|
|
* xsinfo.adb: Remove warnings
|
1244 |
|
|
* xtreeprs.adb: Remove warnings
|
1245 |
|
|
* xsnames.adb: Remove warnings
|
1246 |
|
|
|
1247 |
|
|
* a-ngcoar.adb: Fix typo.
|
1248 |
|
|
* s-interr.adb: Minor reformatting
|
1249 |
|
|
* env.c: Minor reformatting.
|
1250 |
|
|
* g-bytswa.adb: Minor reformatting.
|
1251 |
|
|
* g-rannum.ads: Minor documentation improvements
|
1252 |
|
|
* s-tasinf-mingw.adb: Minor header fix
|
1253 |
|
|
* a-clrefi.adb: Minor reformatting
|
1254 |
|
|
* g-sttsne.ads: Minor documentation improvement
|
1255 |
|
|
* g-sttsne-locking.ads: Minor documentation improvement
|
1256 |
|
|
* g-soliop-solaris.ads: Minor documentation improvement
|
1257 |
|
|
* g-soliop-mingw.ads: Minor documentation improvement
|
1258 |
|
|
* g-soliop.ads: Minor documentation improvement
|
1259 |
|
|
* exp_aggr.ads: Minor reformatting
|
1260 |
|
|
* debug.adb: Add documentation for the gprbuild debug flags
|
1261 |
|
|
* exp_ch2.adb: Use Nkind_In to simplify code throughout
|
1262 |
|
|
* exp_pakd.adb: Minor reformatting
|
1263 |
|
|
|
1264 |
|
|
* g-altive.ads, g-alleve.adb: Remove assertions.
|
1265 |
|
|
Add comment about minor differences between targets regarding
|
1266 |
|
|
floating-point operations.
|
1267 |
|
|
|
1268 |
|
|
* g-thread.adb: Remove pragma unreferenced.
|
1269 |
|
|
* lib.ads: Minor reformatting
|
1270 |
|
|
* par-ch9.adb: Minor reformatting of error messages
|
1271 |
|
|
* sem_case.adb: Minor reformatting
|
1272 |
|
|
* s-fileio.adb: Minor reformattinng
|
1273 |
|
|
* s-vmexta.ads: Minor typo
|
1274 |
|
|
* vxaddr2line.adb:
|
1275 |
|
|
Take into account 'Success' value as per new GNAT warning.
|
1276 |
|
|
|
1277 |
|
|
2007-12-13 Vincent Celier
|
1278 |
|
|
|
1279 |
|
|
* a-direct.adb (Create_Path): Always take '/' as a directory separator,
|
1280 |
|
|
even on Windows
|
1281 |
|
|
|
1282 |
|
|
2007-12-13 Robert Dewar
|
1283 |
|
|
Bob Duff
|
1284 |
|
|
|
1285 |
|
|
* gnat_ugn.texi: Dcoument new rules for style check comment alignment
|
1286 |
|
|
Document that suffixes may be terminations of each others
|
1287 |
|
|
Add doc for -gnatw.a and -gnatw.A
|
1288 |
|
|
Document gnatbind -Wx switch
|
1289 |
|
|
Document BOM recognition
|
1290 |
|
|
Document pragma Implemented_By_Entry.
|
1291 |
|
|
Document new units.
|
1292 |
|
|
|
1293 |
|
|
* gnat_rm.texi: (Favor_Top_Level): Document new pragma.
|
1294 |
|
|
Add doc for pragma Unreferenced suppressing no entities referenced msg
|
1295 |
|
|
Add documentation of GNAT.Directory_Operations.Iteration
|
1296 |
|
|
Add documentation of GNAT.Random_Numbers
|
1297 |
|
|
Add documentation for pragma Shared.
|
1298 |
|
|
Correct documentation for Bit_Order
|
1299 |
|
|
Add documentation for the Pool_Address attribute.
|
1300 |
|
|
Fix and improve documentation of pragma machine_attribute.
|
1301 |
|
|
New pragma Fast_Math
|
1302 |
|
|
Document BOM recognition
|
1303 |
|
|
|
1304 |
|
|
* vms_data.ads: Add entries for -gnatw.a -gnatw.A
|
1305 |
|
|
Add /Wide_Character_Encoding for binder
|
1306 |
|
|
Add qualifier for the new gnatpp option --no-separate-loop-then
|
1307 |
|
|
|
1308 |
|
|
2007-12-13 Matthew Heaney
|
1309 |
|
|
|
1310 |
|
|
* a-cohase.ads, a-cihama.ads, a-cihase.ads, a-cohama.ads: Document
|
1311 |
|
|
which generic formal operations are called for each operation.
|
1312 |
|
|
|
1313 |
|
|
2007-12-13 Olivier Hainque
|
1314 |
|
|
|
1315 |
|
|
* tb-gcc.c (uw_data_t, trace_callback): Only define if not GCC-SJLJ eh.
|
1316 |
|
|
(__gnat_backtrace): Early return 0 if using GCC-SJLJ eh.
|
1317 |
|
|
|
1318 |
|
|
2007-12-13 Emmanuel Briot
|
1319 |
|
|
|
1320 |
|
|
* s-os_lib.ads, s-os_lib.adb (Normalize_Pathname): Do not compute
|
1321 |
|
|
Reference_Dir unless we actually need it.
|
1322 |
|
|
|
1323 |
|
|
2007-12-13 Vasiliy Fofanov
|
1324 |
|
|
Tristan Gingold
|
1325 |
|
|
|
1326 |
|
|
* g-socthi-vms.ads (Fd_Set_Access): make it 32-bit.
|
1327 |
|
|
|
1328 |
|
|
* s-osprim-vms.adb,
|
1329 |
|
|
a-calend-vms.adb: Remove pragma warning off and add pragma
|
1330 |
|
|
unreferenced.
|
1331 |
|
|
|
1332 |
|
|
2007-12-13 Robert Dewar
|
1333 |
|
|
|
1334 |
|
|
* impunit.adb: Add entries for missing units
|
1335 |
|
|
|
1336 |
|
|
* Makefile.rtl: Add new run-time units.
|
1337 |
|
|
|
1338 |
|
|
* Make-lang.in: Update dependencies.
|
1339 |
|
|
|
1340 |
|
|
2007-12-13 Bob Duff
|
1341 |
|
|
|
1342 |
|
|
* itypes.ads, itypes.adb (Create_Itype): For access-to-subprogram
|
1343 |
|
|
types, set Can_Use_Internal_Rep appropriately, based on
|
1344 |
|
|
Always_Compatible_Rep_On_Target.
|
1345 |
|
|
|
1346 |
|
|
2007-12-13 Gary Dismukes
|
1347 |
|
|
Arnaud Charlet
|
1348 |
|
|
|
1349 |
|
|
* make.adb (Scan_Make_Arg): Add test for -aamp_target switch, passing
|
1350 |
|
|
it to the front end and setting the aamp_target environment variable
|
1351 |
|
|
to the switch's argument to ensure that gnaampbind and gnaamplink will
|
1352 |
|
|
take the specified library into account.
|
1353 |
|
|
(Make): Only set Check_Object_Consistency to False for JVM, not for CIL
|
1354 |
|
|
target, since the CIL compiler supports an "object" file (.il files).
|
1355 |
|
|
|
1356 |
|
|
2007-12-13 Vincent Celier
|
1357 |
|
|
|
1358 |
|
|
* symbols-processing-vms-ia64.adb (Process.Skip_Half): New procedure
|
1359 |
|
|
(Process.H): Remove variable. Replace Read_Half (H) with Skip_Half.
|
1360 |
|
|
|
1361 |
|
|
2007-12-13 Geert Bosch
|
1362 |
|
|
|
1363 |
|
|
* s-parame-vxworks.adb:
|
1364 |
|
|
Update comments to reflect usage of this package by Nucleus.
|
1365 |
|
|
|
1366 |
|
|
2007-12-13 Arnaud Charlet
|
1367 |
|
|
|
1368 |
|
|
* i-vxwork.ads: Kill new warning on Convention C, since changing the
|
1369 |
|
|
spec would break code.
|
1370 |
|
|
|
1371 |
|
|
* i-forbla-unimplemented.ads, vx_stack_info.c: New files.
|
1372 |
|
|
|
1373 |
|
|
* system-vxworks-alpha.ads: Removed.
|
1374 |
|
|
|
1375 |
|
|
2007-12-10 Eric Botcazou
|
1376 |
|
|
|
1377 |
|
|
* ada-tree.h (TYPE_RETURNS_BY_TARGET_PTR_P): Move around.
|
1378 |
|
|
|
1379 |
|
|
2007-12-09 Samuel Tardieu
|
1380 |
|
|
|
1381 |
|
|
PR ada/34366
|
1382 |
|
|
* sem_ch3.adb (Designates_T): New function.
|
1383 |
|
|
(Mentions_T): Factor reusable part of the logic into Designates_T.
|
1384 |
|
|
Consider non-access parameters and access and non-access result.
|
1385 |
|
|
(Check_Anonymous_Access_Components): Set ekind of anonymous access to
|
1386 |
|
|
E_Subprogram_Type to E_Anonymous_Access_Subprogram_Type.
|
1387 |
|
|
|
1388 |
|
|
* einfo.ads: Update comment for E_Anonymous_Access_Subprogram_Type.
|
1389 |
|
|
|
1390 |
|
|
2007-12-07 Ludovic Brenta
|
1391 |
|
|
|
1392 |
|
|
PR ada/34361
|
1393 |
|
|
* mlib-tgt.adb, mlib-tgt.ads: Fix comments at the top to reflect
|
1394 |
|
|
the new implementation of target-specific calls.
|
1395 |
|
|
|
1396 |
|
|
2007-12-07 Olivier Hainque
|
1397 |
|
|
|
1398 |
|
|
* decl.c (gnat_to_gnu_entity) : When computing
|
1399 |
|
|
the designated full view, only follow a second level Full_View link
|
1400 |
|
|
for Non_Limited_Views of from_limited_with references.
|
1401 |
|
|
|
1402 |
|
|
2007-12-07 Samuel Tardieu
|
1403 |
|
|
|
1404 |
|
|
PR ada/15805
|
1405 |
|
|
* sem_ch6.adb (Process_Formals): Prevent an access type formal
|
1406 |
|
|
to be initialized with an access to constant object.
|
1407 |
|
|
|
1408 |
|
|
* sem_ch3.adb (Analyze_Object_Declaration): Signal an error
|
1409 |
|
|
when an access to constant is used to initialize an access
|
1410 |
|
|
value.
|
1411 |
|
|
|
1412 |
|
|
PR ada/21346
|
1413 |
|
|
* a-direct.adb (Compose): Containing_Directory can be an empty string.
|
1414 |
|
|
|
1415 |
|
|
2007-12-07 Olivier Hainque
|
1416 |
|
|
|
1417 |
|
|
PR ada/34173
|
1418 |
|
|
* decl.c (gnat_to_gnu_entity) : When setting
|
1419 |
|
|
the alignment on the GCC XUA array type, set TYPE_USER_ALIGN if
|
1420 |
|
|
this is from an alignment clause on the GNAT entity.
|
1421 |
|
|
* utils.c (create_field_decl): Rewrite the computation of DECL_ALIGN
|
1422 |
|
|
to distinguish the case where we set it from the type's alignment.
|
1423 |
|
|
When so, propagate TYPE_USER_ALIGN into DECL_USER_ALIGN to indicate
|
1424 |
|
|
whether this alignment was set from an explicit alignment clause.
|
1425 |
|
|
|
1426 |
|
|
2007-12-06 Eric Botcazou
|
1427 |
|
|
|
1428 |
|
|
* decl.c (make_packable_type): Revert last change.
|
1429 |
|
|
(gnat_to_gnu_field): Avoid setting size and position multiple times.
|
1430 |
|
|
* utils.c (finish_record_type): Retrieve the real name of the type.
|
1431 |
|
|
|
1432 |
|
|
2007-12-05 Eric Botcazou
|
1433 |
|
|
|
1434 |
|
|
* trans.c (lvalue_required_p): Take base node directly instead
|
1435 |
|
|
of its parent. Rename second parameter to 'gnu_type'.
|
1436 |
|
|
: Return 0 if the node isn't the prefix.
|
1437 |
|
|
: Likewise.
|
1438 |
|
|
(Identifier_to_gnu): Rename parent_requires_lvalue to require_lvalue.
|
1439 |
|
|
Adjust calls to lvalue_required_p.
|
1440 |
|
|
|
1441 |
|
|
2007-12-05 Samuel Tardieu
|
1442 |
|
|
|
1443 |
|
|
PR ada/21489
|
1444 |
|
|
* exp_ch9.adb (Build_Simple_Entry_Call): Initialize OUT access type
|
1445 |
|
|
parameters of an entry call.
|
1446 |
|
|
|
1447 |
|
|
2007-12-03 Robert Dewar
|
1448 |
|
|
Samuel Tardieu
|
1449 |
|
|
|
1450 |
|
|
PR ada/34287
|
1451 |
|
|
* sem_util.adb (Safe_To_Capture_Value): Do not capture values
|
1452 |
|
|
of variables declared in a library-level package.
|
1453 |
|
|
|
1454 |
|
|
2007-12-02 Samuel Tardieu
|
1455 |
|
|
|
1456 |
|
|
* clean.adb (Clean_Library_Directory): Use Empty_String'Access intead
|
1457 |
|
|
of Empty_String'Unchecked_Access.
|
1458 |
|
|
|
1459 |
|
|
* Makefile.in: Add support for sh4-linux.
|
1460 |
|
|
|
1461 |
|
|
* system-linux-sh4.ads: New file.
|
1462 |
|
|
|
1463 |
|
|
2007-12-01 Kostik Belousov
|
1464 |
|
|
|
1465 |
|
|
PR ada/33722
|
1466 |
|
|
* env.c (__gnat_setenv): FreeBSD 7 has a POSIX conformant putenv()
|
1467 |
|
|
and its argument must not be free()ed.
|
1468 |
|
|
|
1469 |
|
|
2007-11-29 Eric Botcazou
|
1470 |
|
|
|
1471 |
|
|
* decl.c (make_packable_type): Retrieve the real name of the type.
|
1472 |
|
|
(maybe_pad_type): Simplify similar code.
|
1473 |
|
|
|
1474 |
|
|
2007-11-28 Samuel Tardieu
|
1475 |
|
|
|
1476 |
|
|
PR ada/15804
|
1477 |
|
|
* par-ch3.adb (P_Variant_Part): Signal an error when anything other
|
1478 |
|
|
than an identifier is used after "case" in a variant_part.
|
1479 |
|
|
|
1480 |
|
|
PR ada/17318
|
1481 |
|
|
* par-ch4.adb (Is_Parameterless_Attribute): New map.
|
1482 |
|
|
(P_Name, Scan_Apostrophe block): Parse left parenthesis following
|
1483 |
|
|
attribute name or not depending on the new map.
|
1484 |
|
|
|
1485 |
|
|
* sem-attr.adb (Analyze_Attribute): Parameterless attributes
|
1486 |
|
|
returning a string or a type will not be called with improper
|
1487 |
|
|
arguments.
|
1488 |
|
|
|
1489 |
|
|
* sem-attr.ads (Attribute_Class_Array): Move to snames.ads.
|
1490 |
|
|
|
1491 |
|
|
* snames.ads (Attribute_Class_Array): Moved from sem-attr.ads.
|
1492 |
|
|
|
1493 |
|
|
PR ada/32792
|
1494 |
|
|
* sem_attr.adb (Analyze_Attribute, Attribute_Integer_Value clause):
|
1495 |
|
|
Signal an error when attribute argument is a fixed-point value of
|
1496 |
|
|
an unknown type.
|
1497 |
|
|
|
1498 |
|
|
PR ada/22559
|
1499 |
|
|
* sem_ch3.adb (Build_Derived_Numeric_Type): Do not set RM_Size on
|
1500 |
|
|
a derived ordinary fixed point type.
|
1501 |
|
|
|
1502 |
|
|
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Recompute
|
1503 |
|
|
RM_Size when a Small clause is found.
|
1504 |
|
|
|
1505 |
|
|
2007-11-26 Andreas Krebbel
|
1506 |
|
|
|
1507 |
|
|
PR 34081/C++
|
1508 |
|
|
* trans.c (Subprogram_Body_to_gnu, Compilation_Unit_to_gnu):
|
1509 |
|
|
Pass 'false' for the new allocate_struct_function parameter.
|
1510 |
|
|
* utils.c (build_function_stub): Likewise.
|
1511 |
|
|
|
1512 |
|
|
2007-11-25 Richard Guenther
|
1513 |
|
|
|
1514 |
|
|
* utils.c (gnat_pushlevel): Use BLOCK_CHAIN.
|
1515 |
|
|
(gnat_poplevel): Likewise.
|
1516 |
|
|
|
1517 |
|
|
2007-11-25 Eric Botcazou
|
1518 |
|
|
|
1519 |
|
|
* decl.c (gnat_to_gnu_entity) : If the type has
|
1520 |
|
|
strict alignment, no alignment clause and a known static size, cap
|
1521 |
|
|
the type alignment to the greatest power of 2 factor of the size.
|
1522 |
|
|
(gnat_to_gnu_field): If the field has a component clause, is aliased
|
1523 |
|
|
or of a type with strict alignment, require that its size be equal to
|
1524 |
|
|
that of the type.
|
1525 |
|
|
(validate_size): Use the type size as the minimum size for a type with
|
1526 |
|
|
strict alignment.
|
1527 |
|
|
|
1528 |
|
|
2007-11-23 Samuel Tardieu
|
1529 |
|
|
|
1530 |
|
|
* s-inmaop-posix.adb, s-intman-vxworks.adb, s-taprop-hpux-dce.adb,
|
1531 |
|
|
s-taprop-irix.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
|
1532 |
|
|
s-taprop-posix.adb, s-taprop-tru64.adb, s-taprop-vxworks.adb:
|
1533 |
|
|
Use 'Access instead of 'Unchecked_Access in second and third
|
1534 |
|
|
arguments of pthread_sigmask.
|
1535 |
|
|
|
1536 |
|
|
2007-11-23 Eric Botcazou
|
1537 |
|
|
|
1538 |
|
|
* decl.c (ceil_alignment): New function.
|
1539 |
|
|
(gnat_to_gnu_entity): Use it to set the alignment on atomic types.
|
1540 |
|
|
(make_packable_type): Likewise.
|
1541 |
|
|
|
1542 |
|
|
2007-11-22 Olivier Hainque
|
1543 |
|
|
|
1544 |
|
|
* trans.c (gnat_to_gnu) : Reformat lines
|
1545 |
|
|
to fit in 80 columns.
|
1546 |
|
|
|
1547 |
|
|
2007-11-21 Aurelien Jarno
|
1548 |
|
|
|
1549 |
|
|
* s-osinte-kfreebsd-gnu.ads (To_Target_Priority): New function.
|
1550 |
|
|
* Makefile.in: Add EH_MECHANISM=-gcc to kfreebsd-gnu. Remove SYMLIB.
|
1551 |
|
|
|
1552 |
|
|
2007-11-19 Eric Botcazou
|
1553 |
|
|
|
1554 |
|
|
PR ada/34098
|
1555 |
|
|
* misc.c (gnat_adjust_rli): Delete.
|
1556 |
|
|
(gnat_init): Do not initialize the translation code here.
|
1557 |
|
|
Do not call set_lang_adjust_rli.
|
1558 |
|
|
* trans.c (init_code_table): Make static.
|
1559 |
|
|
(gnat_init_stmt_group): Delete.
|
1560 |
|
|
(gigi): Initialize the translation code entirely here.
|
1561 |
|
|
Emit debug info for the common types here instead of...
|
1562 |
|
|
* utils.c (gnat_init_decl_processing): ...here.
|
1563 |
|
|
* gigi.h (init_code_table): Delete.
|
1564 |
|
|
(gnat_init_stmt_group): Likewise.
|
1565 |
|
|
|
1566 |
|
|
2007-11-16 Olivier Hainque
|
1567 |
|
|
|
1568 |
|
|
* utils2.c (build_call_alloc_dealloc) : Move the code
|
1569 |
|
|
retrieving an allocator return value from a super-aligned address from
|
1570 |
|
|
here to ...
|
1571 |
|
|
* trans.c (gnat_to_gnu) : ... here, and don't
|
1572 |
|
|
expect a super-aligned address for a fat or thin pointer.
|
1573 |
|
|
|
1574 |
|
|
2007-11-14 Eric Botcazou
|
1575 |
|
|
|
1576 |
|
|
* trans.c (call_to_gnu): Always set the source location on the call
|
1577 |
|
|
expression. If the function returns-by-target, also set it on the
|
1578 |
|
|
address expression.
|
1579 |
|
|
|
1580 |
|
|
2007-11-14 Samuel Tardieu
|
1581 |
|
|
|
1582 |
|
|
* adaint.c, init.c, initialize.c, link.c: Remove system-specific
|
1583 |
|
|
sections of non-supported Interix target.
|
1584 |
|
|
|
1585 |
|
|
* s-osinte-interix.ads: Removed.
|
1586 |
|
|
|
1587 |
|
|
* i-cstrin.ads (chars_ptr): Make it a C convention type.
|
1588 |
|
|
|
1589 |
|
|
2007-11-13 Samuel Tardieu
|
1590 |
|
|
|
1591 |
|
|
* a-tasatt.adb: Add a comment at the beginning of the package
|
1592 |
|
|
explaining why in general 'Unchecked_Access must be used instead
|
1593 |
|
|
of 'Access.
|
1594 |
|
|
|
1595 |
|
|
* sem_prag.adb (Process_Convention): Move the test for the
|
1596 |
|
|
entity on which the Convention pragma applies down to also
|
1597 |
|
|
forbid pragma Convention on enumeration literals reached
|
1598 |
|
|
through renamings.
|
1599 |
|
|
|
1600 |
|
|
2007-11-10 Samuel Tardieu
|
1601 |
|
|
|
1602 |
|
|
* a-tasatt.adb: Revert previous change for this file as it will
|
1603 |
|
|
generate an error when this package is instantiated from a
|
1604 |
|
|
local context.
|
1605 |
|
|
|
1606 |
|
|
2007-11-07 Samuel Tardieu
|
1607 |
|
|
|
1608 |
|
|
* a-tasatt.adb: Type Wrapper should be declared in comment instead
|
1609 |
|
|
of already declared type Node_Access.
|
1610 |
|
|
Use 'Access instead of 'Unchecked_Access when applicable. Local
|
1611 |
|
|
lifetime is the one of the package.
|
1612 |
|
|
(Set_Value): W is allocated on the heap.
|
1613 |
|
|
|
1614 |
|
|
* g-socket.adb: Use 'Access instead of 'Unchecked_Access when
|
1615 |
|
|
applicable.
|
1616 |
|
|
(Get_Socket_Option): Optlen formal of C_Getsockopt is of an anonymous
|
1617 |
|
|
access type.
|
1618 |
|
|
(Receive_Socket): Fromlen formal of C_Recvfrom is of an anonymous
|
1619 |
|
|
access type.
|
1620 |
|
|
|
1621 |
|
|
* s-taasde.adb: Use 'Access instead of 'Unchecked_Access when
|
1622 |
|
|
applicable.
|
1623 |
|
|
(elaboration code): Timer_Queue lifetime is the one of the
|
1624 |
|
|
package.
|
1625 |
|
|
|
1626 |
|
|
* tracebak.c (i386 alternative): Remove useless comparaison
|
1627 |
|
|
which is always false; LOWEST_ADDRESS is 0 and is never greater
|
1628 |
|
|
than an unsigned integer.
|
1629 |
|
|
|
1630 |
|
|
* sem_attr.adb (Analyze_Attribute): Remove duplicate identical
|
1631 |
|
|
embedded check for "Ada_Version >= Ada_05".
|
1632 |
|
|
|
1633 |
|
|
2007-11-07 Olivier Hainque
|
1634 |
|
|
|
1635 |
|
|
* decl.c (make_aligning_type): Set the mode of the RECORD_TYPE we
|
1636 |
|
|
craft and expand comment.
|
1637 |
|
|
|
1638 |
|
|
2007-11-01 Eric Botcazou
|
1639 |
|
|
|
1640 |
|
|
* lang-specs.h: Move translation of -fRTS= after -gnatez switch.
|
1641 |
|
|
|
1642 |
|
|
2007-10-23 Eric Botcazou
|
1643 |
|
|
|
1644 |
|
|
* misc.c (gnat_handle_option): Replace call to abort with
|
1645 |
|
|
call to gcc_unreachable.
|
1646 |
|
|
(gnat_init): Likewise.
|
1647 |
|
|
(gnat_expand_expr): Likewise.
|
1648 |
|
|
(fp_prec_to_size): Likewise.
|
1649 |
|
|
(fp_size_to_prec): Likewise.
|
1650 |
|
|
|
1651 |
|
|
2007-10-23 Richard Guenther
|
1652 |
|
|
|
1653 |
|
|
PR bootstrap/33608
|
1654 |
|
|
* tracebak.c: #undef abort after including system.h.
|
1655 |
|
|
|
1656 |
|
|
2007-10-20 Danny Smith
|
1657 |
|
|
|
1658 |
|
|
* Makefile.in (LIBGNAT_TARGET_PAIRS) Add s-tasinf-mingw.adb,
|
1659 |
|
|
s-tasinf-mingw.ads, a-exetim-mingw.adb, a-exetim-mingw.ads
|
1660 |
|
|
for win32 targets.
|
1661 |
|
|
(EXTRA_GNATRTL_TASKING_OBJS): Add a-exetim.o for win32 targets.
|
1662 |
|
|
|
1663 |
|
|
2007-10-15 Eric Botcazou
|
1664 |
|
|
|
1665 |
|
|
* s-osinte-tru64.adb: (Hide_Yellow_Zone): Add On parameter.
|
1666 |
|
|
Set the protection status of the guard page based on the value of On.
|
1667 |
|
|
|
1668 |
|
|
* s-osinte-tru64.ads: (Hide_Yellow_Zone): Add On parameter.
|
1669 |
|
|
|
1670 |
|
|
* s-taprop-tru64.adb: (Enter_Task): Pass True to Hide_Yellow_Zone.
|
1671 |
|
|
(Exit_Task): Pass False to Hide_Yellow_Zone.
|
1672 |
|
|
|
1673 |
|
|
2007-10-15 Robert Dewar
|
1674 |
|
|
|
1675 |
|
|
* s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
|
1676 |
|
|
s-taprop-vxworks.adb, s-taprop-posix.adb, a-calend-vms.adb,
|
1677 |
|
|
a-calend.adb, a-nuflra.adb, a-tigeau.adb, a-wtgeau.adb,
|
1678 |
|
|
checks.adb, bindgen.adb, eval_fat.adb, exp_fixd.adb, fmap.adb,
|
1679 |
|
|
freeze.adb, g-awk.adb, g-calend.adb, g-diopit.adb, g-expect.adb,
|
1680 |
|
|
gnatchop.adb, gnatlink.adb, g-spipat.adb, g-thread.adb, make.adb,
|
1681 |
|
|
mdll.adb, mlib.adb, mlib-prj.adb, osint.adb, par-ch3.adb, prj.adb,
|
1682 |
|
|
prj-makr.adb, sem_prag.adb, sem_type.adb, s-fatgen.adb, s-fileio.adb,
|
1683 |
|
|
sinfo.ads, sinput-d.adb, s-taasde.adb, s-tasdeb.ads, s-tasren.adb,
|
1684 |
|
|
s-tassta.adb, s-tpobop.adb, s-tposen.adb, stylesw.adb, types.ads,
|
1685 |
|
|
uintp.adb, validsw.adb, makegpr.adb, a-rbtgso.adb, a-crbtgo.adb,
|
1686 |
|
|
a-coorse.adb, a-convec.adb, a-coinve.adb, a-cohama.adb, a-ciorse.adb,
|
1687 |
|
|
a-cihama.adb, a-cidlli.adb, a-chtgop.adb, a-cdlili.adb, a-cdlili.adb,
|
1688 |
|
|
a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb, a-ciorma.adb,
|
1689 |
|
|
a-coorma.adb, a-ztgeau.adb, symbols-vms.adb, a-crdlli.adb,
|
1690 |
|
|
a-calari.adb, a-calfor.adb, s-os_lib.adb, s-regpat.adb, a-ngrear.adb:
|
1691 |
|
|
Minor reformatting.
|
1692 |
|
|
Add Unreferenced and Warnings (Off) pragmas for cases of
|
1693 |
|
|
variables modified calls where they are IN OUT or OUT parameters and
|
1694 |
|
|
the resulting values are not subsequently referenced. In a few cases,
|
1695 |
|
|
we also remove redundant code found by the new warnings.
|
1696 |
|
|
|
1697 |
|
|
* ug_words, vms_data.ads, usage.adb, sem_util.adb, sem_util.ads,
|
1698 |
|
|
sem_warn.adb, sem_warn.ads, sem_res.adb, sem_ch7.adb, sem_ch8.adb,
|
1699 |
|
|
sem_ch5.adb, opt.ads, lib-xref.adb, lib-xref.ads, exp_smem.adb,
|
1700 |
|
|
sem_ch11.adb, exp_ch6.adb, einfo.ads, einfo.adb: implement a new
|
1701 |
|
|
warning controlled by -gnatw.o that warns on cases of out parameter
|
1702 |
|
|
values being ignored.
|
1703 |
|
|
|
1704 |
|
|
2007-10-15 Geert Bosch
|
1705 |
|
|
|
1706 |
|
|
* adaint.c, socket.c, cal.c: Initial port to arm-mentor-nucleus.
|
1707 |
|
|
|
1708 |
|
|
* expect.c: Initial port to arm-mentor-nucleus.
|
1709 |
|
|
Use kill for __gnat_kill() on VMS.
|
1710 |
|
|
|
1711 |
|
|
2007-10-15 Emmanuel Briot
|
1712 |
|
|
|
1713 |
|
|
* ali.ads, ali.adb (Scan_ALI): Initialize XE.Tref to a known default
|
1714 |
|
|
value.
|
1715 |
|
|
(Xref_Record): Change type for Line, since in the case of a reference to
|
1716 |
|
|
a predefined entity (as happens for array index types), the line is set
|
1717 |
|
|
to 0.
|
1718 |
|
|
Add support for parsing multiple array index types info, or
|
1719 |
|
|
multiple inherited interfaces info. This information cannot be stored
|
1720 |
|
|
in Xref_Entity_Record, which only supports a single instance of Tref_*,
|
1721 |
|
|
and is therefore stored in the list of references instead. It has a
|
1722 |
|
|
special treatement later on in tools that use this information.
|
1723 |
|
|
|
1724 |
|
|
2007-10-15 Tristan Gingold
|
1725 |
|
|
|
1726 |
|
|
* debug.adb: Document use of -gnatd.a and -gnatd.I
|
1727 |
|
|
|
1728 |
|
|
* layout.adb: On OpenVMS -gnatd.a disables alignment optimization.
|
1729 |
|
|
|
1730 |
|
|
2007-10-15 Javier Miranda
|
1731 |
|
|
|
1732 |
|
|
* exp_attr.adb (Expand_N_Attribute_Reference): Case Access,
|
1733 |
|
|
Unchecked_Access, and Unrestricted_Access. Cleanup code that takes
|
1734 |
|
|
care of access to class-wide interface types plus removal of bizarre
|
1735 |
|
|
conversion of tagged object to access type (reported by Gary
|
1736 |
|
|
Dismukes). After this patch there is no need to perform any
|
1737 |
|
|
additional management on these nodes in Expand_Interface_Actuals.
|
1738 |
|
|
|
1739 |
|
|
* exp_disp.adb (Expand_Interface_Actuals): Code cleanup. Remove code
|
1740 |
|
|
that handles use of 'Access and 'Unchecked_Access applied to
|
1741 |
|
|
actuals covering interface types. Such code is now
|
1742 |
|
|
centralized in Expand_N_Attribute_Reference.
|
1743 |
|
|
|
1744 |
|
|
2007-10-15 Ed Schonberg
|
1745 |
|
|
|
1746 |
|
|
* exp_ch3.adb (Build_Init_Procedure): Keep separate the initialization
|
1747 |
|
|
of tagged types whose ultimate ancestor is a CPP type.
|
1748 |
|
|
(Freeze_Array_Type): For a packed array type, generate an initialization
|
1749 |
|
|
procedure if the type is public, to handle properly a client that
|
1750 |
|
|
specifies Normalize_Scalars.
|
1751 |
|
|
|
1752 |
|
|
2007-10-15 Hristian Kirtchev
|
1753 |
|
|
|
1754 |
|
|
* exp_ch9.adb (Actual_Index_Expression): When the expansion occurs
|
1755 |
|
|
inside a generic body, retrieve the full view of the entry family
|
1756 |
|
|
discrete subtype if available.
|
1757 |
|
|
|
1758 |
|
|
2007-10-15 Thomas Quinot
|
1759 |
|
|
|
1760 |
|
|
* exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Do not
|
1761 |
|
|
attempt to generate stubs for hidden primitive operations.
|
1762 |
|
|
|
1763 |
|
|
2007-10-15 Vincent Celier
|
1764 |
|
|
|
1765 |
|
|
* mlib-tgt-specific.adb (Support_For_Libraries): New function,
|
1766 |
|
|
returning None, used when there is no platform specific body for
|
1767 |
|
|
MLib.Tgt.Specific.
|
1768 |
|
|
|
1769 |
|
|
2007-10-15 Bob Duff
|
1770 |
|
|
|
1771 |
|
|
* sem_case.adb, sem_ch13.adb, lib-sort.adb: Replace use of Heap_Sort_A
|
1772 |
|
|
(passing'Unrestricted_Access of nested subprograms to Sort) with use of
|
1773 |
|
|
the generic Heap_Sort_G, in order to avoid trampolines.
|
1774 |
|
|
|
1775 |
|
|
2007-10-15 Vasiliy Fofanov
|
1776 |
|
|
Jose Ruiz
|
1777 |
|
|
|
1778 |
|
|
* vx_stack_info.c: New file.
|
1779 |
|
|
|
1780 |
|
|
* i-forbla-unimplemented.ads: New file.
|
1781 |
|
|
|
1782 |
|
|
* Makefile.in: i-forbla-unimplemented.ads: a variant of i-forbla.ads
|
1783 |
|
|
for unsupported configurations; use it on VMS targets instead of the
|
1784 |
|
|
real one.
|
1785 |
|
|
(EXTRA_LIBGNAT_SRCS,EXTRA_LIBGNAT_OBJS for VxWorks): Include
|
1786 |
|
|
vx_stack_info.{c,o} that contains the routine __gnat_get_stack_info
|
1787 |
|
|
used by VxWorks targets to have access to task-specific data and be
|
1788 |
|
|
able to extract the stack boundaries for stack checking.
|
1789 |
|
|
Use system-vms-ia64.ads on ivms.
|
1790 |
|
|
|
1791 |
|
|
* Make-lang.in: Update dependencies.
|
1792 |
|
|
|
1793 |
|
|
* sysdep.c (__gnat_get_stack_info): Move to a standalone file
|
1794 |
|
|
(vx_stack_info.c).
|
1795 |
|
|
|
1796 |
|
|
2007-10-15 Vincent Celier
|
1797 |
|
|
|
1798 |
|
|
* snames.adb, snames.ads: Add new standard name runtime_library_dir
|
1799 |
|
|
|
1800 |
|
|
* prj.ads (Language_Config): Add new component Runtime_Library_Dir
|
1801 |
|
|
|
1802 |
|
|
* prj-attr.adb: Add project level attribute Runtime_Library_Dir
|
1803 |
|
|
|
1804 |
|
|
* prj-env.adb (Create_Mapping_File): Do not put an entry if the path of
|
1805 |
|
|
the source is unknown.
|
1806 |
|
|
|
1807 |
|
|
* prj-ext.adb: Spelling error fix
|
1808 |
|
|
|
1809 |
|
|
* prj-nmsc.adb (Check_Ada_Name): Reject any unit that includes an Ada
|
1810 |
|
|
95 reserved word in its name.
|
1811 |
|
|
(Process_Project_Level_Array_Attributes): Process new attribute
|
1812 |
|
|
Runtime_Library_Dir.
|
1813 |
|
|
|
1814 |
|
|
* prj-part.adb (Parse_Single_Project): Do not check the name of the
|
1815 |
|
|
config project against the user project names.
|
1816 |
|
|
|
1817 |
|
|
* prj-proc.adb (Expression): In multi-language mode, indexes that do
|
1818 |
|
|
not include a dot are always case insensitive.
|
1819 |
|
|
(Process_Declarative_Items): Ditto
|
1820 |
|
|
(Process_Project_Tree_Phase_1): Set Success to False in case an error is
|
1821 |
|
|
detected.
|
1822 |
|
|
|
1823 |
|
|
* prj-util.adb (Value_Of (In_Array)): When Force_Lower_Case_Index is
|
1824 |
|
|
True, compare both indexes in lower case.
|
1825 |
|
|
|
1826 |
|
|
2007-10-15 Robert Dewar
|
1827 |
|
|
|
1828 |
|
|
* rtsfind.adb: (Load_RTU): Turn off style checks for Load call
|
1829 |
|
|
|
1830 |
|
|
2007-10-15 Gary Dismukes
|
1831 |
|
|
|
1832 |
|
|
* sem_aggr.adb (Resolve_Record_Aggregate): In the case of a box
|
1833 |
|
|
association for an access component, add an association with null as
|
1834 |
|
|
the expression. Remove testing for array subtypes and the setting in
|
1835 |
|
|
that case of Ctyp to the array component type, which prevented proper
|
1836 |
|
|
inclusion of an association for null-initialized arrays. Collapse
|
1837 |
|
|
condition that tests for array subtypes into just a test of
|
1838 |
|
|
Is_Partially_Initialized_Type (which already covers arrays anyway).
|
1839 |
|
|
|
1840 |
|
|
2007-10-15 Hristian Kirtchev
|
1841 |
|
|
|
1842 |
|
|
* sem_ch12.adb: Minor code reformatting.
|
1843 |
|
|
(Check_Generic_Child_Unit): Iterate over the homonym chain in order to
|
1844 |
|
|
find the parent package which may have been hidden by local
|
1845 |
|
|
declarations.
|
1846 |
|
|
|
1847 |
|
|
2007-10-15 Gary Dismukes
|
1848 |
|
|
|
1849 |
|
|
* sem_ch3.adb (Build_Derived_Concurrent_Type): Set the Is_Constrained
|
1850 |
|
|
flag of derived concurrent types, taking into account the flag setting
|
1851 |
|
|
on the parent subtype and any new set of discriminants.
|
1852 |
|
|
|
1853 |
|
|
2007-10-15 Hristian Kirtchev
|
1854 |
|
|
|
1855 |
|
|
* sem_ch4.adb: Minor code and comment reformatting.
|
1856 |
|
|
(Analyze_Allocator): When the designated type of an unconstrained
|
1857 |
|
|
allocator is a record with unknown discriminants or an array with
|
1858 |
|
|
unknown range bounds, emit a detailed error message depending on the
|
1859 |
|
|
compilation mode and whether the designated type is limited.
|
1860 |
|
|
|
1861 |
|
|
2007-10-15 Tristan Gingold
|
1862 |
|
|
|
1863 |
|
|
* system-vms-ia64.ads: New file.
|
1864 |
|
|
|
1865 |
|
|
* system-vms_64.ads: Minor comment fix.
|
1866 |
|
|
|
1867 |
|
|
2007-10-15 Ed Schonberg
|
1868 |
|
|
|
1869 |
|
|
* sem_ch6.adb (Find_Corresponding_Spec): If the previous entity is a
|
1870 |
|
|
body generated for a function with a controlling result that is a null
|
1871 |
|
|
extension, discard the generated body in favor of the current explicit
|
1872 |
|
|
one.
|
1873 |
|
|
|
1874 |
|
|
2007-10-15 Ed Schonberg
|
1875 |
|
|
|
1876 |
|
|
* sem_disp.adb (Find_Controlling_Arg): Examine the call node before
|
1877 |
|
|
examining its original form, to handle properly operator calls that
|
1878 |
|
|
have been rewritten.
|
1879 |
|
|
|
1880 |
|
|
2007-10-15 Olivier Hainque
|
1881 |
|
|
|
1882 |
|
|
* tb-alvms.c (tb_entry_t, __gnat_backtrace): Store a frame pointer
|
1883 |
|
|
instead of a procedure value in each traceback entry.
|
1884 |
|
|
|
1885 |
|
|
* g-trasym-vms-alpha.adb (Symbolic_Traceback): Pass frame pointer
|
1886 |
|
|
instead of procedure value to TBK$SYMBOLIZE.
|
1887 |
|
|
|
1888 |
|
|
* s-traent-vms.adb (PV_For): Rename as FP_For and access the proper
|
1889 |
|
|
field.
|
1890 |
|
|
(TB_Entry_For): Account for the PV/FP renaming.
|
1891 |
|
|
|
1892 |
|
|
* s-traent-vms.ads (Traceback_Entry): Rename PV component into FP and
|
1893 |
|
|
add comment.
|
1894 |
|
|
(Null_TB_Entry): Account for change of component name.
|
1895 |
|
|
(PV_For): Rename as FP_For.
|
1896 |
|
|
|
1897 |
|
|
2007-10-15 Tristan Gingold
|
1898 |
|
|
|
1899 |
|
|
* trans.c (gnat_to_gnu): Remove the padding structure more often.
|
1900 |
|
|
This optimize assignment to over-aligned record.
|
1901 |
|
|
|
1902 |
|
|
2007-10-15 Emmanuel Briot
|
1903 |
|
|
|
1904 |
|
|
* xref_lib.adb (Get_Full_Type): Add support for the 'h' entity type, ie
|
1905 |
|
|
interfaces.
|
1906 |
|
|
|
1907 |
|
|
* xr_tabls.adb (Add_Reference): Add support for the new 'R' reference
|
1908 |
|
|
type, for dispatching calls.
|
1909 |
|
|
|
1910 |
|
|
2007-10-15 Vincent Celier
|
1911 |
|
|
Robert Dewar
|
1912 |
|
|
|
1913 |
|
|
* gnat_ugn.texi: Add documentation for switches --version and --help
|
1914 |
|
|
for the GNAT tools gnatbind, gnatlink, gnatmake, gnatchop, gnatname,
|
1915 |
|
|
gnatxref, gnatfind, gnatls, and gnatclean.
|
1916 |
|
|
Document -gnatw.o.
|
1917 |
|
|
Mention attribute Excluded_Source_Dirs
|
1918 |
|
|
Replace obsolescent attribute Locally_Removed_Files with attribute
|
1919 |
|
|
Excluded_Source_Files.
|
1920 |
|
|
Improve documentation of -u (gnatbind)
|
1921 |
|
|
Document how to do reliable stack checking for the environmental task
|
1922 |
|
|
on iVMS.
|
1923 |
|
|
|
1924 |
|
|
* gnat_rm.texi: Rewrite section about No_Implicit_Dynamic_Code.
|
1925 |
|
|
Document attribute Excluded_Source_Files and indicate that attribute
|
1926 |
|
|
Locally_Removed_Files is obsolescent.
|
1927 |
|
|
|
1928 |
|
|
2007-10-15 Thomas Quinot
|
1929 |
|
|
|
1930 |
|
|
* g-soccon-vms.ads: Fix value of MSG_WAITALL.
|
1931 |
|
|
|
1932 |
|
|
* gen-soccon.c:
|
1933 |
|
|
Update documentation to note that OpenVMS 8.3 or later must be used
|
1934 |
|
|
to generate g-soccon-vms.ads.
|
1935 |
|
|
|
1936 |
|
|
* atree.adb: Add ??? comment
|
1937 |
|
|
|
1938 |
|
|
* exp_util.adb: Minor reformatting.
|
1939 |
|
|
Add ??? comment in Kill_Dead_Code.
|
1940 |
|
|
|
1941 |
|
|
2007-10-15 Robert Dewar
|
1942 |
|
|
|
1943 |
|
|
* errout.ads: Comment clarification
|
1944 |
|
|
|
1945 |
|
|
* exp_ch4.adb (Expand_N_Allocator): Code cleanup.
|
1946 |
|
|
(Expand_N_Op_Eq): Improve handling of array equality with -gnatVa
|
1947 |
|
|
|
1948 |
|
|
* lib.ads: Comment update
|
1949 |
|
|
|
1950 |
|
|
* init.c: Minor reformatting.
|
1951 |
|
|
|
1952 |
|
|
* sem_attr.adb: Minor formatting
|
1953 |
|
|
|
1954 |
|
|
* osint-b.ads: Minor reformatting
|
1955 |
|
|
|
1956 |
|
|
* sem_ch9.adb: Implement -gnatd.I switch
|
1957 |
|
|
|
1958 |
|
|
* g-comlin.adb: (Start): Fix handling of empty command line.
|
1959 |
|
|
|
1960 |
|
|
* gnatcmd.adb (GNATCmd): Do not put the -rules in the -cargs section,
|
1961 |
|
|
even when -rules follows the -cargs section.
|
1962 |
|
|
|
1963 |
|
|
2007-10-08 Ollie Wild
|
1964 |
|
|
|
1965 |
|
|
* misc.c (LANG_HOOKS_PUSHDECL): Replaced lhd_return_tree with
|
1966 |
|
|
gnat_return_tree.
|
1967 |
|
|
(gnat_init_gcc_eh): Replaced gnat_eh_runtime_type with
|
1968 |
|
|
gnat_return_tree.
|
1969 |
|
|
(gnat_eh_runtime_type): Removed.
|
1970 |
|
|
(gnat_return_tree): New function.
|
1971 |
|
|
|
1972 |
|
|
2007-10-08 Ben Elliston
|
1973 |
|
|
|
1974 |
|
|
PR ada/33454
|
1975 |
|
|
Revert:
|
1976 |
|
|
2007-08-31 Ben Elliston
|
1977 |
|
|
|
1978 |
|
|
* Makefile.in (LIBGNAT_TARGET_PAIRS): Use system-linux-ppc64.ads
|
1979 |
|
|
when compiling for powerpc64-*-linux.
|
1980 |
|
|
* system-linux-ppc64.ads: New file.
|
1981 |
|
|
|
1982 |
|
|
2007-09-27 Eric Botcazou
|
1983 |
|
|
|
1984 |
|
|
Mapped location support
|
1985 |
|
|
* back_end.adb (Call_Back_End): Pass information about source
|
1986 |
|
|
files instead of units to gigi.
|
1987 |
|
|
* gigi.h (struct File_Info_Type): New.
|
1988 |
|
|
(gigi): Rename and change type of number_units parameter, change
|
1989 |
|
|
type of file_info_ptr parameter.
|
1990 |
|
|
* trans.c (number_files): New global variable.
|
1991 |
|
|
(gigi): Rename and change type of number_units parameter, change
|
1992 |
|
|
type of file_info_ptr parameter.
|
1993 |
|
|
If mapped location support is enabled, create the isomorphic mapping
|
1994 |
|
|
between source files and line maps.
|
1995 |
|
|
(Sloc_to_locus): If mapped location support is enabled, translate
|
1996 |
|
|
source location into mapped location.
|
1997 |
|
|
(annotate_with_node): Rename into set_expr_location_from_node.
|
1998 |
|
|
Call set_expr_location instead of annotate_with_locus.
|
1999 |
|
|
(Pragma_to_gnu): Adjust for above change.
|
2000 |
|
|
(Loop_Statement_to_gnu): Likewise.
|
2001 |
|
|
(call_to_gnu): Likewise.
|
2002 |
|
|
(Handled_Sequence_Of_Statements_to_gnu): Likewise.
|
2003 |
|
|
(gnat_to_gnu): Likewise.
|
2004 |
|
|
(add_stmt_with_node): Likewise.
|
2005 |
|
|
(add_cleanup): Likewise.
|
2006 |
|
|
* utils.c (gnat_init_decl_processing): Do not set input_line.
|
2007 |
|
|
|
2008 |
|
|
2007-09-26 Hristian Kirtchev
|
2009 |
|
|
|
2010 |
|
|
* sem_ch8.adb (Analyze_Use_Type): Code cleanup.
|
2011 |
|
|
(Applicable_Use): Emit a warning when a package tries to use itself.
|
2012 |
|
|
(Use_One_Type): Add variable Is_Known_Used. Emit a warning when a type
|
2013 |
|
|
is already in use or the package where it is declared is in use or is
|
2014 |
|
|
declared in the current package.
|
2015 |
|
|
(Spec_Reloaded_For_Body): New subsidiary routine for Use_One_Type.
|
2016 |
|
|
|
2017 |
|
|
* a-tasatt.adb, s-osprim-vxworks.adb, g-socthi-mingw.adb,
|
2018 |
|
|
s-intman-vms.adb, g-socket.adb, g-thread.adb, s-tarest.adb,
|
2019 |
|
|
s-tassta.adb, s-tporft.adb: Remove redundant 'use type' clause.
|
2020 |
|
|
|
2021 |
|
|
2007-09-26 Hristian Kirtchev
|
2022 |
|
|
|
2023 |
|
|
* a-calend-vms.adb, a-calend.adb:
|
2024 |
|
|
Add a section on leap seconds control along with two entities used to
|
2025 |
|
|
enable and disable leap seconds support. The array Leap_Second_Times is
|
2026 |
|
|
now constant and contains hard time values pre-generated. Remove
|
2027 |
|
|
all elaboration code used to populate the table of leap seconds.
|
2028 |
|
|
|
2029 |
|
|
* bindgen.adb:
|
2030 |
|
|
Add entity Leap_Seconds_Support to the list of global run-time variables
|
2031 |
|
|
along with a comment on its usage and values.
|
2032 |
|
|
(Gen_Adainit_Ada): Add code to generate the declaration and import of
|
2033 |
|
|
Integer variable Leap_Seconds_Support. Set its value to zero (disabled)
|
2034 |
|
|
or one (enabled) depending on the presence of binder switch "-y".
|
2035 |
|
|
(Gen_Adainit_C): Add code to generate the declaration of external int
|
2036 |
|
|
__gl_leap_seconds_support. Set is value to zero (disabled) or one
|
2037 |
|
|
(enabled) depending on the presence of binder switch "-y".
|
2038 |
|
|
|
2039 |
|
|
* init.c: Add __gl_leap_seconds_support to the list of global values
|
2040 |
|
|
computed by the binder.
|
2041 |
|
|
|
2042 |
|
|
2007-09-26 Jerome Guitton
|
2043 |
|
|
|
2044 |
|
|
* s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
|
2045 |
|
|
s-taprop-hpux-dce.adb, s-taprop-linux.adb, s-taprop-dummy.adb,
|
2046 |
|
|
s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
|
2047 |
|
|
s-taprop-posix.adb (Stop_Task): New function, dummy implementation.
|
2048 |
|
|
|
2049 |
|
|
* s-taprop.ads, s-taprop-vxworks.adb (Stop_Task): New function.
|
2050 |
|
|
|
2051 |
|
|
* s-tasdeb.adb (Stop_All_Tasks): New function, implementing a run-time
|
2052 |
|
|
function which can be called by the debugger to interrupt the tasks of
|
2053 |
|
|
an Ada application asynchronously, as needed on VxWorks.
|
2054 |
|
|
(Stop_All_Tasks_Handler): Renamed from Stop_All_Tasks.
|
2055 |
|
|
|
2056 |
|
|
* s-tasdeb.ads (Stop_All_Tasks_Handler): New function declaration,
|
2057 |
|
|
renamed from Stop_All_Tasks. Update comments.
|
2058 |
|
|
(Stop_All_tasks): New function declaration.
|
2059 |
|
|
|
2060 |
|
|
2007-09-26 Olivier Hainque
|
2061 |
|
|
|
2062 |
|
|
* adaint.c (if defined (__Lynx__)): Wrap #def/#undef VMOS_DEV around
|
2063 |
|
|
#include and #define GCC_RESOURCE_H before
|
2064 |
|
|
#include .
|
2065 |
|
|
Add more protections in __gnat_translate_vms.
|
2066 |
|
|
|
2067 |
|
|
* expect.c (if defined (__Lynx__)): #define GCC_RESOURCE_H before
|
2068 |
|
|
#include .
|
2069 |
|
|
|
2070 |
|
|
2007-09-26 Thomas Quinot
|
2071 |
|
|
Sergey Rybin
|
2072 |
|
|
|
2073 |
|
|
* gnatvsn.ads (PCS_Version_Number, ASIS_Version_Number): Removed.
|
2074 |
|
|
|
2075 |
|
|
* exp_dist.ads (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
|
2076 |
|
|
where it belongs.
|
2077 |
|
|
|
2078 |
|
|
* opt.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.
|
2079 |
|
|
|
2080 |
|
|
* rtsfind.adb (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
|
2081 |
|
|
where it belongs.
|
2082 |
|
|
|
2083 |
|
|
* sem_dist.ads: Minor comment fix
|
2084 |
|
|
|
2085 |
|
|
* tree_io.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.
|
2086 |
|
|
|
2087 |
|
|
2007-09-26 Javier Miranda
|
2088 |
|
|
Eric Botcazou
|
2089 |
|
|
|
2090 |
|
|
* a-tags.adb:
|
2091 |
|
|
(Get_HT_Link/Set_HT_Link): Updated to handle the additional level of
|
2092 |
|
|
indirection added to the HT_Link component of the TSD. This is required
|
2093 |
|
|
to statically allocate the TSD.
|
2094 |
|
|
|
2095 |
|
|
* a-tags.ads:
|
2096 |
|
|
Minor reordering of the declarations in the private part. Required to
|
2097 |
|
|
add a level of indirection to the contents of the TSD component HT_Link.
|
2098 |
|
|
This is required to statically allocate the TSD.
|
2099 |
|
|
|
2100 |
|
|
* decl.c (gnat_to_gnu_entity)
|
2101 |
|
|
Is_Statically_Allocated set from constant objects.
|
2102 |
|
|
Do not make exported constants created by the compiler volatile.
|
2103 |
|
|
(gnat_to_gnu_param): Do not treat an IN parameter whose address is taken
|
2104 |
|
|
as read-only.
|
2105 |
|
|
|
2106 |
|
|
* trans.c (Identifier_to_gnu): For constants, unshare initializers
|
2107 |
|
|
before returning them.
|
2108 |
|
|
|
2109 |
|
|
* exp_disp.ads, exp_disp.adb (Building_Static_DT): Spec moved to the
|
2110 |
|
|
public part of the package.
|
2111 |
|
|
(Make_DT): Move HT_Link component out of the TSD record. For this
|
2112 |
|
|
purpose Make_DT now declares a separate object that stores the
|
2113 |
|
|
HT_Link value, and initializes the TSD component with the address
|
2114 |
|
|
of this new object. The addition of this level of indirection is
|
2115 |
|
|
required to statically allocate the TSD because the TSD cannot
|
2116 |
|
|
have variable components.
|
2117 |
|
|
(Expand_Interface_Conversion): Improve the expanded code.
|
2118 |
|
|
(Expand_Interface_Thunk): Set Is_Thunk in the thunk entity.
|
2119 |
|
|
|
2120 |
|
|
* sem_disp.adb (Check_Dispatching_Operation): In case of a body
|
2121 |
|
|
declaring a primitive operation ---allowed by RM 3.9.2 (13.e/2)---,
|
2122 |
|
|
if we are building static dispatch tables then we must not generate
|
2123 |
|
|
extra code to register the primitive because the dispatch table will
|
2124 |
|
|
be built at the end of the library package; otherwise we notify that
|
2125 |
|
|
we cannot build the static dispatch table.
|
2126 |
|
|
|
2127 |
|
|
2007-09-26 Robert Dewar
|
2128 |
|
|
|
2129 |
|
|
* checks.adb, gnat1drv.adb, sem_util.ads: Improve warnings for address
|
2130 |
|
|
overlays.
|
2131 |
|
|
|
2132 |
|
|
* sem_ch13.ads, sem_ch13.adb: Improve warnings for address overlays
|
2133 |
|
|
(Analyze_Record_Representation_Clause): Suppress junk warning for
|
2134 |
|
|
missing component clause.
|
2135 |
|
|
(Analyze_Attribute_Definition_Clause, case Address): Apply the special
|
2136 |
|
|
tests for controlled type overlay to composites with controlled
|
2137 |
|
|
components.
|
2138 |
|
|
(Analyze_Record_Representation_Clause): Add reference for component name
|
2139 |
|
|
|
2140 |
|
|
2007-09-26 Javier Miranda
|
2141 |
|
|
Gary Dismukes
|
2142 |
|
|
|
2143 |
|
|
* einfo.adb (Is_Thunk): New attribute applicable to subprograms. True
|
2144 |
|
|
for thunks associated with interface types.
|
2145 |
|
|
|
2146 |
|
|
* einfo.ads: Improve documentatation of Is_Internal
|
2147 |
|
|
(Is_Thunk): New attribute applicable to subprograms. True for thunks
|
2148 |
|
|
associated with interface types.
|
2149 |
|
|
Extensive comment fixes regarding flags that appear in all entities. The
|
2150 |
|
|
documentation is now consistent for all such flags (there were a number
|
2151 |
|
|
of errors in the documentation in this regard).
|
2152 |
|
|
|
2153 |
|
|
* exp_attr.adb (Expand_N_Attribute_Reference): Minor code cleanup.
|
2154 |
|
|
|
2155 |
|
|
* exp_ch6.adb (Make_Build_In_Place_Call_*): Return immediately if any
|
2156 |
|
|
of these procedures are passed a function call that already has
|
2157 |
|
|
build-in-place actuals (testing new flag
|
2158 |
|
|
Is_Expanded_Build_In_Place_Call). Set the flag on the function call in
|
2159 |
|
|
the case where processing continues.
|
2160 |
|
|
(Expand_Call): If the call is generated from a thunk body then we
|
2161 |
|
|
propagate the extra actuals associated with the accessibility
|
2162 |
|
|
level of the access type actuals.
|
2163 |
|
|
|
2164 |
|
|
* sem_ch6.adb (Analyze_Subprogram_Body): Set the Protected_Formal field
|
2165 |
|
|
of each extra formal of a protected operation to reference the
|
2166 |
|
|
corresponding extra formal of the subprogram denoted by the
|
2167 |
|
|
operation's Protected_Body_Subprogram.
|
2168 |
|
|
|
2169 |
|
|
* sinfo.ads, sinfo.adb (Is_Expanded_Build_In_Place_Call): New flag on
|
2170 |
|
|
N_Function_Call nodes.
|
2171 |
|
|
|
2172 |
|
|
2007-09-26 Robert Dewar
|
2173 |
|
|
|
2174 |
|
|
* exp_ch5.adb: Activate memmove type processing if debug flag d.s is set
|
2175 |
|
|
|
2176 |
|
|
* debug.adb: Add d.s flag.
|
2177 |
|
|
|
2178 |
|
|
2007-09-26 Gary Dismukes
|
2179 |
|
|
|
2180 |
|
|
* exp_dbug.adb (Debug_Renaming_Declaration): Set Is_Internal on the
|
2181 |
|
|
debug variable so that it won't be initialized when pragma
|
2182 |
|
|
Initialize_Scalars is in effect.
|
2183 |
|
|
|
2184 |
|
|
2007-09-26 Gary Dismukes
|
2185 |
|
|
|
2186 |
|
|
* freeze.adb (Freeze_Entity): Remove check for preelaborable
|
2187 |
|
|
initialization of a full view. This is moved to
|
2188 |
|
|
Analyze_Package_Specification.
|
2189 |
|
|
|
2190 |
|
|
* sem_ch7.adb (Analyze_Package_Specification): Add check for
|
2191 |
|
|
preelaborable initialization of a full view in entity loop.
|
2192 |
|
|
(Uninstall_Declarations): If entity is a use-visible compilation unit,
|
2193 |
|
|
its child units are use-visible only if they are visible child units.
|
2194 |
|
|
|
2195 |
|
|
* sem_util.adb (Is_Preelaborable_Expression): New function to determine
|
2196 |
|
|
whether an expression can be used within a type declaration that
|
2197 |
|
|
requires preelaborable init.
|
2198 |
|
|
(Check_Components): Replace inline code that does partial checking for
|
2199 |
|
|
preelaborable default expressions with call to
|
2200 |
|
|
Is_Preelaborable_Expression.
|
2201 |
|
|
(Has_Preelaborable_Initialization): In the case of a generic actual
|
2202 |
|
|
subtype, (that is, Is_Generic_Actual is True), return the result of
|
2203 |
|
|
applying Has_Preelaborable_Initialization to the generic actual's base
|
2204 |
|
|
type.
|
2205 |
|
|
|
2206 |
|
|
2007-09-26 Hristian Kirtchev
|
2207 |
|
|
|
2208 |
|
|
* g-calend.adb (Has_53_Weeks): Rename to Last_Year_Has_53_Weeks. Add a
|
2209 |
|
|
call to Jan_1_Day _Of_Week to optimize its performance.
|
2210 |
|
|
(Is_Leap): Move the routine to the scope of Week_In_Year.
|
2211 |
|
|
(Jan_1_Day_Of_Week): New routine in Week_In_Year which calculates the
|
2212 |
|
|
weekday on which January 1 falls of Year - 1 and Year + 1. This function
|
2213 |
|
|
avoids calling Time_Of and Split, thus making it more efficent.
|
2214 |
|
|
(Week_In_Year): Reimplemented in oder to follow ISO 8601.
|
2215 |
|
|
|
2216 |
|
|
* g-calend.ads (Week_In_Year): Change comment to reflect new
|
2217 |
|
|
implementation.
|
2218 |
|
|
|
2219 |
|
|
2007-09-26 Emmanuel Briot
|
2220 |
|
|
|
2221 |
|
|
* g-comlin.ads, g-comlin.adb (Command_Line_Configuration,
|
2222 |
|
|
Command_Line): New types
|
2223 |
|
|
(Define_Alias, Define_Prefix, Free): New subprograms. These provide
|
2224 |
|
|
support for defining how switches can be grouped on a command line (as
|
2225 |
|
|
is the case for -gnatw... for GNAT), and how simple switches can be
|
2226 |
|
|
used as aliases for more complex switches (-gnatwa is same as
|
2227 |
|
|
-gnatwbcef...)
|
2228 |
|
|
(Set_Command_Line, Add_Switch, Remove_Switch): New subprogram
|
2229 |
|
|
(Start, Current_*): New subprograms
|
2230 |
|
|
Added support for parsing an array of strings in addition to the real
|
2231 |
|
|
command line.
|
2232 |
|
|
(Opt_Parser, Opt_Parser_Data): New type. As a result, some types had to
|
2233 |
|
|
be moved from the body to the private part of the spec.
|
2234 |
|
|
(*): All subprograms now have an extra parameter with default value to
|
2235 |
|
|
specify which parser should be used. For backward compatibility, it
|
2236 |
|
|
defaults to parsing the command line of the application. They were also
|
2237 |
|
|
modified to properly handle cases where each of the argument does not
|
2238 |
|
|
start at index 1 (which is always true for Ada.Command_Line, but not
|
2239 |
|
|
when processing any Argument_List).
|
2240 |
|
|
(Free): New subprogram
|
2241 |
|
|
(Internal_Initialize_Option_Scan, Find_Longuest_Matching_Switch,
|
2242 |
|
|
Argument): New subprograms
|
2243 |
|
|
(Switch_Parameter_Type): New enum, which clarifies the code. The extra
|
2244 |
|
|
special characters like ':', '=',... are now handled in a single place,
|
2245 |
|
|
which makes the code more extensible eventually.
|
2246 |
|
|
(Getopt, Full_Switch): When the switch was returned as part of the
|
2247 |
|
|
special character '*', make sure it is prepended by the switch character
|
2248 |
|
|
('-' in general), so that the application knows whether "foo" or "-foo"
|
2249 |
|
|
was specified on the command line.
|
2250 |
|
|
|
2251 |
|
|
2007-09-26 Florian Villoing
|
2252 |
|
|
|
2253 |
|
|
* g-dirope.adb (Remove_Dir): In case we are removing directories
|
2254 |
|
|
recursively, make sure that if an exception is raised during the
|
2255 |
|
|
processing, the current working directory is reset to its initial
|
2256 |
|
|
value before propagating the exception.
|
2257 |
|
|
|
2258 |
|
|
2007-09-26 Vincent Celier
|
2259 |
|
|
|
2260 |
|
|
* gnatbind.adb: If there are several ALI files specified and there is
|
2261 |
|
|
a main program to bind, the first ALI is expected to contain the main
|
2262 |
|
|
subprogram and the names of the binder generated files will be derived
|
2263 |
|
|
from the first ALI file name.
|
2264 |
|
|
(Gnatbind): Fix insertion character in invocation of Error_Msg
|
2265 |
|
|
|
2266 |
|
|
2007-09-26 Vincent Celier
|
2267 |
|
|
|
2268 |
|
|
* gnatcmd.adb (Check_Files): Do not include sources that have been
|
2269 |
|
|
removed by attributes Exclude_Source_Files or Locally_Removed_Files.
|
2270 |
|
|
|
2271 |
|
|
2007-09-26 Ed Schonberg
|
2272 |
|
|
|
2273 |
|
|
* lib-xref.ads, lib-xref.adb: The entry for array types now carries
|
2274 |
|
|
information about each of its index types, following the type
|
2275 |
|
|
reference for its component type.
|
2276 |
|
|
|
2277 |
|
|
2007-09-26 Vincent Celier
|
2278 |
|
|
|
2279 |
|
|
* make.adb: (Kill): New procedure (__gnat_kill imported)
|
2280 |
|
|
(Running_Compile, Outstanding_Compiles): Global variables that
|
2281 |
|
|
were previously local to procedure Compile_Sources.
|
2282 |
|
|
(Sigint_Intercepted): Send signal SIGINT to all outstanding
|
2283 |
|
|
compilation processes.
|
2284 |
|
|
|
2285 |
|
|
(Gnatmake): If project files are used, create the mapping of all the
|
2286 |
|
|
sources, so that the correct paths will be found.
|
2287 |
|
|
|
2288 |
|
|
* prj-env.ads, prj-env.adb (Create_Mapping): New procedure
|
2289 |
|
|
|
2290 |
|
|
2007-09-26 Vincent Celier
|
2291 |
|
|
|
2292 |
|
|
* makeutl.ads (Main_Config_Project): Moved to gpr_util.ads
|
2293 |
|
|
|
2294 |
|
|
* prj.ads, prj.adb (Default_Language): Remove function, no longer used
|
2295 |
|
|
Replace components Compiler_Min_Options and Binder_Min_Options with
|
2296 |
|
|
Compiler_Required_Switches and Binder_Required_Switches in record
|
2297 |
|
|
Language_Config.
|
2298 |
|
|
Remove components Default_Language and Config in Project_Tree_Data,
|
2299 |
|
|
no longer used.
|
2300 |
|
|
|
2301 |
|
|
* prj-attr.adb: New attributes Required_Switches () in
|
2302 |
|
|
packages Compiler and Binder.
|
2303 |
|
|
|
2304 |
|
|
* prj-nmsc.adb: Major rewrite of the processing of configuration
|
2305 |
|
|
attributes for gprbuild. No impact on GNAT tools.
|
2306 |
|
|
|
2307 |
|
|
* prj-proc.ads, prj-proc.adb (Process_Project_Tree_Phase_2): No longer
|
2308 |
|
|
process configuration attributes: this is done in Prj.Nmsc.Check.
|
2309 |
|
|
(Recursive_Process): Make a full copy of packages inherited from project
|
2310 |
|
|
being extended, instead of a shallow copy.
|
2311 |
|
|
(Process_Project_Tree_Phase_1): New procedure
|
2312 |
|
|
(Process_Project_Tree_Phase_1): New procedure
|
2313 |
|
|
(Process): Implementation now uses the two new procedures
|
2314 |
|
|
|
2315 |
|
|
* prj-util.adb (Executable_Of): Get the suffix and the default suffix
|
2316 |
|
|
from the project config, not the tree config that no longer exists.
|
2317 |
|
|
|
2318 |
|
|
2007-09-26 Vincent Celier
|
2319 |
|
|
|
2320 |
|
|
* Make-lang.in: Update dependencies..
|
2321 |
|
|
|
2322 |
|
|
2007-09-26 Vincent Celier
|
2323 |
|
|
|
2324 |
|
|
* osint.adb, osint.ads: Minor reformatting
|
2325 |
|
|
|
2326 |
|
|
* osint-b.adb, osint-b.ads (Set_Current_File_Name_Index): New procedure
|
2327 |
|
|
|
2328 |
|
|
2007-09-26 Gary Dismukes
|
2329 |
|
|
|
2330 |
|
|
* par-ch4.adb (P_Record_Or_Array_Component_Association): Change Ada 95
|
2331 |
|
|
message to cite use of <> in aggregate component associations rather
|
2332 |
|
|
than wrongly indicating use of limited aggregates.
|
2333 |
|
|
|
2334 |
|
|
2007-09-26 Robert Dewar
|
2335 |
|
|
|
2336 |
|
|
* sem_attr.adb (Analyze_Access_Attribute): Fix missing set of
|
2337 |
|
|
Address_Taken.
|
2338 |
|
|
|
2339 |
|
|
2007-09-26 Ed Schonberg
|
2340 |
|
|
|
2341 |
|
|
* sem_ch3.adb (Derive_Subprograms): If the interface parent is a direct
|
2342 |
|
|
ancestor of the derived type, the operations are inherited from the
|
2343 |
|
|
primary dispatch table of the parent.
|
2344 |
|
|
(OK_For_Limited_Init_In_05): Remove old comment. Reject in-place calls
|
2345 |
|
|
when the context is an explicit type conversion.
|
2346 |
|
|
|
2347 |
|
|
2007-09-26 Ed Schonberg
|
2348 |
|
|
|
2349 |
|
|
* sem_ch4.adb (Analyze_Qualified_Expression): Apply name resolution
|
2350 |
|
|
rule for qualified expressions properly, to detect improper conversions
|
2351 |
|
|
and resolve some cases of overloading.
|
2352 |
|
|
|
2353 |
|
|
2007-09-26 Ed Schonberg
|
2354 |
|
|
|
2355 |
|
|
* sem_res.adb (Resolve_Call): If the call is dispatching, generate the
|
2356 |
|
|
proper kind of reference to the primitive operation, for better source
|
2357 |
|
|
navigation.
|
2358 |
|
|
(Valid_Conversion): A tagged conversion is legal if both operands are
|
2359 |
|
|
tagged.
|
2360 |
|
|
|
2361 |
|
|
2007-09-26 Robert Dewar
|
2362 |
|
|
|
2363 |
|
|
* sem_warn.adb (Check_References): Catch more cases of unreferenced
|
2364 |
|
|
packages.
|
2365 |
|
|
|
2366 |
|
|
2007-09-26 Vincent Celier
|
2367 |
|
|
|
2368 |
|
|
* snames.adb, snames.ads: Change Include_Option to Include_Switches
|
2369 |
|
|
|
2370 |
|
|
2007-09-26 Robert Dewar
|
2371 |
|
|
|
2372 |
|
|
* s-wchstw.adb: provide messages for run time unit exceptions
|
2373 |
|
|
|
2374 |
|
|
* a-witeio.adb: Minor reformatting
|
2375 |
|
|
|
2376 |
|
|
* exp_ch13.adb: Minor reformatting
|
2377 |
|
|
|
2378 |
|
|
2007-09-26 Sergey Rybin
|
2379 |
|
|
|
2380 |
|
|
* vms_data.ads: Revise gnatmetric qualifiers.
|
2381 |
|
|
Add qualified for the new gnatbind option '-y'
|
2382 |
|
|
|
2383 |
|
|
* gnat_ugn.texi: Revise the gnatmetric section.
|
2384 |
|
|
Add entry for new gnatbind option '-y'.
|
2385 |
|
|
|
2386 |
|
|
* gnat_rm.texi: Minor spelling correction.
|
2387 |
|
|
Document restriction on overlaying controlled types
|
2388 |
|
|
|
2389 |
|
|
2007-09-26 Vincent Celier
|
2390 |
|
|
|
2391 |
|
|
* makegpr.adb (Link_Executables): Do not fail when the root project has
|
2392 |
|
|
no sources, but is an extending project.
|
2393 |
|
|
|
2394 |
|
|
2007-09-25 Eric Botcazou
|
2395 |
|
|
|
2396 |
|
|
* trans.c: Fix misplaced #define.
|
2397 |
|
|
|
2398 |
|
|
2007-09-22 Eric Botcazou
|
2399 |
|
|
|
2400 |
|
|
* utils2.c (build_unary_op) [INDIRECT_REF]: Propagate
|
2401 |
|
|
the TYPE_REF_CAN_ALIAS_ALL flag to the result.
|
2402 |
|
|
|
2403 |
|
|
2007-09-21 Olivier Hainque
|
2404 |
|
|
|
2405 |
|
|
* utils.c (type_for_nonaliased_component_p): Return false for
|
2406 |
|
|
all AGGREGATE_TYPEs.
|
2407 |
|
|
|
2408 |
|
|
2007-09-17 Eric Botcazou
|
2409 |
|
|
|
2410 |
|
|
* decl.c (gnat_to_gnu_entity)
|
2411 |
|
|
object covered by 13.3(19) volatile.
|
2412 |
|
|
|
2413 |
|
|
2007-09-12 Eric Botcazou
|
2414 |
|
|
|
2415 |
|
|
PR ada/26797
|
2416 |
|
|
PR ada/32407
|
2417 |
|
|
* utils.c (unchecked_convert): Use a subtype as the intermediate type
|
2418 |
|
|
in the special VIEW_CONVERT_EXPR case.
|
2419 |
|
|
|
2420 |
|
|
2007-09-12 Robert Dewar
|
2421 |
|
|
|
2422 |
|
|
* types.ads, a-charac.ads, freeze.adb: Minor reformatting.
|
2423 |
|
|
|
2424 |
|
|
* a-except.adb, g-hesora.adb, g-speche.adb, lib.adb, lib.ads,
|
2425 |
|
|
lib-load.adb, lib-writ.adb, s-assert.adb, s-carun8.adb,
|
2426 |
|
|
s-casuti.adb, s-crc32.adb, s-exctab.adb, s-htable.adb, s-imgenu.adb,
|
2427 |
|
|
s-mastop.adb, s-memory.adb, s-memory.ads, s-secsta.adb, s-soflin.adb,
|
2428 |
|
|
s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-stache.adb, s-stalib.adb,
|
2429 |
|
|
s-stoele.adb, s-strcom.adb, s-strops.adb, s-traceb.adb, s-traent.adb,
|
2430 |
|
|
s-wchcnv.adb, s-wchcon.adb, s-wchjis.adb, s-addope.adb, s-except.adb,
|
2431 |
|
|
s-os_lib.adb, s-string.adb, s-utf_32.adb, a-elchha.adb,
|
2432 |
|
|
a-chlat1.ads, a-elchha.ads, a-except.ads, g-hesora.ads, g-htable.ads,
|
2433 |
|
|
g-speche.ads, par-prag.adb, restrict.adb, restrict.ads, s-assert.ads,
|
2434 |
|
|
s-carun8.ads, s-casuti.ads, s-crc32.ads, sem_ch11.adb, sem_prag.adb,
|
2435 |
|
|
s-exctab.ads, s-htable.ads, s-imgenu.ads, s-mastop.ads, snames.adb,
|
2436 |
|
|
snames.ads, snames.h, s-purexc.ads, s-secsta.ads, s-soflin.ads,
|
2437 |
|
|
s-sopco3.ads, s-sopco4.ads, s-sopco5.ads, s-stache.ads, s-stalib.ads,
|
2438 |
|
|
s-stoele.ads, s-strcom.ads, s-strops.ads, s-traceb.ads, s-traent.ads,
|
2439 |
|
|
s-unstyp.ads, s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-addope.ads,
|
2440 |
|
|
s-except.ads, s-os_lib.ads, s-string.ads, s-utf_32.ads: Implement
|
2441 |
|
|
pragma Compiler_Unit and adds it to relevant library units.
|
2442 |
|
|
|
2443 |
|
|
2007-09-12 Ed Schonberg
|
2444 |
|
|
|
2445 |
|
|
* sem_aggr.adb (Resolve_Record_Aggregate): An others association with
|
2446 |
|
|
a box need not correspond to any component.
|
2447 |
|
|
|
2448 |
|
|
2007-09-12 Robert Dewar
|
2449 |
|
|
|
2450 |
|
|
* g-thread.ads: Document use of "with GNAT.Threads" to ensure loading
|
2451 |
|
|
the tasking version of the Ada run time when foreign threads are
|
2452 |
|
|
present and there are no explicit Ada tasks or tasking constructs.
|
2453 |
|
|
|
2454 |
|
|
* gnat_rm.texi: Clarify documentation of GNAT.Threads.
|
2455 |
|
|
|
2456 |
|
|
2007-09-12 Hristian Kirtchev
|
2457 |
|
|
|
2458 |
|
|
* bindusg.adb (Display): Correct comment for switch -X. Add a line for
|
2459 |
|
|
the usage of switch -y.
|
2460 |
|
|
|
2461 |
|
|
* switch-b.adb (Scan_Binder_Switches): Set flag Leap_Seconds_Support
|
2462 |
|
|
when switch -y is present.
|
2463 |
|
|
|
2464 |
|
|
* opt.ads: Add binder flag Leap_Seconds_Support used to enable/disable
|
2465 |
|
|
leap seconds in Ada.Calendar and its children.
|
2466 |
|
|
|
2467 |
|
|
2007-09-12 Jose Ruiz
|
2468 |
|
|
|
2469 |
|
|
* a-extiti.ads (Timer): The discriminant is a "not null access
|
2470 |
|
|
constant" in the Reference Manual.
|
2471 |
|
|
(Cancel_Handler): Cancelled is an out parameter in the Reference Manual.
|
2472 |
|
|
|
2473 |
|
|
2007-09-12 Robert Dewar
|
2474 |
|
|
|
2475 |
|
|
* a-swuwha.adb: Remove junk RM header
|
2476 |
|
|
|
2477 |
|
|
2007-09-12 Vincent Celier
|
2478 |
|
|
|
2479 |
|
|
* g-bytswa-x86.adb (Swap2, Swap4, Swap8): Remove explicit "in" mode
|
2480 |
|
|
indicator
|
2481 |
|
|
|
2482 |
|
|
* g-bytswa.ads: Minor reformatting
|
2483 |
|
|
|
2484 |
|
|
2007-09-12 Thomas Quinot
|
2485 |
|
|
|
2486 |
|
|
* g-soccon-solaris-64.ads, g-soccon-hpux-ia64.ads:
|
2487 |
|
|
Add new constant Thread_Blocking_IO, always True by default, set False
|
2488 |
|
|
on a per-runtime basis.
|
2489 |
|
|
(Need_Netdb_Buffer): New constant.
|
2490 |
|
|
|
2491 |
|
|
2007-09-12 Arnaud Charlet
|
2492 |
|
|
|
2493 |
|
|
* s-dsaser.ads (Get_Local_Partition_Id, Get_Passive_Partition_Id):
|
2494 |
|
|
Added renames for corresponding functions in System.Partition_Interface.
|
2495 |
|
|
|
2496 |
|
|
2007-09-12 Doug Rupp
|
2497 |
|
|
|
2498 |
|
|
* Makefile.in: Remove VMS specific System.CRTL packages which are no
|
2499 |
|
|
longer needed.
|
2500 |
|
|
|
2501 |
|
|
* s-crtl-vms64.ads: Removed.
|
2502 |
|
|
|
2503 |
|
|
2007-09-12 Olivier Hainque
|
2504 |
|
|
|
2505 |
|
|
* decl.c (gnat_to_gnu_entity) : For a subtype
|
2506 |
|
|
with discriminant constraints, generalize the code for BIT_FIELDs
|
2507 |
|
|
to PACKED fields of constant size and propagate DECL_PACKED.
|
2508 |
|
|
|
2509 |
|
|
2007-09-11 Eric Botcazou
|
2510 |
|
|
|
2511 |
|
|
* decl.c (array_type_has_nonaliased_component): New predicate.
|
2512 |
|
|
(gnat_to_gnu_field) : Invoke the above predicate to
|
2513 |
|
|
set the TYPE_NONALIASED_COMPONENT flag on the type.
|
2514 |
|
|
: Likewise.
|
2515 |
|
|
* gigi.h (type_for_nonaliased_component_p): Declare.
|
2516 |
|
|
* utils.c (type_for_nonaliased_component_p): New predicate.
|
2517 |
|
|
(create_field_decl): Invoke the above predicate to set the
|
2518 |
|
|
DECL_NONADDRESSABLE_P flag on the field.
|
2519 |
|
|
|
2520 |
|
|
2007-09-11 Javier Miranda
|
2521 |
|
|
|
2522 |
|
|
* einfo.ads, einfo.adb (Dispatch_Table_Wrapper): New attribute. Present
|
2523 |
|
|
in library level record type entities if we are generating statically
|
2524 |
|
|
allocated dispatch tables.
|
2525 |
|
|
|
2526 |
|
|
* exp_disp.adb (Make_Tags/Make_DT): Replace previous code
|
2527 |
|
|
importing/exporting the _tag declaration by new code
|
2528 |
|
|
importing/exporting the dispatch table wrapper. This change allows us
|
2529 |
|
|
to statically allocate of the TSD.
|
2530 |
|
|
(Make_DT.Export_DT): New procedure.
|
2531 |
|
|
(Build_Static_DT): New function.
|
2532 |
|
|
(Has_DT): New function.
|
2533 |
|
|
|
2534 |
|
|
* freeze.adb (Freeze_Static_Object): Code cleanup: Do not reset flags
|
2535 |
|
|
True_Constant and Current_Value. Required to statically
|
2536 |
|
|
allocate the dispatch tables.
|
2537 |
|
|
(Check_Allocator): Make function iterative instead of recursive.
|
2538 |
|
|
Also return inner allocator node, when present, so that we do not have
|
2539 |
|
|
to look for that node again in the caller.
|
2540 |
|
|
|
2541 |
|
|
2007-09-11 Jan Hubicka
|
2542 |
|
|
|
2543 |
|
|
* misc.c (gnat_expand_body): Kill.
|
2544 |
|
|
(LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
|
2545 |
|
|
|
2546 |
|
|
2007-09-10 Robert Dewar
|
2547 |
|
|
|
2548 |
|
|
* exp_atag.ads, exp_atag.adb, mlib-tgt-tru64.adb, mlib-tgt-aix.adb,
|
2549 |
|
|
mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
|
2550 |
|
|
mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
|
2551 |
|
|
mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, ali.adb, ali.ads,
|
2552 |
|
|
ali-util.adb, ali-util.ads, atree.h, back_end.adb, back_end.ads,
|
2553 |
|
|
bcheck.adb, bcheck.ads, binde.adb, binde.ads, binderr.adb, binderr.ads,
|
2554 |
|
|
bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads, butil.adb,
|
2555 |
|
|
butil.ads, checks.adb, checks.ads, clean.adb, clean.ads, comperr.adb,
|
2556 |
|
|
comperr.ads, cstand.adb, cstand.ads, debug_a.adb, debug_a.ads,
|
2557 |
|
|
elists.h, errout.adb, erroutc.ads, errutil.adb, errutil.ads,
|
2558 |
|
|
err_vars.ads, eval_fat.adb, eval_fat.ads, exp_sel.ads, exp_sel.adb,
|
2559 |
|
|
exp_aggr.adb, exp_aggr.ads, expander.adb, expander.ads, exp_attr.ads,
|
2560 |
|
|
exp_ch10.ads, exp_ch11.adb, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb,
|
2561 |
|
|
exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.ads, exp_ch4.adb,
|
2562 |
|
|
exp_ch4.ads, exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
|
2563 |
|
|
exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads, exp_ch9.adb,
|
2564 |
|
|
exp_ch9.ads, exp_code.adb, exp_code.ads, exp_dbug.adb, exp_dbug.ads,
|
2565 |
|
|
exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
|
2566 |
|
|
exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads, exp_pakd.adb,
|
2567 |
|
|
exp_pakd.ads, exp_prag.adb, exp_prag.ads, exp_smem.adb, exp_strm.adb,
|
2568 |
|
|
exp_strm.ads, exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
|
2569 |
|
|
exp_vfpt.adb, exp_vfpt.ads, fmap.adb, fmap.ads, fname-sf.adb,
|
2570 |
|
|
fname-sf.ads, fname-uf.adb, fname-uf.ads, frontend.adb, frontend.ads,
|
2571 |
|
|
get_targ.adb, get_targ.ads, gnat1drv.adb, gnat1drv.ads, gnatbind.adb,
|
2572 |
|
|
gnatbind.ads, gnatbl.c, gnatchop.adb, gnatclean.adb, gnatcmd.adb,
|
2573 |
|
|
gnatcmd.ads, gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
|
2574 |
|
|
gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb, gnatls.ads,
|
2575 |
|
|
gnatmake.adb, gnatmake.ads, gnatmem.adb, gnatname.adb, gnatname.ads,
|
2576 |
|
|
gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb,
|
2577 |
|
|
gprep.adb, gprep.ads, hlo.adb, hlo.ads, impunit.adb, impunit.ads,
|
2578 |
|
|
inline.adb, inline.ads, itypes.adb, itypes.ads, layout.adb, layout.ads,
|
2579 |
|
|
lib-load.adb, lib-load.ads, lib-util.adb, lib-util.ads, lib-writ.adb,
|
2580 |
|
|
lib-writ.ads, lib-xref.adb, lib-xref.ads, live.adb, live.ads,
|
2581 |
|
|
make.adb, make.ads, makeutl.ads, makeutl.adb, makeusg.adb, makeusg.ads,
|
2582 |
|
|
mdll.adb, mdll.ads, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
|
2583 |
|
|
mdll-utl.ads, memroot.adb, memroot.ads, mlib.adb, mlib.ads,
|
2584 |
|
|
mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
|
2585 |
|
|
mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, namet.h, nmake.adt,
|
2586 |
|
|
osint.adb, osint.ads, osint-b.adb, osint-b.ads, osint-c.adb,
|
2587 |
|
|
osint-c.ads, osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads,
|
2588 |
|
|
par.adb, par.ads, par-ch10.adb, par-ch11.adb, par-ch12.adb,
|
2589 |
|
|
par-ch13.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
|
2590 |
|
|
par-ch6.adb, par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
|
2591 |
|
|
par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb, par-tchk.adb,
|
2592 |
|
|
par-util.adb, prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
|
2593 |
|
|
prj.adb, prj.ads, prj-attr.adb, prj-attr.ads, prj-com.ads,
|
2594 |
|
|
prj-dect.adb, prj-dect.ads, prj-err.adb, prj-err.ads, prj-ext.adb,
|
2595 |
|
|
prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
|
2596 |
|
|
prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
|
2597 |
|
|
prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
|
2598 |
|
|
prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
|
2599 |
|
|
prj-util.adb, prj-util.ads, restrict.adb, restrict.ads,
|
2600 |
|
|
rtsfind.adb, rtsfind.ads, scn.adb, scn.ads,
|
2601 |
|
|
scng.adb, scng.ads, sdefault.ads, sem.ads, sem_aggr.ads, sem_attr.adb,
|
2602 |
|
|
sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
|
2603 |
|
|
sem_ch10.ads, sem_ch11.adb, sem_ch11.ads, sem_ch12.ads, sem_ch13.adb,
|
2604 |
|
|
sem_ch13.ads, sem_ch2.adb, sem_ch2.ads, sem_ch3.adb, sem_ch3.ads,
|
2605 |
|
|
sem_ch4.ads, sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
|
2606 |
|
|
sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
|
2607 |
|
|
sem_ch9.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb, sem_dist.ads,
|
2608 |
|
|
sem_elab.adb, sem_elab.ads, sem_elim.adb, sem_elim.ads, sem_eval.adb,
|
2609 |
|
|
sem_eval.ads, sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
|
2610 |
|
|
sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads, sem_res.adb,
|
2611 |
|
|
sem_res.ads, sem_smem.adb, sem_smem.ads, sem_type.adb, sem_type.ads,
|
2612 |
|
|
sem_util.adb, sem_util.ads, sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb,
|
2613 |
|
|
sem_warn.ads, sfn_scan.ads, sinfo-cn.adb, sinfo-cn.ads, sinput-c.adb,
|
2614 |
|
|
sinput-c.ads, sinput-d.adb, sinput-d.ads, sinput-l.adb, sinput-l.ads,
|
2615 |
|
|
sinput-p.adb, sinput-p.ads, snames.h, sprint.adb, sprint.ads,
|
2616 |
|
|
stringt.h, style.ads, styleg.adb, styleg.ads, styleg-c.adb,
|
2617 |
|
|
styleg-c.ads, stylesw.adb, stylesw.ads, switch.adb, switch.ads,
|
2618 |
|
|
switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
|
2619 |
|
|
switch-m.ads, symbols.adb, symbols.ads, targparm.adb, tbuild.adb,
|
2620 |
|
|
tbuild.ads, tempdir.adb, tempdir.ads, tree_gen.adb, tree_gen.ads,
|
2621 |
|
|
treepr.adb, treepr.ads, treeprs.adt, ttypef.ads, ttypes.ads,
|
2622 |
|
|
types.h, uintp.h, urealp.h, usage.adb, usage.ads,
|
2623 |
|
|
validsw.adb, validsw.ads, vxaddr2line.adb, xeinfo.adb, xnmake.adb,
|
2624 |
|
|
xref_lib.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads, xsinfo.adb,
|
2625 |
|
|
xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb, xgnatugn.adb,
|
2626 |
|
|
gprmake.adb, makegpr.ads, makegpr.adb, prj-attr-pm.ads, prj-attr-pm.adb,
|
2627 |
|
|
mlib-tgt-lynxos.adb, mlib-tgt-darwin.adb, symbols-vms.adb,
|
2628 |
|
|
symbols-processing-vms-alpha.adb, symbols-processing-vms-ia64.adb,
|
2629 |
|
|
mlib-tgt-specific.adb, mlib-tgt-specific.ads, mlib-tgt-vms.adb,
|
2630 |
|
|
mlib-tgt-vms.ads: Replace headers with GPL v3 headers.
|
2631 |
|
|
|
2632 |
|
|
2007-09-10 Emmanuel Briot
|
2633 |
|
|
|
2634 |
|
|
* s-regpat.adb (Parse_Character_Class): Fix handling of empty character
|
2635 |
|
|
classes ("[]").
|
2636 |
|
|
|
2637 |
|
|
2007-09-10 Vasiliy Fofanov
|
2638 |
|
|
|
2639 |
|
|
* adaint.c (__gnat_translate_vms): new function.
|
2640 |
|
|
|
2641 |
|
|
2007-09-10 Gary Dismukes
|
2642 |
|
|
Thomas Quinot
|
2643 |
|
|
|
2644 |
|
|
* exp_ch3.adb (Predef_Spec_Or_Body): When the type is abstract, only
|
2645 |
|
|
create an abstract subprogram in the case of 'Input. For 'Output we now
|
2646 |
|
|
create a real spec/body when the type is abstract, since it can
|
2647 |
|
|
potentially be called.
|
2648 |
|
|
(Predefined_Primitive_Bodies): Now allow the creation of a predefined
|
2649 |
|
|
body for 'Output when the type is abstract (only the creation of the
|
2650 |
|
|
body for 'Input is excluded when the type is abstract).
|
2651 |
|
|
(Stream_Operation_OK): Add an additional condition in the return
|
2652 |
|
|
statement, so that False will be returned for TTS_Stream_Input if the
|
2653 |
|
|
associated tagged type is an abstract extension. Add comments for
|
2654 |
|
|
return statement.
|
2655 |
|
|
(Expand_N_Object_Declaration): For the case of a shared passive
|
2656 |
|
|
variable, insert init proc call only after the shared variable
|
2657 |
|
|
procedures have been processed, because the IP call needs to undergo
|
2658 |
|
|
shared passive variable reference expansion, which requires these
|
2659 |
|
|
procedures to be available (and elaborated).
|
2660 |
|
|
|
2661 |
|
|
2007-09-10 Vincent Celier
|
2662 |
|
|
|
2663 |
|
|
* prj-env.ads, prj-env.adb (Create_Mapping_File (Language)): Remove
|
2664 |
|
|
parameter Runtime_Project.
|
2665 |
|
|
|
2666 |
|
|
2007-09-10 Ed Schonberg
|
2667 |
|
|
|
2668 |
|
|
* sem_aggr.adb (Build_Record_Aggr_Code): If an aggregate component is
|
2669 |
|
|
given a box association, the type of the component is discriminated,
|
2670 |
|
|
and the value of the discriminant is the discriminant of the enclosing
|
2671 |
|
|
type, retrieve its value from the aggregate itself, where it must have
|
2672 |
|
|
been supplied.
|
2673 |
|
|
|
2674 |
|
|
* sem_ch4.adb (Analyze_One_Call): Further refinement to previous fix,
|
2675 |
|
|
to remove other spurious ambiguities on arithmetic operations involving
|
2676 |
|
|
literals and addresses, on systems where Address is a visible integer
|
2677 |
|
|
type, when the operator is called in functional notation.
|
2678 |
|
|
(Try_Primitive_Operation): Within an instance, a call in prefixed form
|
2679 |
|
|
is legal when the types match, even if the operation is currently
|
2680 |
|
|
hidden.
|
2681 |
|
|
|
2682 |
|
|
2007-09-10 Ed Schonberg
|
2683 |
|
|
|
2684 |
|
|
* sem_ch12.adb (Build_Local_Package): A formal package with no
|
2685 |
|
|
associations is legal if all formals have defaults. It is not
|
2686 |
|
|
equivalent to a formal declared with a box.
|
2687 |
|
|
|
2688 |
|
|
2007-09-10 Sergey Rybin
|
2689 |
|
|
|
2690 |
|
|
* vms_data.ads: Add qualifier for the new gnatmetric '-lratio' option
|
2691 |
|
|
|
2692 |
|
|
2007-09-10 Sergey Rybin
|
2693 |
|
|
|
2694 |
|
|
* gnat_ugn.texi: Add description of the new '-lratio' option
|
2695 |
|
|
Update 7.3.1 section about availability of the feature.
|
2696 |
|
|
|
2697 |
|
|
2007-09-10 Thomas Quinot
|
2698 |
|
|
|
2699 |
|
|
* exp_smem.ads, exp_smem.adb (Make_Shared_Var_Procs): Return last
|
2700 |
|
|
inserted node.
|
2701 |
|
|
|
2702 |
|
|
2007-09-10 Olivier Hainque
|
2703 |
|
|
|
2704 |
|
|
* Makefile.in: (mips-irix section): Activate build of libgmem.
|
2705 |
|
|
|
2706 |
|
|
2007-09-10 Eric Botcazou
|
2707 |
|
|
|
2708 |
|
|
* a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber
|
2709 |
|
|
x87 registers.
|
2710 |
|
|
|
2711 |
|
|
2007-09-10 Eric Botcazou
|
2712 |
|
|
|
2713 |
|
|
* decl.c (gnat_to_gnu_entity)
|
2714 |
|
|
a debug renaming declaration specially.
|
2715 |
|
|
|
2716 |
|
|
2007-09-08 Eric Botcazou
|
2717 |
|
|
|
2718 |
|
|
* decl.c (gnat_to_gnu_entity)
|
2719 |
|
|
which a constant renaming is treated as a normal object declaration.
|
2720 |
|
|
* trans.c (lvalue_required_p) : New case, extracted from
|
2721 |
|
|
the N_Indexed_Component case.
|
2722 |
|
|
: Fall through to above case.
|
2723 |
|
|
: Return true for all composite types.
|
2724 |
|
|
|
2725 |
|
|
2007-09-08 Eric Botcazou
|
2726 |
|
|
|
2727 |
|
|
* decl.c (make_packable_type): If the new type has been given BLKmode,
|
2728 |
|
|
try again to get an integral mode for it.
|
2729 |
|
|
|
2730 |
|
|
2007-09-07 Eric Botcazou
|
2731 |
|
|
|
2732 |
|
|
Re-apply accidentally reverted change:
|
2733 |
|
|
|
2734 |
|
|
2007-02-07 Andreas Krebbel
|
2735 |
|
|
|
2736 |
|
|
* raise-gcc.c (get_region_description_for, get_call_site_action_for,
|
2737 |
|
|
get_action_description_for): Replace _Unwind_Word with _uleb128_t
|
2738 |
|
|
and _Unwind_SWord with _sleb128_t.
|
2739 |
|
|
|
2740 |
|
|
2007-09-06 Eric Botcazou
|
2741 |
|
|
|
2742 |
|
|
* trans.c (convert_with_check): Update call to real_2expN.
|
2743 |
|
|
|
2744 |
|
|
2007-09-05 Sandra Loosemore
|
2745 |
|
|
|
2746 |
|
|
* trans.c (Compilation_unit_to_gnu): Use set_cfun.
|
2747 |
|
|
* utils.c (end_subprog_body): Likewise.
|
2748 |
|
|
|
2749 |
|
|
2007-09-03 Nick Clifton
|
2750 |
|
|
|
2751 |
|
|
* Make-lang.in: Change copyright header to refer to version 3 of
|
2752 |
|
|
the GNU General Public License and to point readers at the
|
2753 |
|
|
COPYING3 file and the FSF's license web page.
|
2754 |
|
|
* ada-tree.def, nmake.adt, nlists.h, snames.h, utils.c,
|
2755 |
|
|
Makefile.rtl, Makefile.in, config-lang.in, uintp.h, urealp.h,
|
2756 |
|
|
namet.h, decl.c, utils2.c, lang.opt, elists.h, atree.h, types.h,
|
2757 |
|
|
treeprs.adt, lang-specs.h, cuintp.c, stringt.h, gnatbl.c:
|
2758 |
|
|
Likewise.
|
2759 |
|
|
|
2760 |
|
|
2007-08-31 Vincent Celier
|
2761 |
|
|
|
2762 |
|
|
PR ada/4720
|
2763 |
|
|
|
2764 |
|
|
* gnatchop.adb, gnatfind.adb, gnatlink.adb, gnatls.adb,
|
2765 |
|
|
gnatname.adb, gnatxref.adb, gprep.adb, clean.adb gnatbind.adb
|
2766 |
|
|
(Check_Version_And_Help): New procedure in package Switch to process
|
2767 |
|
|
switches --version and --help.
|
2768 |
|
|
Use Check_Version_And_Help in GNAT tools
|
2769 |
|
|
|
2770 |
|
|
* make.adb: Ditto.
|
2771 |
|
|
(Compile_Sources): Make sure that sources that are "excluded" are not
|
2772 |
|
|
compiled.
|
2773 |
|
|
(Gnatmake): Do not issue -aO. to gnatbind and only issue -I- if a
|
2774 |
|
|
project file is used.
|
2775 |
|
|
(Version_Switch): Remove, moved to Switch
|
2776 |
|
|
(Help_Switch): Remove, moved to Switch
|
2777 |
|
|
(Display_Version): Remove, moved to Switch
|
2778 |
|
|
|
2779 |
|
|
* switch.ads, switch.adb (Check_Version_And_Help): New procedure in
|
2780 |
|
|
package Switch to process switches --version and --help.
|
2781 |
|
|
(Display_Version): New procedure
|
2782 |
|
|
|
2783 |
|
|
* gnatvsn.ads, gnatvsn.adb (Copyright_Holder): New function.
|
2784 |
|
|
|
2785 |
|
|
2007-08-31 Javier Miranda
|
2786 |
|
|
|
2787 |
|
|
* a-tags.adb (Internal_Tag): Protect the run-time against wrong
|
2788 |
|
|
internal tags.
|
2789 |
|
|
|
2790 |
|
|
2007-08-31 Hristian Kirtchev
|
2791 |
|
|
|
2792 |
|
|
* checks.adb (In_Declarative_Region_Of_Subprogram_Body): New routine.
|
2793 |
|
|
(Mark_Non_Null): If the node for which we just generated an access check
|
2794 |
|
|
is a reference to an *in* parameter and the reference appears in the
|
2795 |
|
|
declarative part of a subprogram body, mark the node as known non null.
|
2796 |
|
|
|
2797 |
|
|
2007-08-31 Hristian Kirtchev
|
2798 |
|
|
|
2799 |
|
|
* einfo.ads, einfo.adb: New flag Is_Raised (Flag224). Update the
|
2800 |
|
|
structure of E_Exception to reflect the new flag.
|
2801 |
|
|
(Is_Raised, Set_Is_Raised): New inlined routines.
|
2802 |
|
|
Update the usage of available flag to reflect the addition of Is_Raised.
|
2803 |
|
|
(Is_Raised, Set_Is_Raised): Bodies of new routines.
|
2804 |
|
|
(Write_Entity_Flags): Write the status of flag Is_Raised.
|
2805 |
|
|
(Is_Descendent_Of_Address): New entity flag, to simplify handling of
|
2806 |
|
|
spurious ambiguities when integer literals appear in the context of an
|
2807 |
|
|
address type that is a visible integer type.
|
2808 |
|
|
|
2809 |
|
|
* sem_ch11.adb (Analyze_Exception_Handler): Add code to warn on local
|
2810 |
|
|
exceptions never being raised.
|
2811 |
|
|
(Analyze_Raise_Statement): When analyzing an exception, mark it as being
|
2812 |
|
|
explicitly raised.
|
2813 |
|
|
|
2814 |
|
|
2007-08-31 Javier Miranda
|
2815 |
|
|
|
2816 |
|
|
* exp_ch11.adb (Expand_At_End_Handler): Avoid generation of raise
|
2817 |
|
|
statement when compiling under restriction No_Exceptions_Proparation.
|
2818 |
|
|
|
2819 |
|
|
2007-08-31 Ed Schonberg
|
2820 |
|
|
|
2821 |
|
|
* exp_ch3.adb (Build_Record_Init_Proc): If there is a static
|
2822 |
|
|
initialization aggregate for the type, generate itype references for
|
2823 |
|
|
thetypes of its (sub)components, to prevent out-of-scope errors in gigi.
|
2824 |
|
|
|
2825 |
|
|
2007-08-31 Gary Dismukes
|
2826 |
|
|
|
2827 |
|
|
* exp_ch8.adb (Expand_N_Package_Renaming_Declaration): In the case of a
|
2828 |
|
|
library-level package renaming, pass the declaration associated with
|
2829 |
|
|
the renaming's special debug variable to Qualify_Entity_Names to ensure
|
2830 |
|
|
that its encoded name is properly qualified.
|
2831 |
|
|
|
2832 |
|
|
* exp_dbug.adb (Qualify_All_Entity_Names): Check for a variable entity
|
2833 |
|
|
occurring in the list of entities to qualify, and do not attempt to
|
2834 |
|
|
traverse an entity list in that case. Variables associated with
|
2835 |
|
|
` library-level package renamings can now occur in the table.
|
2836 |
|
|
|
2837 |
|
|
* exp_dbug.ads: Revise documentation of the encoding for renaming
|
2838 |
|
|
declarations.
|
2839 |
|
|
|
2840 |
|
|
2007-08-31 Richard Kenner
|
2841 |
|
|
|
2842 |
|
|
* layout.adb (Layout_Type): Use Underlying_Type to determine whether an
|
2843 |
|
|
access type points to an unconstrained array.
|
2844 |
|
|
|
2845 |
|
|
2007-08-31 Hristian Kirtchev
|
2846 |
|
|
|
2847 |
|
|
* restrict.adb, namet.adb, par-util.adb: Remove redundant type
|
2848 |
|
|
conversion.
|
2849 |
|
|
|
2850 |
|
|
* sem_res.adb (Resolve_Qualified_Expression): Add machinery to detect
|
2851 |
|
|
simple redundant qualifications. The check is performed whenever the
|
2852 |
|
|
expression is a non-overloaded identifier.
|
2853 |
|
|
(Resolve_Type_Conversion): Enchance the redundant type conversion check
|
2854 |
|
|
to include loop parameters.
|
2855 |
|
|
(Valid_Conversion): Avoid generation of spurious error message.
|
2856 |
|
|
|
2857 |
|
|
2007-08-31 Bob Duff
|
2858 |
|
|
|
2859 |
|
|
* par-ch4.adb (P_Simple_Expression): Fold long sequences of
|
2860 |
|
|
concatenations of string literals into a single literal, in order to
|
2861 |
|
|
avoid very deep recursion in the front end, which was causing stack
|
2862 |
|
|
overflow.
|
2863 |
|
|
|
2864 |
|
|
* sem_eval.adb (Eval_Concatenation): If the left operand is the empty
|
2865 |
|
|
string, and the right operand is a string literal (the case of "" &
|
2866 |
|
|
"..."), optimize by avoiding copying the right operand -- just use the
|
2867 |
|
|
value of the right operand directly.
|
2868 |
|
|
|
2869 |
|
|
* stringt.adb (Store_String_Chars): Optimize by growing the
|
2870 |
|
|
String_Chars table all at once, rather than appending characters one by
|
2871 |
|
|
one.
|
2872 |
|
|
(Write_String_Table_Entry): If the string to be printed is very long,
|
2873 |
|
|
just print the first few characters, followed by the length. Otherwise,
|
2874 |
|
|
doing "pn(n)" in the debugger can take an extremely long time.
|
2875 |
|
|
|
2876 |
|
|
* sem_prag.adb (Process_Interface_Name): Replace loop doing
|
2877 |
|
|
Store_String_Char with Store_String_Chars.
|
2878 |
|
|
|
2879 |
|
|
2007-08-31 Vincent Celier
|
2880 |
|
|
|
2881 |
|
|
* prj-attr.adb: Add new attribute Excluded_Source_Files
|
2882 |
|
|
|
2883 |
|
|
* prj-nmsc.adb: Use attribute Excluded_Source_Files before
|
2884 |
|
|
Locally_Removed_Files.
|
2885 |
|
|
|
2886 |
|
|
* snames.ads, snames.adb: New standard name Excluded_Source_Files
|
2887 |
|
|
|
2888 |
|
|
2007-08-31 Ed Schonberg
|
2889 |
|
|
|
2890 |
|
|
* sem_ch10.adb (Analyze_Subunit_Context): When analyzing context
|
2891 |
|
|
clauses of subunits, ignore limited_with_clauses that are illegal and
|
2892 |
|
|
have not been fully analyzed.
|
2893 |
|
|
|
2894 |
|
|
2007-08-31 Ed Schonberg
|
2895 |
|
|
|
2896 |
|
|
* sem_ch3.adb: The predicate Is_Descendent_Of_Address is now an entity
|
2897 |
|
|
flag, for effiency. It is called when analyzing arithmetic operators
|
2898 |
|
|
and also for actuals in calls that are universal_integers. The flag is
|
2899 |
|
|
set for the predefined type address, and for any type or subtype
|
2900 |
|
|
derived from it.
|
2901 |
|
|
|
2902 |
|
|
* sem_ch4.adb (Analyze_One_Call): Reject an actual that is a
|
2903 |
|
|
Universal_Integer, when the formal is a descendent of address and the
|
2904 |
|
|
call appears in user code.
|
2905 |
|
|
(Analyze_Selected_Component): if the prefix is a private extension, the
|
2906 |
|
|
tag component is visible.
|
2907 |
|
|
|
2908 |
|
|
* sem_util.ads, sem_util.adb: Remove Is_Descendent_Of_Address, now an
|
2909 |
|
|
entity flag.
|
2910 |
|
|
|
2911 |
|
|
2007-08-31 Robert Dewar
|
2912 |
|
|
|
2913 |
|
|
* s-fileio.adb (Open): Normalize file name to lower case in non-case
|
2914 |
|
|
sensitive file name systems to avoid unexpected mismatch in Vista.
|
2915 |
|
|
|
2916 |
|
|
2007-08-31 Vincent Celier
|
2917 |
|
|
|
2918 |
|
|
* tempdir.adb: On VMS, take into account GNUTMPDIR before TMPDIR
|
2919 |
|
|
|
2920 |
|
|
2007-08-31 Vincent Celier
|
2921 |
|
|
|
2922 |
|
|
* symbols-vms.adb (Initialize): Read symbol files with continuation
|
2923 |
|
|
lines
|
2924 |
|
|
(Finalize): If symbol is long, split the line
|
2925 |
|
|
|
2926 |
|
|
2007-08-31 Vincent Celier
|
2927 |
|
|
|
2928 |
|
|
* fmap.ads: Minor comment updates
|
2929 |
|
|
|
2930 |
|
|
2007-08-31 GNAT Script
|
2931 |
|
|
|
2932 |
|
|
* Make-lang.in: Makefile automatically updated
|
2933 |
|
|
|
2934 |
|
|
2007-08-31 Bob Duff
|
2935 |
|
|
|
2936 |
|
|
* sinfo.ads: Minor comment fix.
|
2937 |
|
|
|
2938 |
|
|
2007-08-31 Thomas Quinot
|
2939 |
|
|
|
2940 |
|
|
* stand.ads: (Standard_Debug_Renaming_Type): Make comment consistent
|
2941 |
|
|
with implementation.
|
2942 |
|
|
Documentation cleanup only.
|
2943 |
|
|
|
2944 |
|
|
2007-08-31 Sergey Rybin
|
2945 |
|
|
|
2946 |
|
|
* vms_data.ads: Add new qualifier /STMT_NAME_ON_NEW_LINE for the new
|
2947 |
|
|
gnatpp '--separate-stmt-name' option.
|
2948 |
|
|
Add new qualifier /USE_ON_NEW_LIN for the new gnatpp '--use-on-new-line'
|
2949 |
|
|
option.
|
2950 |
|
|
|
2951 |
|
|
* gnat_ugn.texi: Add description for the new gnatpp
|
2952 |
|
|
'--separate-stmt-name' and '--use-on-new-line' options.
|
2953 |
|
|
|
2954 |
|
|
2007-08-31 Ben Elliston
|
2955 |
|
|
|
2956 |
|
|
* Makefile.in (LIBGNAT_TARGET_PAIRS): Use system-linux-ppc64.ads
|
2957 |
|
|
when compiling for powerpc64-*-linux.
|
2958 |
|
|
* system-linux-ppc64.ads: New file.
|
2959 |
|
|
|
2960 |
|
|
2007-08-22 Krister Walfridsson
|
2961 |
|
|
|
2962 |
|
|
* env.c ( __gnat_clearenv): Use the __gnat_unsetenv mechanism for
|
2963 |
|
|
NetBSD.
|
2964 |
|
|
|
2965 |
|
|
2007-08-16 Kaveh R. Ghazi
|
2966 |
|
|
|
2967 |
|
|
* misc.c (gnat_type_max_size): Constify.
|
2968 |
|
|
|
2969 |
|
|
2007-08-16 Gary Dismukes
|
2970 |
|
|
|
2971 |
|
|
* cstand.adb (Create_Standard): Create an entity for a zero-sized type
|
2972 |
|
|
associated with Standard_Debug_Renaming_Type, to be used as the type of
|
2973 |
|
|
the special variables whose names provide debugger encodings for
|
2974 |
|
|
renaming declarations.
|
2975 |
|
|
|
2976 |
|
|
* einfo.ads, einfo.adb (Debug_Renaming_Link): Change to return Node25.
|
2977 |
|
|
(Set_Debug_Renaming_Link): Change to set Node25.
|
2978 |
|
|
(Write_Field13_Name): Remove case for E_Enumeration_Literal.
|
2979 |
|
|
(Write_Field25_Name): Add case for E_Variable to output
|
2980 |
|
|
"Debug_Renaming_Link".
|
2981 |
|
|
(Write_Field23_Name): Correct the output string for "Limited_View".
|
2982 |
|
|
|
2983 |
|
|
* exp_dbug.adb: Add with and use of Tbuild.
|
2984 |
|
|
(Debug_Renaming_Declaration): Replace creation of an enumeration type
|
2985 |
|
|
and literal with creation of a variable of type
|
2986 |
|
|
Standard_Debug_Renaming_Type whose name encodes both the renamed object
|
2987 |
|
|
and the entity of the renaming declaration.
|
2988 |
|
|
(Qualify_Entity_Name): Add the delayed qualification of the entity name
|
2989 |
|
|
part of the name of a variable that has a Debug_Renaming_Link.
|
2990 |
|
|
|
2991 |
|
|
* stand.ads (Standard_Debug_Renaming_Type): New Entity_Id denoting a
|
2992 |
|
|
special type to be associated with variables that provide debugger
|
2993 |
|
|
encodings for renaming declarations.
|
2994 |
|
|
|
2995 |
|
|
2007-08-16 Gary Dismukes
|
2996 |
|
|
Ed Schonberg
|
2997 |
|
|
Javier Miranda
|
2998 |
|
|
|
2999 |
|
|
* exp_aggr.adb (Build_Record_Aggr_Code): Extend the test for an
|
3000 |
|
|
ancestor part given by an aggregate to test for an unchecked conversion,
|
3001 |
|
|
since this can occur in some cases when the ancestor part is a function
|
3002 |
|
|
call, and we don't want to fall into the recursive call to this
|
3003 |
|
|
procedure in that case.
|
3004 |
|
|
|
3005 |
|
|
* exp_ch3.adb (Stream_Operation_OK): Revise tests for availability of
|
3006 |
|
|
stream attributes on limited types to account for user-specified
|
3007 |
|
|
attributes as well as whether Input (resp. Output) becomes available
|
3008 |
|
|
due to Read (resp. Write) being available for the type. Change Boolean
|
3009 |
|
|
variable to the more accurate name
|
3010 |
|
|
Has_Predefined_Or_Specified_Stream_Attribute. Change convoluted
|
3011 |
|
|
double-"not" predicate at beginning of return statement to more
|
3012 |
|
|
understandable form.
|
3013 |
|
|
|
3014 |
|
|
* exp_ch5.adb (Expand_N_Extended_Return_Statement): If the extended
|
3015 |
|
|
return has an associated N_Handled_Sequence_Of_Statements, then wrap it
|
3016 |
|
|
in a block statement and use that as the first statement of the
|
3017 |
|
|
expanded return rather than incorrectly using the handled sequence as
|
3018 |
|
|
the first statement.
|
3019 |
|
|
|
3020 |
|
|
* exp_ch6.adb (Expand_N_Subprogram_Declaration): If this is a protected
|
3021 |
|
|
operation, generate an explicit freeze node for it rather than
|
3022 |
|
|
generating extra formals, to ensure that gigi has the proper order of
|
3023 |
|
|
elaboration for anonymous subtypes in the signature of the subprograms.
|
3024 |
|
|
(Build_In_Place_Formal): Move assertion to beginning of loop.
|
3025 |
|
|
(Is_Build_In_Place_Function_Call): Allow for an unchecked conversion
|
3026 |
|
|
applied to a function call (occurs for some cases of 'Input).
|
3027 |
|
|
(Make_Build_In_Place_Call_In_*): Allow for an unchecked conversion
|
3028 |
|
|
applied to a function call (occurs for some cases of 'Input).
|
3029 |
|
|
|
3030 |
|
|
* exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For Ada
|
3031 |
|
|
2005, generate an extended return statement enclosing the result object
|
3032 |
|
|
and 'Read call.
|
3033 |
|
|
|
3034 |
|
|
* freeze.adb (Freeze_Record_Type): Extend the current management of
|
3035 |
|
|
components that are access type with an allocator as default value: add
|
3036 |
|
|
missing support to the use of qualified expressions of the
|
3037 |
|
|
allocator (which also cause freezing of the designated type!)
|
3038 |
|
|
(Freeze_Entity): Call Freeze_Subprogram in the case of a predefined
|
3039 |
|
|
dispatching operation, since extra formals may be needed by calls to
|
3040 |
|
|
build-in-place functions (such as stream 'Input).
|
3041 |
|
|
|
3042 |
|
|
* sem_ch6.adb (Create_Extra_Formals): Skip creation of the extra
|
3043 |
|
|
formals for 'Constrained and accessibility level in the case of a
|
3044 |
|
|
predefined dispatching operation.
|
3045 |
|
|
|
3046 |
|
|
* exp_util.adb (Insert_Actions): A protected body is a valid insertion
|
3047 |
|
|
point, no need to find the parent node.
|
3048 |
|
|
|
3049 |
|
|
2007-08-16 Javier Miranda
|
3050 |
|
|
|
3051 |
|
|
* exp_attr.adb (Attribute_Priority): Add missing support for entries
|
3052 |
|
|
and entry barriers.
|
3053 |
|
|
|
3054 |
|
|
2007-08-16 Javier Miranda
|
3055 |
|
|
|
3056 |
|
|
* exp_ch9.adb (Build_Protected_Entry): Undo previous change because it
|
3057 |
|
|
is not really required and can introduce regression with the debugger.
|
3058 |
|
|
The original problem is fixed with the patch written for checks.adb.
|
3059 |
|
|
|
3060 |
|
|
2007-08-16 Thomas Quinot
|
3061 |
|
|
|
3062 |
|
|
* g-dyntab.adb, g-table.adb, table.adb: (Set_Item): Suppress
|
3063 |
|
|
Range_Check on Allocated_Table.
|
3064 |
|
|
|
3065 |
|
|
2007-08-16 Vincent Celier
|
3066 |
|
|
|
3067 |
|
|
* make.adb (Collect_Arguments): Call Test_If_Relative_Path with
|
3068 |
|
|
Including_Non_Switch set to False.
|
3069 |
|
|
(Gnatmake): For the compiler, call Test_If_Relative_Path with
|
3070 |
|
|
Including_Non_Switch set to False.
|
3071 |
|
|
|
3072 |
|
|
* makeutl.adb, makeutl.ads (Test_If_Relative_Path): New Boolean
|
3073 |
|
|
parameter Including_Non_Switch, defaulted to True. When
|
3074 |
|
|
Including_Non_Switch is False, options that are not switches and
|
3075 |
|
|
appear as relative path are not converted to absolute paths.
|
3076 |
|
|
|
3077 |
|
|
2007-08-16 Nicolas Roche
|
3078 |
|
|
|
3079 |
|
|
* Makefile.in (gnatlib): Propagate FORCE_DEBUG_ADAFLAGS value to sub
|
3080 |
|
|
makefiles
|
3081 |
|
|
|
3082 |
|
|
* Make-lang.in: Update dependencies
|
3083 |
|
|
|
3084 |
|
|
2007-08-16 Hristian Kirtchev
|
3085 |
|
|
|
3086 |
|
|
* sem_ch10.adb (Has_With_Clause): If the name of the with clause
|
3087 |
|
|
currently inspected is a selected component, retrieve the entity of
|
3088 |
|
|
its selector.
|
3089 |
|
|
(Install_Limited_Withed_Unit): Call Has_Limited_With_Clause starting
|
3090 |
|
|
from the immediate ancestor of Main_Unit_Entity.
|
3091 |
|
|
(Install_Limited_Withed_Unit): Do not install the limited view of
|
3092 |
|
|
package P if P is reachable through an ancestor chain from package C
|
3093 |
|
|
and C also has a with clause for P in its body.
|
3094 |
|
|
(Has_Limited_With_Clause): New routine.
|
3095 |
|
|
(Has_With_Clause): New routine.
|
3096 |
|
|
|
3097 |
|
|
2007-08-16 Ed Schonberg
|
3098 |
|
|
|
3099 |
|
|
* sem_ch12.adb (Copy_Generic_Node): A reference to a child unit of the
|
3100 |
|
|
generic for an enclosing instance is a global reference, even though
|
3101 |
|
|
its scope is the enclosing instance.
|
3102 |
|
|
|
3103 |
|
|
2007-08-16 Gary Dismukes
|
3104 |
|
|
Javier Miranda
|
3105 |
|
|
|
3106 |
|
|
* sem_ch3.adb (OK_For_Limited_Init_In_05): Allow calls to 'Input to
|
3107 |
|
|
initialize a limited object.
|
3108 |
|
|
(Build_Derived_Record_Type): Add missing check of rules ARM 3.9.4
|
3109 |
|
|
13/2 and 14/2.
|
3110 |
|
|
Make sure Has_Complex_Representation is inherited by derived type.
|
3111 |
|
|
|
3112 |
|
|
2007-08-16 Robert Dewar
|
3113 |
|
|
|
3114 |
|
|
* sem_ch5.adb (Analyze_Assignment): Make sure we still note update in
|
3115 |
|
|
exception case
|
3116 |
|
|
|
3117 |
|
|
2007-08-16 Ed Schonberg
|
3118 |
|
|
|
3119 |
|
|
* sem_disp.adb (Check_Dispatching_Operation): If the operation
|
3120 |
|
|
implements an operation inherited from a progenitor interface, verify
|
3121 |
|
|
that they are subtype-conformant.
|
3122 |
|
|
|
3123 |
|
|
2007-08-16 Hristian Kirtchev
|
3124 |
|
|
Bob Duff
|
3125 |
|
|
Nicolas Setton
|
3126 |
|
|
|
3127 |
|
|
* sem_res.adb (Comes_From_Predefined_Lib_Unit): New.
|
3128 |
|
|
(Resolve): Alphabetize local variables. Add new variable From_Lib. When
|
3129 |
|
|
the statement which is being resolved comes from a predefined library
|
3130 |
|
|
unit, all non-predefined library interpretations are skipped.
|
3131 |
|
|
(Resolve_Op_Concat): If string concatenation was folded in the parser,
|
3132 |
|
|
but the "&" is user defined, give an error, because the folding would
|
3133 |
|
|
be wrong.
|
3134 |
|
|
|
3135 |
|
|
* sinfo.ads, sinfo.adb (Is_Folded_In_Parser): New flag to indicate that
|
3136 |
|
|
the parser has folded a long sequence of concatenations of string
|
3137 |
|
|
literals.
|
3138 |
|
|
|
3139 |
|
|
* trans.c (Handled_Sequence_Of_Statements_to_gnu): Mark "JMPBUF_SAVE"
|
3140 |
|
|
and "JMP_BUF" variables as artificial.
|
3141 |
|
|
(N_String_Literal): Do not use alloca for very long string literals. Use
|
3142 |
|
|
xmalloc/free instead. Otherwise the stack might overflow.
|
3143 |
|
|
|
3144 |
|
|
* utils.c (init_gigi_decls): Mark "JMPBUF_T" type as created by the
|
3145 |
|
|
compiler.
|
3146 |
|
|
|
3147 |
|
|
2007-08-16 Vincent Celier
|
3148 |
|
|
|
3149 |
|
|
* vms_conv.adb (Process_Argument): Ensure that project related options
|
3150 |
|
|
are not put in the -cargs section when using GNAT COMPILE.
|
3151 |
|
|
|
3152 |
|
|
2007-08-16 Robert Dewar
|
3153 |
|
|
|
3154 |
|
|
* gnat_ugn.texi: Add note on preprocessing (output file not written)
|
3155 |
|
|
|
3156 |
|
|
2007-08-16 Thomas Quinot
|
3157 |
|
|
|
3158 |
|
|
* a-tags.adb: Minor reformatting.
|
3159 |
|
|
|
3160 |
|
|
2007-08-16 Bob Duff
|
3161 |
|
|
|
3162 |
|
|
* sem_type.ads, sem_ch4.adb: Minor reformatting.
|
3163 |
|
|
|
3164 |
|
|
2007-08-14 Thomas Quinot
|
3165 |
|
|
|
3166 |
|
|
* g-soccon-interix.ads, a-excpol-interix.adb, a-intnam-interix.ads,
|
3167 |
|
|
s-osinte-interix.ads, system-interix.ads: Removed.
|
3168 |
|
|
|
3169 |
|
|
2007-08-14 Hristian Kirtchev
|
3170 |
|
|
|
3171 |
|
|
* a-calend-vms.adb, a-calend.adb ("+", "-", Add, Subtract): Remove
|
3172 |
|
|
calls to Check_Within_Time_Bounds.
|
3173 |
|
|
("+", "-", Add, Subtract): Remove calls to Check_Within_Time_Bounds.
|
3174 |
|
|
(Difference): Account for possible rounding of the resulting difference
|
3175 |
|
|
|
3176 |
|
|
2007-08-14 Robert Dewar
|
3177 |
|
|
|
3178 |
|
|
* uintp.adb, a-ztedit.adb, s-wchcon.adb, xnmake.adb, s-wchcon.adb,
|
3179 |
|
|
par-ch5.adb, par-ch10.adb, get_targ.adb, a-wtedit.adb, a-teioed.adb,
|
3180 |
|
|
s-osinte-solaris.adb, s-osinte-solaris.ads,
|
3181 |
|
|
s-osinte-freebsd.ads, s-osinte-freebsd.adb: Minor reformatting.
|
3182 |
|
|
|
3183 |
|
|
* styleg.adb, styleg.ads, stylesw.adb, stylesw.ads: implement style
|
3184 |
|
|
switch -gnatyS. Enable -gnatyS in GNAT style check mode
|
3185 |
|
|
|
3186 |
|
|
2007-08-14 Robert Dewar
|
3187 |
|
|
Ed Schonberg
|
3188 |
|
|
|
3189 |
|
|
* inline.adb, types.ads, inline.ads, frontend.adb, alloc.ads:
|
3190 |
|
|
Suppress unmodified in-out parameter warning in some cases
|
3191 |
|
|
This patch is a also fairly significant change to the way suppressible
|
3192 |
|
|
checks are handled.
|
3193 |
|
|
|
3194 |
|
|
* checks.ads, checks.adb (Install_Null_Excluding_Check): No check
|
3195 |
|
|
needed for access to concurrent record types generated by the expander.
|
3196 |
|
|
(Generate_Range_Check): When generating a temporary to capture the
|
3197 |
|
|
value of a conversion that requires a range check, set the type of the
|
3198 |
|
|
temporary before rewriting the node, so that the type is always
|
3199 |
|
|
properly placed for back-end use.
|
3200 |
|
|
(Apply_Float_Conversion_Check): Handle case where the conversion is
|
3201 |
|
|
truncating.
|
3202 |
|
|
(Get_Discriminal): Code reformatting. Climb the scope stack looking
|
3203 |
|
|
for a protected type in order to examine its discriminants.
|
3204 |
|
|
|
3205 |
|
|
2007-08-14 Robert Dewar
|
3206 |
|
|
Gary Dismukes
|
3207 |
|
|
Ed Schonberg
|
3208 |
|
|
Thomas Quinot
|
3209 |
|
|
|
3210 |
|
|
* a-stzsup.adb, nlists.adb, lib-util.adb, treepr.adb,
|
3211 |
|
|
a-stwisu.adb, a-strsup.adb: Fix warnings for range
|
3212 |
|
|
tests optimized out.
|
3213 |
|
|
|
3214 |
|
|
* exp_ch4.adb (Expand_N_In): Add warnings for range tests optimized out.
|
3215 |
|
|
(Get_Allocator_Final_List): For the case of an anonymous access type
|
3216 |
|
|
that has a specified Associated_Final_Chain, do not go up to the
|
3217 |
|
|
enclosing scope.
|
3218 |
|
|
(Expand_N_Type_Conversion): Test for the case of renamings of access
|
3219 |
|
|
parameters when deciding whether to apply a run-time accessibility
|
3220 |
|
|
check.
|
3221 |
|
|
(Convert_Aggr_In_Allocator): Use Insert_Actions to place expanded
|
3222 |
|
|
aggregate code before allocator, and ahead of declaration for
|
3223 |
|
|
temporary, to prevent access before elaboration when the allocator is
|
3224 |
|
|
an actual for an access parameter.
|
3225 |
|
|
(Expand_N_Type_Conversion): On an access type conversion involving an
|
3226 |
|
|
access parameter, do not apply an accessibility check when the
|
3227 |
|
|
operand's original node was an attribute other than 'Access. We now
|
3228 |
|
|
create access conversions for the expansion of 'Unchecked_Access and
|
3229 |
|
|
'Unrestricted_Access in certain cases and clearly accessibility should
|
3230 |
|
|
not be checked for those.
|
3231 |
|
|
|
3232 |
|
|
* exp_ch6.ads, exp_ch6.adb (Add_Call_By_Copy_Code): For an actual that
|
3233 |
|
|
includes a type conversion of a packed component that has been expanded,
|
3234 |
|
|
recover the original expression for the object, and use this expression
|
3235 |
|
|
in the post-call assignment statement, so that the assignment is made
|
3236 |
|
|
to the object and not to a back-end temporary.
|
3237 |
|
|
(Freeze_Subprogram): In case of primitives of tagged types not defined
|
3238 |
|
|
at the library level force generation of code to register the primitive
|
3239 |
|
|
in the dispatch table. In addition some code reorganization has been
|
3240 |
|
|
done to leave the implementation clear.
|
3241 |
|
|
(Expand_Call): When expanding an inherited implicit conversion,
|
3242 |
|
|
preserve the type of the inherited function after the intrinsic
|
3243 |
|
|
operation has been expanded.
|
3244 |
|
|
|
3245 |
|
|
* exp_ch2.ads, exp_ch2.adb
|
3246 |
|
|
(Expand_Entry_Parameter.In_Assignment_Context): An implicit dereference
|
3247 |
|
|
of an entry formal appearing in an assignment statement does not assign
|
3248 |
|
|
to the formal.
|
3249 |
|
|
(Expand_Current_Value): Instead of calling a routine to determine
|
3250 |
|
|
whether the prefix of an attribute reference should be optimized or
|
3251 |
|
|
not, prevent the optimization of such prefixes all together.
|
3252 |
|
|
|
3253 |
|
|
* lib-xref.adb (Generate_Reference.Is_On_LHS): An indexed or selected
|
3254 |
|
|
component whose prefix is known to be of an access type is an implicit
|
3255 |
|
|
dereference and does not assign to the prefix.
|
3256 |
|
|
|
3257 |
|
|
2007-08-14 Ed Schonberg
|
3258 |
|
|
Robert Dewar
|
3259 |
|
|
|
3260 |
|
|
* atree.ads, atree.adb (New_Copy_Tree): If hash table is being used and
|
3261 |
|
|
itype is visited, make an entry into table to link associated node and
|
3262 |
|
|
new itype.
|
3263 |
|
|
Add comments and correct harmless error in Build_NCT_Hash_Tables
|
3264 |
|
|
(Array_Aggr_Subtype): Associate each itype created for an index type to
|
3265 |
|
|
the corresponding range construct, and not to the aggregate itself. to
|
3266 |
|
|
maintain a one-to-one correspondence between itype and its associated
|
3267 |
|
|
node, to prevent errors when complex expression is copied.
|
3268 |
|
|
Fix mishandling of multiple levels of parens
|
3269 |
|
|
|
3270 |
|
|
* sem_aggr.adb: Create a limited view of an incomplete type, to make
|
3271 |
|
|
treatment of limited views uniform for all visible declarations in a
|
3272 |
|
|
limited_withed package.
|
3273 |
|
|
(New_Copy_Tree): If hash table is being used and itype is visited,
|
3274 |
|
|
make an entry into table to link associated node and new itype.
|
3275 |
|
|
(Resolve_Record_Aggregate): Do not add an others box association for a
|
3276 |
|
|
discriminated record component that has only discriminants, when there
|
3277 |
|
|
is a box association for the component itself.
|
3278 |
|
|
|
3279 |
|
|
* par-ch4.adb: Fix mishandling of multiple levels of parens
|
3280 |
|
|
|
3281 |
|
|
2007-08-14 Robert Dewar
|
3282 |
|
|
|
3283 |
|
|
* comperr.adb: Fix problem with suppressing warning messages from gigi
|
3284 |
|
|
|
3285 |
|
|
* erroutc.ads, erroutc.adb, errout.ads,
|
3286 |
|
|
errout.adb (Write_Eol): Remove trailing spaces before writing the line
|
3287 |
|
|
(Write_Eol_Keep_Blanks): New procedure to write a line, including
|
3288 |
|
|
possible trailing spaces.
|
3289 |
|
|
(Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
|
3290 |
|
|
Fix problem with suppressing warning messages from back end
|
3291 |
|
|
Improve handling of deleted warnings
|
3292 |
|
|
|
3293 |
|
|
* gnat1drv.adb:
|
3294 |
|
|
Fix problem with suppressing warning messages from back end
|
3295 |
|
|
Handle setting of Static_Dispatch_Tables flag.
|
3296 |
|
|
|
3297 |
|
|
* prepcomp.adb:
|
3298 |
|
|
Fix problem with suppressing warning messages from back end
|
3299 |
|
|
|
3300 |
|
|
* exp_intr.adb: Improve handling of deleted warnings
|
3301 |
|
|
|
3302 |
|
|
2007-08-14 Robert Dewar
|
3303 |
|
|
|
3304 |
|
|
* debug.adb: Improve -gnatdI to cover all cases of serialization
|
3305 |
|
|
Add documentation of dZ, d.t
|
3306 |
|
|
|
3307 |
|
|
* sprint.ads, sprint.adb: Improve -gnatdI to cover all cases of
|
3308 |
|
|
serialization.
|
3309 |
|
|
(Sprint_Node_Actual): Generate new output associated with implicit
|
3310 |
|
|
importation and implicit exportation of object declarations.
|
3311 |
|
|
|
3312 |
|
|
2007-08-14 Ed Schonberg
|
3313 |
|
|
Robert Dewar
|
3314 |
|
|
Javier Miranda
|
3315 |
|
|
Gary Dismukes
|
3316 |
|
|
|
3317 |
|
|
* einfo.ads, einfo.adb: Create a limited view of an incomplete type,
|
3318 |
|
|
to make treatment of limited views uniform for all visible declarations
|
3319 |
|
|
in a limited_withed package.
|
3320 |
|
|
Improve warnings for in out parameters
|
3321 |
|
|
(Set_Related_Interaface/Related_Interface): Allow the use of this
|
3322 |
|
|
attribute with constants.
|
3323 |
|
|
(Write_Field26_Name): Handle attribute Related_Interface in constants.
|
3324 |
|
|
Warn on duplicate pragma Preelaborable_Initialialization
|
3325 |
|
|
|
3326 |
|
|
* sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Force the
|
3327 |
|
|
generation of a freezing node to ensure proper management of null
|
3328 |
|
|
excluding access types in the backend.
|
3329 |
|
|
(Create_Extra_Formals): Test base type of the formal when checking for
|
3330 |
|
|
the need to add an extra accessibility-level formal. Pass the entity E
|
3331 |
|
|
on all calls to Add_Extra_Formal (rather than Scope (Formal) as was
|
3332 |
|
|
originally being done in a couple of cases), to ensure that the
|
3333 |
|
|
Extra_Formals list gets set on the entity E when the first entity is
|
3334 |
|
|
added.
|
3335 |
|
|
(Conforming_Types): Add missing calls to Base_Type to the code that
|
3336 |
|
|
handles anonymous access types. This is required to handle the
|
3337 |
|
|
general case because Process_Formals builds internal subtype entities
|
3338 |
|
|
to handle null-excluding access types.
|
3339 |
|
|
(Make_Controlling_Function_Wrappers): Create wrappers for constructor
|
3340 |
|
|
functions that need it, even when not marked Requires_Overriding.
|
3341 |
|
|
Improve warnings for in out parameters
|
3342 |
|
|
(Analyze_Function_Return): Warn for disallowed null return
|
3343 |
|
|
Warn on return from procedure with unset out parameter
|
3344 |
|
|
Ensure consistent use of # in error messages
|
3345 |
|
|
(Check_Overriding_Indicator): Add in parameter Is_Primitive.
|
3346 |
|
|
(Analyze_Function_Return): Move call to Apply_Constraint_Check before
|
3347 |
|
|
the implicit conversion of the expression done for anonymous access
|
3348 |
|
|
types. This is required to generate the code of the null excluding
|
3349 |
|
|
check (if required).
|
3350 |
|
|
|
3351 |
|
|
* sem_warn.ads, sem_warn.adb (Check_References.Publicly_Referenceable):
|
3352 |
|
|
A formal parameter is never publicly referenceable outside of its body.
|
3353 |
|
|
(Check_References): For an unreferenced formal parameter in an accept
|
3354 |
|
|
statement, use the same warning circuitry as for subprogram formal
|
3355 |
|
|
parameters.
|
3356 |
|
|
(Warn_On_Unreferenced_Entity): New subprogram, taken from
|
3357 |
|
|
Output_Unreferenced_Messages, containing the part of that routine that
|
3358 |
|
|
is now reused for entry formals as described above.
|
3359 |
|
|
(Goto_Spec_Entity): New function
|
3360 |
|
|
(Check_References): Do not give IN OUT warning for dispatching operation
|
3361 |
|
|
Improve warnings for in out parameters
|
3362 |
|
|
(Test_Ref): Check that the entity is not undefinite before calling
|
3363 |
|
|
Scope_Within, in order to avoid infinite loops.
|
3364 |
|
|
Warn on return from procedure with unset out parameter
|
3365 |
|
|
Improved warnings for unused variables
|
3366 |
|
|
|
3367 |
|
|
2007-08-14 Robert Dewar
|
3368 |
|
|
Javier Miranda
|
3369 |
|
|
Gary Dismukes
|
3370 |
|
|
|
3371 |
|
|
* exp_attr.adb (Expand_N_Attribute_Reference): Handle case of child unit
|
3372 |
|
|
(Expand_N_Attribute_Reference): Further unify the handling of the
|
3373 |
|
|
three forms of access attributes, using common code now for all three
|
3374 |
|
|
cases. Add a test for the case of applying an access attribute to
|
3375 |
|
|
an explicit dereference when the context is an access-to-interface
|
3376 |
|
|
type. In that case we need to apply the conversion to the prefix
|
3377 |
|
|
of the explicit dereference rather than the prefix of the attribute.
|
3378 |
|
|
(Attribute_Version, UET_Address): Set entity as internal to ensure
|
3379 |
|
|
proper dg output of implicit importation.
|
3380 |
|
|
(Expand_Access_To_Type): Removed.
|
3381 |
|
|
(Expand_N_Attribute_Reference): Merge the code from the three cases
|
3382 |
|
|
of access attributes, since the processing is largely identical for
|
3383 |
|
|
these cases. The substantive fix here is to process the case of a
|
3384 |
|
|
type name prefix (current instance case) before handling the case
|
3385 |
|
|
of interface prefixes.
|
3386 |
|
|
|
3387 |
|
|
2007-08-14 Thomas Quinot
|
3388 |
|
|
Ed Schonberg
|
3389 |
|
|
Javier Miranda
|
3390 |
|
|
Robert Dewar
|
3391 |
|
|
|
3392 |
|
|
* exp_ch3.ads, exp_ch3.adb (Add_Final_Chain): New subprogram.
|
3393 |
|
|
(Freeze_Array_Type, Freeze_Record_Type): For the case of a component
|
3394 |
|
|
type that is an anonymous access to controlled object, establish
|
3395 |
|
|
an associated finalization chain to avoid corrupting the global
|
3396 |
|
|
finalization list when a dynamically allocated object designated
|
3397 |
|
|
by such a component is deallocated.
|
3398 |
|
|
(Make_Controlling_Function_Wrappers): Create wrappers for constructor
|
3399 |
|
|
functions that need it, even when not marked Requires_Overriding.
|
3400 |
|
|
(Initialize_Tag): Replace call to has_discriminants by call to
|
3401 |
|
|
Is_Variable_Size_Record in the circuitry that handles the
|
3402 |
|
|
initialization of secondary tags.
|
3403 |
|
|
(Is_Variable_Size_Record): New implementation.
|
3404 |
|
|
(Expand_N_Object_Declaration): Suppress call to init proc if there is a
|
3405 |
|
|
Suppress_Initialization pragma for a derived type.
|
3406 |
|
|
(Is_Variable_Size_Record): New subprogram.
|
3407 |
|
|
(Build_Offset_To_Top_Functions): New implementation that simplifies the
|
3408 |
|
|
initial version of this routine and also fixes problems causing
|
3409 |
|
|
incomplete initialization of the table of interfaces.
|
3410 |
|
|
(Build_Init_Procedure): Improve the generation of code to initialize the
|
3411 |
|
|
the tag components of secondary dispatch tables.
|
3412 |
|
|
(Init_Secondary_Tags): New implementation that simplifies the previous
|
3413 |
|
|
version of this routine.
|
3414 |
|
|
(Make_DT): Add parameter to indicate when type has been frozen by an
|
3415 |
|
|
object declaration, for diagnostic purposes.
|
3416 |
|
|
(Check_Premature_Freezing): New subsidiary procedure of Make_DT, to
|
3417 |
|
|
diagnose attemps to freeze a subprogram when some untagged type of its
|
3418 |
|
|
profile is a private type whose full view has not been analyzed yet.
|
3419 |
|
|
(Freeze_Array_Type): Generate init proc for packed array if either
|
3420 |
|
|
Initialize or Normalize_Scalars is set.
|
3421 |
|
|
(Make_Controlling_Function_Wrappers, Make_Null_Procedure_Specs): when
|
3422 |
|
|
constructing the new profile, copy the null_exclusion indicator for each
|
3423 |
|
|
parameter, to ensure full conformance of the new body with the spec.
|
3424 |
|
|
|
3425 |
|
|
* sem_type.ads, sem_type.adb (Make_Controlling_Function_Wrappers):
|
3426 |
|
|
Create wrappers for constructor functions that need it, even when not
|
3427 |
|
|
marked Requires_Overriding.
|
3428 |
|
|
(Covers): Handle properly designated types of anonymous access types,
|
3429 |
|
|
whose non-limited views are themselves incomplete types.
|
3430 |
|
|
(Add_Entry): Use an entity to store the abstract operation which hides
|
3431 |
|
|
an interpretation.
|
3432 |
|
|
(Binary_Op_May_Be_Hidden): Rename to Binary_Op_Interp_Has_Abstract_Op.
|
3433 |
|
|
(Collect_Interps): Use Empty as an actual for Abstract_Op in the
|
3434 |
|
|
initialization aggregate.
|
3435 |
|
|
(Function_Interp_May_Be_Hidden): Rename to
|
3436 |
|
|
Function_Interp_Has_Abstract_Op.
|
3437 |
|
|
(Has_Compatible_Type): Remove machinery that skips interpretations if
|
3438 |
|
|
they are labeled as potentially hidden by an abstract operator.
|
3439 |
|
|
(Has_Hidden_Interp): Rename to Has_Abstract_Op.
|
3440 |
|
|
(Set_May_Be_Hidden): Rename to Set_Abstract_Op.
|
3441 |
|
|
(Write_Overloads): Output the abstract operator if present.
|
3442 |
|
|
(Add_Entry): Before inserting a new entry into the interpretation table
|
3443 |
|
|
for a node, determine whether the entry will be disabled by an abstract
|
3444 |
|
|
operator.
|
3445 |
|
|
(Binary_Op_Interp_May_Be_Hidden): New routine.
|
3446 |
|
|
(Collect_Interps): Add value for flag May_Be_Hidden in initialization
|
3447 |
|
|
aggregate.
|
3448 |
|
|
(Function_Interp_May_Be_Hidden): New routine.
|
3449 |
|
|
(Has_Compatible_Type): Do not consider interpretations hidden by
|
3450 |
|
|
abstract operators when trying to determine whether two types are
|
3451 |
|
|
compatible.
|
3452 |
|
|
(Has_Hidden_Interp): New routine.
|
3453 |
|
|
(Set_May_Be_Hidden_Interp): New routine.
|
3454 |
|
|
(Write_Overloads): Write the status of flag May_Be_Hidden.
|
3455 |
|
|
|
3456 |
|
|
2007-08-14 Ed Schonberg
|
3457 |
|
|
Javier Miranda
|
3458 |
|
|
|
3459 |
|
|
* exp_disp.ads, exp_disp.adb (Build_Dispatch_Tables): Handle tagged
|
3460 |
|
|
types declared in the declarative part of a nested package body or in
|
3461 |
|
|
the proper body of a stub.
|
3462 |
|
|
(Set_All_DT_Position): Add missing check to avoid wrong assignation
|
3463 |
|
|
of the same dispatch table slot to renamed primitives.
|
3464 |
|
|
(Make_Select_Specific_Data_Table): Handle private types.
|
3465 |
|
|
(Tagged_Kind): Handle private types.
|
3466 |
|
|
(Make_Tags, Make_DT): Set tag entity as internal to ensure proper dg
|
3467 |
|
|
output of implicit importation and exportation.
|
3468 |
|
|
(Expand_Interface_Thunk): Fix bug in the expansion assuming that the
|
3469 |
|
|
first formal of the thunk is always associated with the controlling
|
3470 |
|
|
type. In addition perform the following code cleanup: remove formal
|
3471 |
|
|
Thunk_Alias which is no longer required, cleanup evaluation of the
|
3472 |
|
|
the controlling type, and update the documentation.
|
3473 |
|
|
Replace occurrence of Default_Prim_Op_Count by
|
3474 |
|
|
Max_Predef_Prims. Addition of compile-time check to verify
|
3475 |
|
|
that the value of Max_Predef_Prims is correct.
|
3476 |
|
|
(Check_Premature_Freezing): Apply check in Ada95 mode as well.
|
3477 |
|
|
(Make_DT): Add parameter to indicate when type has been frozen by an
|
3478 |
|
|
object declaration, for diagnostic purposes.
|
3479 |
|
|
(Build_Static_Dispatch_Tables): New subprogram that takes care of the
|
3480 |
|
|
construction of statically allocated dispatch tables.
|
3481 |
|
|
(Make_DT): In case of library-level tagged types export the declaration
|
3482 |
|
|
of the primary tag. Remove generation of tags (now done by Make_Tags).
|
3483 |
|
|
Additional modifications to handle non-static generation of dispatch
|
3484 |
|
|
tables. Take care of building tables for asynchronous interface types
|
3485 |
|
|
(Make_Tags): New subprogram that generates the entities associated with
|
3486 |
|
|
the primary and secondary tags of Typ and fills the contents of Access_
|
3487 |
|
|
Disp_Table. In case of library-level tagged types imports the forward
|
3488 |
|
|
declaration of the primary tag that will be declared later by Make_DT.
|
3489 |
|
|
(Expand_Interface_Conversion): In case of access types to interfaces
|
3490 |
|
|
replace an itype declaration by an explicit type declaration to avoid
|
3491 |
|
|
problems associated with the scope of such itype in transient blocks.
|
3492 |
|
|
|
3493 |
|
|
2007-08-14 Robert Dewar
|
3494 |
|
|
Ed Schonberg
|
3495 |
|
|
Javier Miranda
|
3496 |
|
|
|
3497 |
|
|
* exp_util.ads, exp_util.adb:
|
3498 |
|
|
This patch replaces a number of occurrences of explicit tests for N_Null
|
3499 |
|
|
with calls to Known_Null. This improves tracking of null values, since
|
3500 |
|
|
Known_Null also catches null constants, and variables currently known to
|
3501 |
|
|
be null, so we get better tracking.
|
3502 |
|
|
(Ensure_Defined): create an itype reference only in the scope of the
|
3503 |
|
|
itype.
|
3504 |
|
|
(Side_Effect_Free): A selected component of an access type that
|
3505 |
|
|
denotes a component with a rep clause must be treated as not
|
3506 |
|
|
side-effect free, because if it is part of a linked structure its
|
3507 |
|
|
value may be affected by a renaming.
|
3508 |
|
|
(Expand_Subtype_From_Expr): For limited objects initialized with build
|
3509 |
|
|
in place function calls, do nothing; otherwise we prematurely introduce
|
3510 |
|
|
an N_Reference node in the expression initializing the object, which
|
3511 |
|
|
breaks the circuitry that detects and adds the additional arguments to
|
3512 |
|
|
the called function. Bug found working in the new patch for statically
|
3513 |
|
|
allocated dispatch tables.
|
3514 |
|
|
(Is_Library_Level_Tagged_Type): New subprogram.
|
3515 |
|
|
(Remove_Side_Effects): If the expression of an elementary type is an
|
3516 |
|
|
operator treat as a function call.
|
3517 |
|
|
(Make_Literal_Range): If the index type of the array is not integer, use
|
3518 |
|
|
attributes properly to compute the constraint on the resulting aggregate
|
3519 |
|
|
which is a string.
|
3520 |
|
|
|
3521 |
|
|
* freeze.ads, freeze.adb (Freeze_Entity): If the entity is a
|
3522 |
|
|
class-wide type whose base type is an incomplete private type, leave
|
3523 |
|
|
class-wide type unfrozen so that freeze nodes can be generated
|
3524 |
|
|
properly at a later point.
|
3525 |
|
|
(Freeze_Entity, array case): Handle case of pragma Pack and component
|
3526 |
|
|
size attributre clause for same array.
|
3527 |
|
|
|
3528 |
|
|
2007-08-14 Vincent Celier
|
3529 |
|
|
|
3530 |
|
|
* prj.ads, prj.adb: Update Project Manager to new attribute names for
|
3531 |
|
|
gprbuild.
|
3532 |
|
|
Allow all valid declarations in configuration project files
|
3533 |
|
|
(Reset): Initialize all tables and hash tables in the project tree data
|
3534 |
|
|
Major update of the Project Manager and of the project aware tools,
|
3535 |
|
|
including gprmake, so that the same sources in the GNAT repository
|
3536 |
|
|
can be used by gprbuild.
|
3537 |
|
|
(Slash_Id): Change type to be Path_Name_Type
|
3538 |
|
|
(Slash): Return a Path_Name_Type instead of a File_Name_Type
|
3539 |
|
|
|
3540 |
|
|
* prj-attr.ads, prj-attr.adb: Remove attributes no longer used by
|
3541 |
|
|
gprbuild.
|
3542 |
|
|
Update Project Manager to new attribute names for ghprbuild
|
3543 |
|
|
Allow all valid declarations in configuration project files
|
3544 |
|
|
Major update of the Project Manager and of the project aware tools,
|
3545 |
|
|
including gprmake, so that the same sources in the GNAT repository
|
3546 |
|
|
can be used by gprbuild.
|
3547 |
|
|
|
3548 |
|
|
* prj-com.ads:
|
3549 |
|
|
Major update of the Project Manager and of the project aware tools,
|
3550 |
|
|
including gprmake, so that the same sources in the GNAT repository
|
3551 |
|
|
can be used by gprbuild.
|
3552 |
|
|
|
3553 |
|
|
* prj-dect.adb (Prj.Strt.Attribute_Reference): Set correctly the case
|
3554 |
|
|
insensitive flag for attributes with optional index.
|
3555 |
|
|
(Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative
|
3556 |
|
|
array attribute, put the index in lower case.
|
3557 |
|
|
Update Project Manager to new attribute names for ghprbuild
|
3558 |
|
|
Allow all valid declarations in configuration project files
|
3559 |
|
|
Major update of the Project Manager and of the project aware tools,
|
3560 |
|
|
including gprmake, so that the same sources in the GNAT repository
|
3561 |
|
|
can be used by gprbuild.
|
3562 |
|
|
|
3563 |
|
|
* prj-env.ads, prj-env.adb:
|
3564 |
|
|
Major update of the Project Manager and of the project aware tools,
|
3565 |
|
|
including gprmake, so that the same sources in the GNAT repository
|
3566 |
|
|
can be used by gprbuild.
|
3567 |
|
|
(Get_Reference): Change type of parameter Path to Path_Name_Type
|
3568 |
|
|
|
3569 |
|
|
* prj-ext.ads, prj-ext.adb (Initialize_Project_Path): Make sure, after
|
3570 |
|
|
removing '-' from the path to start with the first character of the
|
3571 |
|
|
next directory.
|
3572 |
|
|
Major update of the Project Manager and of the project aware tools,
|
3573 |
|
|
including gprmake, so that the same sources in the GNAT repository
|
3574 |
|
|
can be used by gprbuild.
|
3575 |
|
|
Major update of the Project Manager and of the project aware tools,
|
3576 |
|
|
including gprmake, so that the same sources in the GNAT repository
|
3577 |
|
|
can be used by gprbuild.
|
3578 |
|
|
|
3579 |
|
|
* prj-nmsc.ads, prj-nmsc.adb:
|
3580 |
|
|
Update Project Manager to new attribute names for ghprbuild
|
3581 |
|
|
Allow all valid declarations in configuration project files
|
3582 |
|
|
(Search_Directories): Detect subunits that are specified with an
|
3583 |
|
|
attribute Body in package Naming. Do not replace a source/unit in the
|
3584 |
|
|
same project when the order of the source dirs are known. Detect
|
3585 |
|
|
duplicate sources/units in the same project when the order of the
|
3586 |
|
|
source dirs are not known.
|
3587 |
|
|
(Check_Ada_Name): Allow all identifiers that are not reserved words
|
3588 |
|
|
in Ada 95.
|
3589 |
|
|
Major update of the Project Manager and of the project aware tools,
|
3590 |
|
|
including gprmake, so that the same sources in the GNAT repository
|
3591 |
|
|
can be used by gprbuild.
|
3592 |
|
|
(Look_For_Sources): If the list of sources is empty, set the object
|
3593 |
|
|
directory of non extending project to nil.
|
3594 |
|
|
Change type of path name variables to be Path_Name_Type
|
3595 |
|
|
(Locate_Directory): Make sure that on Windows '/' is converted to '\',
|
3596 |
|
|
otherwise creating missing directories will fail.
|
3597 |
|
|
|
3598 |
|
|
* prj-attr-pm.adb, prj-tree.ads, prj-proc.ads, prj-proc.adb,
|
3599 |
|
|
prj-part.ads, prj-part.adb:
|
3600 |
|
|
Major update of the Project Manager and of the project aware tools,
|
3601 |
|
|
including gprmake, so that the same sources in the GNAT repository
|
3602 |
|
|
can be used by gprbuild.
|
3603 |
|
|
|
3604 |
|
|
* prj-strt.adb (Prj.Strt.Attribute_Reference): Set correctly the case
|
3605 |
|
|
insensitive flag for attributes with optional index.
|
3606 |
|
|
(Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative
|
3607 |
|
|
array attribute, put the index in lower case.
|
3608 |
|
|
(Parse_Variable_Reference): Allow the current project name to be used in
|
3609 |
|
|
the prefix of an attribute reference.
|
3610 |
|
|
|
3611 |
|
|
* prj-util.ads, prj-util.adb
|
3612 |
|
|
(Value_Of (for arrays)): New Boolean parameter Force_Lower_Case_Index,
|
3613 |
|
|
defaulted to False. When True, always check against indexes in lower
|
3614 |
|
|
case.
|
3615 |
|
|
|
3616 |
|
|
* snames.ads, snames.h, snames.adb:
|
3617 |
|
|
Update Project Manager to new attribute names for gprbuild
|
3618 |
|
|
Allow all valid declarations in configuration project files
|
3619 |
|
|
|
3620 |
|
|
2007-08-14 Robert Dewar
|
3621 |
|
|
Ed Schonberg
|
3622 |
|
|
|
3623 |
|
|
* opt.ads: Warning for non-local exception propagation now off by
|
3624 |
|
|
default
|
3625 |
|
|
New switch -gnatI to disable representation clauses
|
3626 |
|
|
Implement new pragma Implicit_Packing
|
3627 |
|
|
|
3628 |
|
|
* usage.adb:
|
3629 |
|
|
Warning for non-local exception propagation now off by default
|
3630 |
|
|
Add warning for unchecked conversion of pointers wi different
|
3631 |
|
|
conventions.
|
3632 |
|
|
New switch -gnatI to disable representation clauses
|
3633 |
|
|
|
3634 |
|
|
* usage.adb: new switch -gnatyS
|
3635 |
|
|
|
3636 |
|
|
* gnat_ugn.texi: For the gnatcheck Non_Qualified_Aggregates rule add a
|
3637 |
|
|
note that aggregates of anonymous array types are not flagged.
|
3638 |
|
|
-gnatwc now includes membership tests optimized away
|
3639 |
|
|
-gnatw.x warnings are now off by default
|
3640 |
|
|
Added conditional compilation Appendix
|
3641 |
|
|
Add documentation of -gnatI
|
3642 |
|
|
Add documentation for new -gnatyS style check
|
3643 |
|
|
Update documentation about SAL and auto-init on Windows.
|
3644 |
|
|
|
3645 |
|
|
* gnat_rm.texi:
|
3646 |
|
|
Add documentation for pragma Check_Name and 'Enabled attribute
|
3647 |
|
|
Document that Eliminate on dispatching operation is ignored
|
3648 |
|
|
Document IDE attributes VCS_Repository_Root and VCS_Patch_Root.
|
3649 |
|
|
Document pragma Main
|
3650 |
|
|
Document pragma Implicit_Packing
|
3651 |
|
|
|
3652 |
|
|
* sem_ch13.adb: Add warning for unchecked conversion of pointers wi
|
3653 |
|
|
different conventions
|
3654 |
|
|
New switch -gnatI to disable representation clauses
|
3655 |
|
|
|
3656 |
|
|
* switch-c.adb (Scan_Front_End_Switches): When a -gnat switch is not
|
3657 |
|
|
recognized, report the invalid characters including "-gnat" instead of
|
3658 |
|
|
just the first character in the switch.
|
3659 |
|
|
New switch -gnatI to disable representation clauses
|
3660 |
|
|
Set Warn_On_Object_Renames_Function true for -gnatg
|
3661 |
|
|
|
3662 |
|
|
* vms_data.ads: Add doc for /IGNORE_REP_CLAUSES
|
3663 |
|
|
Add STATEMENTS_AFTER_THEN_ELSE as synonym for -gnatyS
|
3664 |
|
|
Add qualifier /ADD_PROJECT_SEARCH_DIR= for different tools, equivalent
|
3665 |
|
|
to switch -aP (add directory to project search dir).
|
3666 |
|
|
|
3667 |
|
|
* par-prag.adb: Implement new pragma Implicit_Packing
|
3668 |
|
|
|
3669 |
|
|
* sem_prag.adb (Analyze_Pragma, case Complex_Representation): Mark the
|
3670 |
|
|
type as having a non-standard representation, to force expansion on
|
3671 |
|
|
conversion to related types.
|
3672 |
|
|
(Analyze_Pragma): Warn on misspelled pragma
|
3673 |
|
|
(Analyze_Pragma, case Convention_Identifier): Fix checking of second arg
|
3674 |
|
|
Ensure consistent use of # in error messages
|
3675 |
|
|
Implement pragma Implicit_Packing
|
3676 |
|
|
|
3677 |
|
|
2007-08-14 Olivier Hainque
|
3678 |
|
|
Eric Botcazou
|
3679 |
|
|
|
3680 |
|
|
* targtyps.c (get_target_maximum_default_alignment): New function.
|
3681 |
|
|
Maximum alignment
|
3682 |
|
|
that the compiler might choose by default for a type or object.
|
3683 |
|
|
(get_target_default_allocator_alignment): New function. Alignment known
|
3684 |
|
|
to be honored by the target default allocator.
|
3685 |
|
|
(get_target_maximum_allowed_alignment): New function. Maximum alignment
|
3686 |
|
|
we might accept for any type or object on the target.
|
3687 |
|
|
(get_target_maximum_alignment): Now synonym of maximum_default_alignment
|
3688 |
|
|
|
3689 |
|
|
* gigi.h (get_target_maximum_default_alignment): Declare new function.
|
3690 |
|
|
(get_target_default_allocator_alignment): Likewise.
|
3691 |
|
|
(get_target_maximum_allowed_alignment): Likewise.
|
3692 |
|
|
|
3693 |
|
|
PR ada/19037
|
3694 |
|
|
* decl.c (gnat_to_gnu_entity)
|
3695 |
|
|
result of a function call, first try to use a stabilized reference for
|
3696 |
|
|
a constant renaming too.
|
3697 |
|
|
(validate_alignment): Use target_maximum_allowed_alignment instead of
|
3698 |
|
|
MAX_OFILE_ALIGNMENT as the upper bound to what we accept.
|
3699 |
|
|
(gnat_to_gnu_entity): Use common nodes directly.
|
3700 |
|
|
(gnat_to_gnu_entity)
|
3701 |
|
|
alignment and size for the object.
|
3702 |
|
|
(lvalue_required_p): Handle N_Parameter_Association like N_Function_Call
|
3703 |
|
|
and N_Procedure_Call_Statement.
|
3704 |
|
|
(takes_address): Rename to lvalue_required_p, add third parameter
|
3705 |
|
|
'aliased' and adjust recursive calls.
|
3706 |
|
|
: Update 'aliased' from the array type.
|
3707 |
|
|
: New case.
|
3708 |
|
|
: New Likewise.
|
3709 |
|
|
(Identifier_to_gnu): Adjust for above changes.
|
3710 |
|
|
(maybe_stabilize_reference) : New case.
|
3711 |
|
|
|
3712 |
|
|
* utils2.c (build_binary_op) : Look through conversion
|
3713 |
|
|
between type variants.
|
3714 |
|
|
(build_simple_component_ref): Likewise.
|
3715 |
|
|
(build_call_alloc_dealloc): Use target_default_allocator_alignment
|
3716 |
|
|
instead of BIGGEST_ALIGNMENT as the threshold to trigger the super
|
3717 |
|
|
aligning type circuitry for allocations from the default storage pool.
|
3718 |
|
|
(build_allocator): Likewise.
|
3719 |
|
|
(build_simple_component_ref): Manually fold the reference for a
|
3720 |
|
|
constructor if the record type contains a template.
|
3721 |
|
|
|
3722 |
|
|
* utils.c (value_zerop): Delete.
|
3723 |
|
|
(gnat_init_decl_processing): Emit debug info for common types.
|
3724 |
|
|
(rest_of_record_type_compilation): If a union contains a field
|
3725 |
|
|
with a non-constant qualifier, treat it as variable-sized.
|
3726 |
|
|
(finish_record_type): Give the stub TYPE_DECL a name.
|
3727 |
|
|
(rest_of_record_type_compilation): Likewise.
|
3728 |
|
|
(convert) : New case. Build a new constructor if
|
3729 |
|
|
types are equivalent array types.
|
3730 |
|
|
(create_field_decl): Claim fields of any ARRAY_TYPE are addressable,
|
3731 |
|
|
even if the type is not passed by reference.
|
3732 |
|
|
(static_ctors, static_dtors): Delete.
|
3733 |
|
|
(end_subprog_body): Do not record constructors and destructors.
|
3734 |
|
|
(build_global_cdtor): Delete.
|
3735 |
|
|
(gnat_write_global_declarations): Do not call build_global_cdtor.
|
3736 |
|
|
|
3737 |
|
|
* lang-spARGET_VXWORKS_RTP is defined, append -mrtp when
|
3738 |
|
|
-fRTS=rtp is specified.
|
3739 |
|
|
If CONFIG_DUAL_EXCEPTIONS is 1, append -fsjlj when -fRTS=sjlj is
|
3740 |
|
|
specified.
|
3741 |
|
|
|
3742 |
|
|
* misc.c (gnat_init_gcc_eh): Use __gnat_eh_personality_sj for the name
|
3743 |
|
|
of the personality function with SJLJ exceptions.
|
3744 |
|
|
|
3745 |
|
|
* raise-gcc.c (PERSONALITY_FUNCTION): Use __gnat_eh_personality_sj for
|
3746 |
|
|
the name of the personality function with SJLJ exceptions.
|
3747 |
|
|
|
3748 |
|
|
2007-08-14 Robert Dewar
|
3749 |
|
|
Ed Schonberg
|
3750 |
|
|
|
3751 |
|
|
* par.ads, par.adb: Improve handling of extra right parens.
|
3752 |
|
|
(Par): Remove flag From_Limited_With_Clause.
|
3753 |
|
|
|
3754 |
|
|
* par-util.adb, par-ch3.adb: Improve error recovery for bad constraint
|
3755 |
|
|
Improve handling of extra right parens.
|
3756 |
|
|
|
3757 |
|
|
2007-08-14 Robert Dewar
|
3758 |
|
|
|
3759 |
|
|
* par-tchk.adb (TF_Semicolon): Improve error recovery
|
3760 |
|
|
|
3761 |
|
|
2007-08-14 Robert Dewar
|
3762 |
|
|
Ed Schonberg
|
3763 |
|
|
|
3764 |
|
|
* sem_attr.ads, sem_attr.adb (Analyze_Attribute, case Value): For
|
3765 |
|
|
enumeration type, mark all literals as referenced.
|
3766 |
|
|
(Eval_Attribute, case 'Image): If the argument is an enumeration
|
3767 |
|
|
literal and names are available, constant-fold but mark nevertheless as
|
3768 |
|
|
non-static.
|
3769 |
|
|
Clean up function names.
|
3770 |
|
|
(Name_Modifies_Prefix): Rename to Name_Implies_Lvalue_Prefix. Clarify
|
3771 |
|
|
comment.
|
3772 |
|
|
(Requires_Simple_Name_Prefix): Removed.
|
3773 |
|
|
|
3774 |
|
|
2007-08-14 Robert Dewar
|
3775 |
|
|
Ed Schonberg
|
3776 |
|
|
|
3777 |
|
|
* sem_ch11.adb: Improved warnings for unused variables
|
3778 |
|
|
|
3779 |
|
|
* sem_ch3.ads, sem_ch3.adb (Build_Derived_Record_Type): If the ancestor
|
3780 |
|
|
is a synchronized interface, the derived type is limited.
|
3781 |
|
|
(Analyze_Object_Declaration): Mark the potential coextensions in the
|
3782 |
|
|
definition and expression of an object declaration node.
|
3783 |
|
|
(Build_Derived_Type): For the completion of a private type declaration
|
3784 |
|
|
with a derived type declaration, chain the parent type's representation
|
3785 |
|
|
items to the last representation item of the derived type (not the
|
3786 |
|
|
first one) if they are not present already.
|
3787 |
|
|
(Analyze_Object_Declaration, Constant_Redeclaration): Allow incomplete
|
3788 |
|
|
object declaration of forward references to tags.
|
3789 |
|
|
(Access_Subprogram_Declaration): In Ada2005, anonymous access to
|
3790 |
|
|
subprogram types can appear as access discriminants of synchronized
|
3791 |
|
|
types.
|
3792 |
|
|
(OK_For_Limited_Init_In_05): The initialization is legal is it is a call
|
3793 |
|
|
given in prefixed form as a selected component.
|
3794 |
|
|
(Process_Discriminants): If not all discriminants have defaults, place
|
3795 |
|
|
error message on a default that is present.
|
3796 |
|
|
(Analyze_Private_Extension_Declaration): Diagnose properly an attempt to
|
3797 |
|
|
extend a synchronized tagged type.
|
3798 |
|
|
Improved warnings for unused variables
|
3799 |
|
|
(Is_Visible_Component): Fix a visibility hole on a component inherited
|
3800 |
|
|
by a private extension when parent is itself declared as a private
|
3801 |
|
|
extension, and the derivation is in a child unit.
|
3802 |
|
|
(Find_Hidden_Interface): Move spec from the package body.
|
3803 |
|
|
|
3804 |
|
|
2007-08-14 Robert Dewar
|
3805 |
|
|
Ed Schonberg
|
3806 |
|
|
|
3807 |
|
|
* sem_ch5.adb: Improve warnings on redundant assignments
|
3808 |
|
|
|
3809 |
|
|
* sem_util.ads, sem_util.adb: (Is_Variable): Add defense against junk
|
3810 |
|
|
parameter
|
3811 |
|
|
(Is_Synchronized_Tagged_Type): New subprogram that returns true
|
3812 |
|
|
in case of synchronized tagged types (AARM 3.9.4 (6/2)).
|
3813 |
|
|
(Safe_To_Capture_Value): Can now return True for constants, even if Cond
|
3814 |
|
|
is set to False. Improves handling of Known_[Not_]Null.
|
3815 |
|
|
(Wrong_Type): Special case address arithmetic attempt
|
3816 |
|
|
(Collect_Abstract_Interfaces): Add new formal to allow collecting
|
3817 |
|
|
abstract interfaces just using the partial view of private types.
|
3818 |
|
|
(Has_Abstract_Interfaces): Add new formal to allow checking types
|
3819 |
|
|
covering interfaces using the partial view of private types.
|
3820 |
|
|
(Is_Fully_Initialized_Type): Special VM case for uTag component. This
|
3821 |
|
|
component still needs to be defined in this case, but is never
|
3822 |
|
|
initialized as VMs are using other dispatching mechanisms.
|
3823 |
|
|
(Abstract_Interface_List): For a protected type, use base type to get
|
3824 |
|
|
proper declaration.
|
3825 |
|
|
Improve warnings on redundant assignments
|
3826 |
|
|
(Is_Variable): Handle properly an implicit dereference of a prefixed
|
3827 |
|
|
function call.
|
3828 |
|
|
(Build_Actual_Subtype): If this is an actual subtype for an
|
3829 |
|
|
unconstrained formal parameter, use the sloc of the body for the new
|
3830 |
|
|
declaration, to prevent anomalises in the debugger.
|
3831 |
|
|
|
3832 |
|
|
2007-08-14 Robert Dewar
|
3833 |
|
|
|
3834 |
|
|
* sem_elim.adb (Set_Eliminated): Ignore pragma Eliminate for
|
3835 |
|
|
dispatching operation
|
3836 |
|
|
|
3837 |
|
|
2007-08-14 Ed Schonberg
|
3838 |
|
|
Gary Dismukes
|
3839 |
|
|
|
3840 |
|
|
* exp_aggr.ads,
|
3841 |
|
|
exp_aggr.adb (Convert_Aggr_In_Allocator): Use Insert_Actions to place
|
3842 |
|
|
expanded aggregate code before allocator, and ahead of declaration for
|
3843 |
|
|
temporary, to prevent access before elaboration when the allocator is
|
3844 |
|
|
an actual for an access parameter.
|
3845 |
|
|
(Is_Static_Dispatch_Table_Aggregate): Handle aggregates initializing
|
3846 |
|
|
the TSD and the table of interfaces.
|
3847 |
|
|
(Convert_To_Assignments): Augment the test for delaying aggregate
|
3848 |
|
|
expansion for limited return statements to include the case of extended
|
3849 |
|
|
returns, to prevent creation of an unwanted transient scope.
|
3850 |
|
|
(Is_Static_Dispatch_Table_Aggregate): New subprogram.
|
3851 |
|
|
(Expand_Array_Aggregate): Handle aggregates associated with
|
3852 |
|
|
statically allocated dispatch tables.
|
3853 |
|
|
(Expand_Record_Aggregate): Handle aggregates associated with
|
3854 |
|
|
statically allocated dispatch tables.
|
3855 |
|
|
(Gen_Ctrl_Actions_For_Aggr): Generate a finalization list for allocators
|
3856 |
|
|
of anonymous access type.
|
3857 |
|
|
|
3858 |
|
|
2007-08-14 Ed Schonberg
|
3859 |
|
|
|
3860 |
|
|
* exp_ch5.adb (Expand_Assign_Array): If source or target of assignment
|
3861 |
|
|
is a variable that renames a slice, use the variable itself in the
|
3862 |
|
|
expannsion when the renamed expression itself may be modified between
|
3863 |
|
|
the declaration of the renaming and the array assignment.
|
3864 |
|
|
|
3865 |
|
|
2007-08-14 Jerome Guitton
|
3866 |
|
|
|
3867 |
|
|
* s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
|
3868 |
|
|
s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
|
3869 |
|
|
s-taprop-vms.adb, s-taprop-posix.adb (Continue_Task, Stop_All_Tasks):
|
3870 |
|
|
New functions; dummy implementations.
|
3871 |
|
|
|
3872 |
|
|
* s-osinte-vxworks.ads (Task_Stop, Task_Cont, Int_Lock, Int_Unlock): New
|
3873 |
|
|
functions, used to implement the multi-tasks mode routines on VxWorks.
|
3874 |
|
|
|
3875 |
|
|
* s-osinte-vxworks.adb, s-osinte-vxworks6.adb (Task_Cont, Task_Stop):
|
3876 |
|
|
New functions, thin
|
3877 |
|
|
binding to the VxWorks routines which have changed between VxWorks 5
|
3878 |
|
|
and 6.
|
3879 |
|
|
(Int_Lock, Int_Unlock): New function, thin binding to kernel routines
|
3880 |
|
|
which are not callable from a RTP.
|
3881 |
|
|
|
3882 |
|
|
* s-taprop-vxworks.adb (Stop_All_Tasks, Continue_Task): New functions,
|
3883 |
|
|
implemented for the multi-tasks mode on VxWorks 5 and 6.
|
3884 |
|
|
|
3885 |
|
|
* s-taprop.ads (Stop_All_Tasks, Continue_Task): New functions.
|
3886 |
|
|
|
3887 |
|
|
* s-tasdeb.ads, s-tasdeb.adb (Continue_All_Tasks, Stop_All_Tasks): New
|
3888 |
|
|
functions.
|
3889 |
|
|
|
3890 |
|
|
2007-08-14 Vincent Celier
|
3891 |
|
|
|
3892 |
|
|
* clean.adb, fmap.adb, sinput-p.adb, sinput-p.ads, gnatcmd.adb,
|
3893 |
|
|
gnatname.adb, makeutl.ads, makeutl.adb, makegpr.adb, mlib-tgt-vms.adb
|
3894 |
|
|
mlib-tgt-darwin.adb, mlib-tgt-lynxos.adb, mlib-prj.adb, mlib-tgt.adb,
|
3895 |
|
|
mlib-tgt.ads, mlib-tgt-irix.adb mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
|
3896 |
|
|
mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
|
3897 |
|
|
mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, mlib-tgt-aix.adb,
|
3898 |
|
|
mlib-tgt-tru64.adb, mlib.ads, mlib.adb (Create_Sym_Links): New
|
3899 |
|
|
procedure.
|
3900 |
|
|
(Major_Id_Name): New function.
|
3901 |
|
|
mlib-tgt.ads/mlib.tgt.adb:
|
3902 |
|
|
(Library_Major_Minor_Id_Supported): New function, default returns True
|
3903 |
|
|
Most mlib-tgt-*.adb that support shared libraries and symbolic links:
|
3904 |
|
|
(Build_Dynamic_Library): Add support for major/minor ids for shared libs
|
3905 |
|
|
Other mlib-tgt-*.adb (aix, mingw, vms, vxworks, xi):
|
3906 |
|
|
Implementation of Library_Major_Minor_Id_Supported returns False
|
3907 |
|
|
clean.adb:
|
3908 |
|
|
(Clean_Library_Directory): If major/minor ids are supported, clean all
|
3909 |
|
|
library files.
|
3910 |
|
|
Major update of the Project Manager and of the project aware tools,
|
3911 |
|
|
including gprmake, so that the same sources in the GNAT repository
|
3912 |
|
|
can be used by gprbuild.
|
3913 |
|
|
|
3914 |
|
|
2007-08-14 Olivier Hainque
|
3915 |
|
|
|
3916 |
|
|
* system-solaris-x86.ads (ZCX_By_Default): Switch to True.
|
3917 |
|
|
(GCC_ZCX_Support): Switch to True.
|
3918 |
|
|
|
3919 |
|
|
* s-intman-solaris.adb (Notify_Exception): Call
|
3920 |
|
|
Adjust_Context_For_Raise before raising, as expected for signal
|
3921 |
|
|
handlers in general.
|
3922 |
|
|
|
3923 |
|
|
* s-intman-posix.adb (Notify_Exception): Remove declaration of
|
3924 |
|
|
Adjust_Context_For_Raise, moved to the spec of this unit to be visible
|
3925 |
|
|
to other implementation bodies.
|
3926 |
|
|
|
3927 |
|
|
* s-intman.ads (Adjust_Context_For_Raise): Declare and import here, to
|
3928 |
|
|
be visible by multiple implementation bodies.
|
3929 |
|
|
|
3930 |
|
|
* init.c [VMS section] (__gnat_handle_vms_condition): Adjust context
|
3931 |
|
|
only for conditions coming from hardware.
|
3932 |
|
|
[alpha-tru64 section] (__gnat_adjust_context_for_raise): Implement,
|
3933 |
|
|
adjustments to signal context prior to exception raise from signal
|
3934 |
|
|
handler.
|
3935 |
|
|
(__gnat_map_signal for VxWorks): Map SIGSEGV to Storage_Error in RTP
|
3936 |
|
|
mode.
|
3937 |
|
|
Solaris section: (__gnat_adjust_context_for_raise): New function.
|
3938 |
|
|
Implementation of the machine context adjustments to perform prior to
|
3939 |
|
|
raise from a signal handler. Version for both sparc and x86.
|
3940 |
|
|
(HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE): Define.
|
3941 |
|
|
(__gnat_error_handler): Expect a third argument, ucontext_t *. Adjust it
|
3942 |
|
|
prior to raising as expected for any handler, before possible nested
|
3943 |
|
|
faults to make sure all the contexts in a chain have been adjusted by
|
3944 |
|
|
the time we propagate.
|
3945 |
|
|
|
3946 |
|
|
2007-08-14 Pascal Obry
|
3947 |
|
|
|
3948 |
|
|
* s-osinte-mingw.ads: Add support for Ada.Execution_Time on Windows.
|
3949 |
|
|
(SYSTEM_INFO): New record.
|
3950 |
|
|
(SetThreadIdealProcessor): New imported routine needed for supporting
|
3951 |
|
|
task_info pragma on Windows.
|
3952 |
|
|
|
3953 |
|
|
* s-taprop-mingw.adb (Enter_Task): Check if CPU number given in task
|
3954 |
|
|
info can be applied to the current host.
|
3955 |
|
|
(Create_Task): Set the ideal processor if information is present.
|
3956 |
|
|
|
3957 |
|
|
* s-tasinf-mingw.adb, s-tasinf-mingw.ads,
|
3958 |
|
|
a-exetim-mingw.adb, a-exetim-mingw.ads: New files.
|
3959 |
|
|
|
3960 |
|
|
2007-08-14 Olivier Hainque
|
3961 |
|
|
|
3962 |
|
|
* s-taprop-linux.adb (Get_Stack_Attributes): New subprogram. Fetch the
|
3963 |
|
|
stack size and initial stack pointer value for a given task.
|
3964 |
|
|
(Enter_Task): Get the stack attributes of the task we are entering and
|
3965 |
|
|
let the stack checking engine know about them.
|
3966 |
|
|
|
3967 |
|
|
* s-stchop.adb, s-stchop.ads (Notify_Stack_Attributes): New subprogram.
|
3968 |
|
|
Let the stack-checking engine know about the initial sp value and stack
|
3969 |
|
|
size associated with the current task.
|
3970 |
|
|
(Set_Stack_Info): If a stack base has been notified for the current
|
3971 |
|
|
task, honor it. Fallback to the previous less accurate method otherwise.
|
3972 |
|
|
|
3973 |
|
|
* s-stchop-vxworks.adb (Notify_Stack_Attributes): Dummy body.
|
3974 |
|
|
|
3975 |
|
|
2007-08-14 Ed Schonberg
|
3976 |
|
|
|
3977 |
|
|
* sem_ch10.adb: Create a limited view of an incomplete type, to make
|
3978 |
|
|
treatment of limited views uniform for all visible declarations in a
|
3979 |
|
|
limited_withed package.
|
3980 |
|
|
Set flag indicating that a subprogram body for a child unit has a
|
3981 |
|
|
generated spec.
|
3982 |
|
|
(Analyze_Compilation_Unit): If unit is a subprogram body that has no
|
3983 |
|
|
separate declaration, remove the unit name from visibility after
|
3984 |
|
|
compilation, so that environment is clean for subsequent compilations.
|
3985 |
|
|
(Install_Limited_Context_Clauses): Do not install a
|
3986 |
|
|
limited_private_with_clause unless the current unit is a body or a
|
3987 |
|
|
private child unit.
|
3988 |
|
|
(Analyze_Subunit, Install_Parents): Treat generic and non-generic units
|
3989 |
|
|
in the same fashion.
|
3990 |
|
|
(Install_Limited_Withed_Unit): Do not install a limited with clause if
|
3991 |
|
|
it applies to the declaration of the current package body.
|
3992 |
|
|
(Remove_Private_With_Clauses): If there is a regular with_clause for
|
3993 |
|
|
the unit, delete Private_With_Clause from context, to prevent improper
|
3994 |
|
|
hiding when processing subsequent nested packages and instantiations.
|
3995 |
|
|
|
3996 |
|
|
2007-08-14 Jose Ruiz
|
3997 |
|
|
|
3998 |
|
|
* adaint.c (__gnat_is_absolute_path): For VxWorks systems we accept
|
3999 |
|
|
dir/file, device:/dir/file, and device:drive_letter:/dir/file as
|
4000 |
|
|
representing absolute path names.
|
4001 |
|
|
__gnat_set_file_time_name [VMS]: Fix some 64/32 bit issues.
|
4002 |
|
|
|
4003 |
|
|
* cstreams.c (__gnat_full_name for VxWorks): Use
|
4004 |
|
|
__gnat_is_absolute_path to detect whether we need to add the current
|
4005 |
|
|
directory to normalize the path.
|
4006 |
|
|
|
4007 |
|
|
2007-08-14 Javier Miranda
|
4008 |
|
|
|
4009 |
|
|
* a-tags.ads,
|
4010 |
|
|
a-tags.adb (Displace): Associate a message with the raised CE
|
4011 |
|
|
exception.
|
4012 |
|
|
(To_Addr_Ptr, To_Address, To_Dispatch_Table_Ptr,
|
4013 |
|
|
To_Object_Specific_Data_Ptr To_Predef_Prims_Ptr,
|
4014 |
|
|
To_Tag_Ptr, To_Type_Specific_Data_Ptr): Moved here from the package
|
4015 |
|
|
spec.
|
4016 |
|
|
(Default_Prim_Op_Count): Removed.
|
4017 |
|
|
(IW_Membership, Get_Entry_Index, Get_Offset_Index, Get_Prim_Op_Kind,
|
4018 |
|
|
Register_Tag, Set_Entry_Index, Set_Offset_To_Top, Set_Prim_Op_Kind):
|
4019 |
|
|
Remove pragma Inline_Always.
|
4020 |
|
|
|
4021 |
|
|
* rtsfind.ads (Default_Prim_Op_Count): Removed
|
4022 |
|
|
(Max_Predef_Prims): New entity
|
4023 |
|
|
(RE_Expanded_Name): Removed
|
4024 |
|
|
(RE_HT_Link): Removed
|
4025 |
|
|
(RE_Iface_Tag): Remmoved
|
4026 |
|
|
(RE_Ifaces_Table): Removed
|
4027 |
|
|
(RE_Interfaces_Array): Removed
|
4028 |
|
|
(RE_Interface_Data_Element): Removed
|
4029 |
|
|
(RE_Nb_Ifaces): Removed
|
4030 |
|
|
(RE_RC_Offset): Removed
|
4031 |
|
|
(RE_Static_Offset_To_Top): Removed
|
4032 |
|
|
|
4033 |
|
|
* exp_atag.ads, exp_atag.adb (Build_Inherit_Prims): Addition of a new
|
4034 |
|
|
formal.
|
4035 |
|
|
(Build_Inherit_Predefined_Prims): Replace occurrences of Default_
|
4036 |
|
|
Prim_Op_Count by Max_Predef_Prims.
|
4037 |
|
|
|
4038 |
|
|
2007-08-14 Thomas Quinot
|
4039 |
|
|
Vincent Celier
|
4040 |
|
|
|
4041 |
|
|
* binde.adb (Elab_All_Links): Remove unnecessary call to
|
4042 |
|
|
Generic_Separately_Compiled (if a unit satisfies this predicate, there
|
4043 |
|
|
won't be an associated Afile).
|
4044 |
|
|
(Elab_All_Links): Fail if a referenced unit cannot be found
|
4045 |
|
|
|
4046 |
|
|
* bindgen.adb:
|
4047 |
|
|
Fix comments in bindgen regarding consistency checks done in Bcheck:
|
4048 |
|
|
the checks are made across units within a partition, not across several
|
4049 |
|
|
partitions.
|
4050 |
|
|
Fix generation of C binder file for VxWorks.
|
4051 |
|
|
|
4052 |
|
|
* lib.ads, lib.adb (Generic_Separately_Compiled): Rename to
|
4053 |
|
|
Generic_May_Lack_ALI, more descriptive of the current use of the
|
4054 |
|
|
predicate, and update documentation.
|
4055 |
|
|
|
4056 |
|
|
* lib-writ.ads, lib-writ.adb (Write_With_Lines): Minor code
|
4057 |
|
|
reorganization and documentation update for the case of predefined
|
4058 |
|
|
library generics (for which we do not reference an Afile).
|
4059 |
|
|
|
4060 |
|
|
2007-08-14 Robert Dewar
|
4061 |
|
|
|
4062 |
|
|
* s-intman-irix.adb, s-osinte-irix.adb, s-osinte-irix.ads,
|
4063 |
|
|
s-proinf-irix-athread.ads, s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads,
|
4064 |
|
|
s-parame-hpux.ads, s-intman-dummy.adb, s-tasinf-solaris.adb,
|
4065 |
|
|
s-tasinf-solaris.ads, s-asthan-vms-alpha.adb, s-inmaop-vms.adb,
|
4066 |
|
|
s-intman-vms.adb, s-intman-vms.ads, s-osprim-mingw.adb,
|
4067 |
|
|
s-parame-vms-restrict.ads, s-parame-ae653.ads, s-intman-vxworks.ads,
|
4068 |
|
|
s-intman-vxworks.ads, s-intman-vxworks.adb, s-parame-vxworks.ads,
|
4069 |
|
|
s-tfsetr-vxworks.adb, s-interr.adb, s-interr.ads, a-tasatt.adb,
|
4070 |
|
|
exp_ch13.adb, s-htable.ads, s-imgboo.ads, s-imglli.ads, s-imgllu.ads,
|
4071 |
|
|
s-imguns.ads, g-eacodu.adb, par-ch12.adb, s-stache.ads, s-stausa.adb,
|
4072 |
|
|
s-poosiz.adb, s-parame.ads, s-mastop.ads, s-osinte-darwin.ads,
|
4073 |
|
|
a-chtgke.adb, s-asthan-vms-alpha.adb, s-parame-vms-alpha.ads,
|
4074 |
|
|
s-parame-vms-ia64.ads, s-parame-vxworks.adb, s-except.ads,
|
4075 |
|
|
g-altcon.adb: Minor reformatting
|
4076 |
|
|
|
4077 |
|
|
ada-tree.h: Delete empty line.
|
4078 |
|
|
|
4079 |
|
|
ali.ads: Minor reformatting
|
4080 |
|
|
Clarification of comments.
|
4081 |
|
|
Minor spelling correction
|
4082 |
|
|
|
4083 |
|
|
* exp_dbug.adb: Add Warnings Off to suppress new warning
|
4084 |
|
|
|
4085 |
|
|
* a-witeio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
|
4086 |
|
|
formal
|
4087 |
|
|
|
4088 |
|
|
* a-strunb.adb (Set_Unbounded_String): Avoid memory leak by freeing old
|
4089 |
|
|
value
|
4090 |
|
|
|
4091 |
|
|
* a-textio.adb (Write): Remove an unnecessary IN OUT mode from
|
4092 |
|
|
|
4093 |
|
|
* a-textio.ads: Reorder the standard input/output/error declarations
|
4094 |
|
|
for consistency.
|
4095 |
|
|
|
4096 |
|
|
* g-dirope.adb, g-dirope.ads: Change Dir to mode IN for Open call
|
4097 |
|
|
|
4098 |
|
|
* par-ch2.adb: Recognize RM specially in errout
|
4099 |
|
|
Change 'R'M to RM in all error messages
|
4100 |
|
|
|
4101 |
|
|
* scng.adb: Recognize RM specially in errout
|
4102 |
|
|
|
4103 |
|
|
* sem.ads, sem.adb, exp_strm.adb, exp_ch5.ads, expander.adb: Rename
|
4104 |
|
|
N_Return node to be N_Simple_Return, to reflect Ada 2005 terminology.
|
4105 |
|
|
|
4106 |
|
|
* s-direio.adb: Add missing routine header box.
|
4107 |
|
|
|
4108 |
|
|
* sem_attr.ads: Add ??? comments
|
4109 |
|
|
|
4110 |
|
|
* sem_eval.adb: Recognize RM specially in errout
|
4111 |
|
|
Change 'R'M to RM in all error messages
|
4112 |
|
|
|
4113 |
|
|
* sem_maps.adb, sem_maps.ads: Remove some unnecessary IN OUT modes
|
4114 |
|
|
|
4115 |
|
|
* s-tasinf.ads: Fix minor comment typo.
|
4116 |
|
|
|
4117 |
|
|
* a-cihama.adb: Minor comment addition
|
4118 |
|
|
|
4119 |
|
|
* a-ztexio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
|
4120 |
|
|
formal
|
4121 |
|
|
|
4122 |
|
|
* s-tasinf-tru64.ads: Fix minor comment typo.
|
4123 |
|
|
|
4124 |
|
|
* itypes.ads: Comment update.
|
4125 |
|
|
|
4126 |
|
|
* ali-util.adb: Remove Generic_Separately_Compiled guard, not needed
|
4127 |
|
|
anymore.
|
4128 |
|
|
|
4129 |
|
|
* argv.c: Added protection against null gnat_argv and gnat_envp.
|
4130 |
|
|
|
4131 |
|
|
* bcheck.adb (Check_Consistency): Use correct markup character ({) in
|
4132 |
|
|
warning message when Tolerate_Consistency_Errors is True.
|
4133 |
|
|
|
4134 |
|
|
* cstand.adb (Create_Standard): Do not call Init_Size_Alignment for
|
4135 |
|
|
Any_Id, as this subprogram is only applicable to *type* entities (it
|
4136 |
|
|
sets RM_Size). Instead initialize just Esize and Alignment.
|
4137 |
|
|
|
4138 |
|
|
2007-08-14 Bob Duff
|
4139 |
|
|
|
4140 |
|
|
* a-cihama.ads, a-cidlli.ads, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
|
4141 |
|
|
a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
|
4142 |
|
|
a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorse.ads, a-cohama.ads,
|
4143 |
|
|
a-cohata.ads, a-convec.adb, a-coinve.ads, a-coinve.adb, a-convec.ads,
|
4144 |
|
|
a-coorse.ads (Next): Applied pragma Inline.
|
4145 |
|
|
Make all Containers packages Remote_Types (unless they are already
|
4146 |
|
|
Pure).
|
4147 |
|
|
(Previous): applied pragma Inline
|
4148 |
|
|
(Elements_Type): is now a record instead of an array
|
4149 |
|
|
|
4150 |
|
|
2007-08-14 Thomas Quinot
|
4151 |
|
|
|
4152 |
|
|
* table.adb, g-table.adb, g-dyntab.adb (Append): Reimplement in terms
|
4153 |
|
|
of Set_Item.
|
4154 |
|
|
(Set_Item): When the new item is an element of the currently allocated
|
4155 |
|
|
table passed by reference, save a copy on the stack if we're going
|
4156 |
|
|
to reallocate. Also, in Table.Set_Item, make sure we test the proper
|
4157 |
|
|
variable to determine whether to call Set_Last.
|
4158 |
|
|
|
4159 |
|
|
* sinput-d.adb, sinput-l.adb, stringt.adb, switch-m.adb,
|
4160 |
|
|
symbols-vms.adb, symbols-processing-vms-alpha.adb,
|
4161 |
|
|
symbols-processing-vms-ia64.adb, sem_elab.adb, repinfo.adb: Replace
|
4162 |
|
|
some occurrences of the pattern
|
4163 |
|
|
T.Increment_Last;
|
4164 |
|
|
T.Table (T.Last) := Value;
|
4165 |
|
|
with a cleaner call to
|
4166 |
|
|
T.Append (Value);
|
4167 |
|
|
|
4168 |
|
|
2007-08-14 Ed Schonberg
|
4169 |
|
|
Gary Dismukes
|
4170 |
|
|
Thomas Quinot
|
4171 |
|
|
|
4172 |
|
|
* sem_ch12.ads, sem_ch12.adb (Instantiate_Type): If the formal is a
|
4173 |
|
|
derived type with interface progenitors use the analyzed formal as the
|
4174 |
|
|
parent of the actual, to create renamings for all the inherited
|
4175 |
|
|
operations in Derive_Subprograms.
|
4176 |
|
|
(Collect_Previous_Instances): new procedure within of
|
4177 |
|
|
Load_Parent_Of_Generic, to instantiate all bodies in the compilation
|
4178 |
|
|
unit being loaded, to ensure that the generation of global symbols is
|
4179 |
|
|
consistent in different compilation modes.
|
4180 |
|
|
(Is_Tagged_Ancestor): New function testing the ancestor relation that
|
4181 |
|
|
takes progenitor types into account.
|
4182 |
|
|
(Validate_Derived_Type_Instance): Enforce the rule of 3.9.3(9) by
|
4183 |
|
|
traversing over the primitives of the formal and actual types to locate
|
4184 |
|
|
any abstract subprograms of the actual type that correspond to a
|
4185 |
|
|
nonabstract subprogram of the formal type's ancestor type(s), and issue
|
4186 |
|
|
an error if such is found.
|
4187 |
|
|
(Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation,
|
4188 |
|
|
Instantiate_Package_Body, Instantiate_Subprogram_Body):
|
4189 |
|
|
Remove bogus guard around calls to Inherit_Context.
|
4190 |
|
|
(Reset_Entity): If the entity is the selector of a selected component
|
4191 |
|
|
that denotes a named number, propagate constant-folding to the generic
|
4192 |
|
|
template only if the named number is global to the generic unit.
|
4193 |
|
|
(Set_Instance_Env): Only reset the compilation switches when compiling
|
4194 |
|
|
a predefined or internal unit.
|
4195 |
|
|
|
4196 |
|
|
2007-08-14 Ed Schonberg
|
4197 |
|
|
|
4198 |
|
|
* sem_ch4.adb (Try_Class_Wide_Operation): use base type of first
|
4199 |
|
|
parameter to determine whether operation applies to the prefix.
|
4200 |
|
|
(Complete_Object_Operation): If actual has an access type and
|
4201 |
|
|
controlling formal is not an in_parameter, reject the actual if it is
|
4202 |
|
|
an access_to_constant type.
|
4203 |
|
|
(Try_Primitive_Operation): If the type of the prefix is a formal tagged
|
4204 |
|
|
type, the candidate operations are found in the scope of declaration of
|
4205 |
|
|
the type, because the type has no primitive subprograms.
|
4206 |
|
|
(Analyze_Selected_Component): If prefix is class-wide, and root type is
|
4207 |
|
|
a private extension, only examine visible components before trying to
|
4208 |
|
|
analyze as a prefixed call.
|
4209 |
|
|
Change Entity_List to Type_To_Use, for better readability.
|
4210 |
|
|
(Has_Fixed_Op): Use base type when checking whether the type of an
|
4211 |
|
|
operator has a user-defined multiplication/division
|
4212 |
|
|
(Check_Arithmetic_Pair): Use Ada 2005 rules to remove ambiguities when
|
4213 |
|
|
user-defined operators are available for fixed-point types.
|
4214 |
|
|
|
4215 |
|
|
2007-08-14 Thomas Quinot
|
4216 |
|
|
Ed Schonberg
|
4217 |
|
|
|
4218 |
|
|
* sem_cat.ads, sem_cat.adb (Has_Stream_Attribute_Definition): New
|
4219 |
|
|
formal At_Any_Place indicating, when True, that we want to test for
|
4220 |
|
|
availability of the stream attribute at any place (as opposed to the
|
4221 |
|
|
current visibility context only).
|
4222 |
|
|
(Missing_Read_Write_Attributes): A stream attribute is missing for the
|
4223 |
|
|
purpose of enforcing E.2.2(8) only if it is not available at any place.
|
4224 |
|
|
Take into account the Ada2005 pragma Has_Preelaborable_Initialization
|
4225 |
|
|
when checking the legality of an extension aggregate in a preelaborable
|
4226 |
|
|
package. Treat the literal null as a valid default expression in a
|
4227 |
|
|
component declaration for a type with preelaborable initialization.
|
4228 |
|
|
A limited interface is a legal progenitor for the designated type of a
|
4229 |
|
|
remote access to class-wide type.
|
4230 |
|
|
|
4231 |
|
|
2007-08-14 Thomas Quinot
|
4232 |
|
|
Ed Schonberg
|
4233 |
|
|
|
4234 |
|
|
* sem_ch8.ads, sem_ch8.adb (Find_Type, case of a 'Base attribute
|
4235 |
|
|
reference): Use correct entity as denoted entity for the selector of
|
4236 |
|
|
the rewritten node.
|
4237 |
|
|
(Find_Direct_Name): Add comment about Generate_Reference incorrectly
|
4238 |
|
|
setting the Referenced_As_LHS flag for entities that are implicitly
|
4239 |
|
|
dereferenced.
|
4240 |
|
|
(Find_Type): If the type is an internally generated incomplete type,
|
4241 |
|
|
mark the full view as referenced, to prevent spurious warnings.
|
4242 |
|
|
(Find_Selected_Component, Has_Components): Handle properly non-limited
|
4243 |
|
|
views that are themselves incomplete types.
|
4244 |
|
|
Handle interfaces visible through limited-with clauses.
|
4245 |
|
|
(Analyze_Subprogram_Renaming): Disambiguate and set the entity of a
|
4246 |
|
|
subprogram generic actual for which we have generated a renaming.
|
4247 |
|
|
Warn when the renaming introduces a homonym of
|
4248 |
|
|
the renamed entity, and the renamed entity is directly visible.
|
4249 |
|
|
|
4250 |
|
|
2007-08-14 Ed Schonberg
|
4251 |
|
|
Hristian Kirtchev
|
4252 |
|
|
|
4253 |
|
|
* sem_res.adb (Resolve_Allocator): Propagate any coextensions that
|
4254 |
|
|
appear in the subtree to the current allocator if it is not a static
|
4255 |
|
|
coextension.
|
4256 |
|
|
(Resolve_Allocator): Perform cleanup if resolution has determined that
|
4257 |
|
|
the allocator is not a coextension.
|
4258 |
|
|
(Resolve): Skip an interpretation hidden by an abstract operator only
|
4259 |
|
|
when the type of the interpretation matches that of the context.
|
4260 |
|
|
(Resolve): When looping through all possible interpretations of a node,
|
4261 |
|
|
do not consider those that are hidden by abstract operators.
|
4262 |
|
|
(Resolve_Actuals): When verifying that an access to class-wide object
|
4263 |
|
|
is an actual for a controlling formal, ignore anonymous access to
|
4264 |
|
|
subprograms whose return type is an access to class_wide type.
|
4265 |
|
|
(Resolve_Slice): If the prefix of the slice is a selected component
|
4266 |
|
|
whose type depends on discriminants, build its actual subtype before
|
4267 |
|
|
applying range checks on the bounds of the slice.
|
4268 |
|
|
(Valid_Conversion): In an instance or inlined body, compare root types,
|
4269 |
|
|
to prevent anomalies between private and public views.
|
4270 |
|
|
(Resolve): Improve error message for ambiguous fixed multiplication
|
4271 |
|
|
expressions that involve universal_fixed multiplying operations.
|
4272 |
|
|
|
4273 |
|
|
2007-08-14 Javier Miranda
|
4274 |
|
|
Hristian Kirtchev
|
4275 |
|
|
|
4276 |
|
|
* exp_ch9.adb (Build_Protected_Entry): Propagate the original source
|
4277 |
|
|
location to allow the correct generation of errors in case of
|
4278 |
|
|
restrictions applied to the expanded code.
|
4279 |
|
|
(Expand_Entry_Barrier): Remove all generated renamings for a barrier
|
4280 |
|
|
function if the condition does not reference them.
|
4281 |
|
|
(Expand_Entry_Body_Declarations): Mark the index constant as having a
|
4282 |
|
|
valid value.
|
4283 |
|
|
|
4284 |
|
|
2007-08-14 Thomas Quinot
|
4285 |
|
|
Pablo Oliveira
|
4286 |
|
|
|
4287 |
|
|
* exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating
|
4288 |
|
|
typecode parameters for a union (in a variant record), remove
|
4289 |
|
|
extraneous layer of Any wrapping for member label.
|
4290 |
|
|
(Expand_Receiving_Stubs_Bodies): For an RCI package body that has
|
4291 |
|
|
elabration statements, register the package with the name server
|
4292 |
|
|
at the beginning, not at the end, of the elaboration statements so
|
4293 |
|
|
that they can create remote access to subprogram values that designate
|
4294 |
|
|
remote subprograms from the package.
|
4295 |
|
|
|
4296 |
|
|
2007-08-14 Hristian Kirtchev
|
4297 |
|
|
|
4298 |
|
|
* g-catiio.adb (Image): For the case of %s, use Ada.Calendar.Time
|
4299 |
|
|
values to compute the number of seconds since the Unix Epoc in order to
|
4300 |
|
|
account for Daylight Savings Time. Perform special processing for dates
|
4301 |
|
|
that are earlier than the Unix Epoc to obtain a negative number.
|
4302 |
|
|
|
4303 |
|
|
2007-08-14 Emmanuel Briot
|
4304 |
|
|
|
4305 |
|
|
* g-comlin.adb (Getopt): Fix handling of "*" switch when not collapsing
|
4306 |
|
|
switches.
|
4307 |
|
|
|
4308 |
|
|
2007-08-14 Eric Botcazou
|
4309 |
|
|
|
4310 |
|
|
* gnatlink.adb (Gnatlink): Pass switches to the linker even if the
|
4311 |
|
|
binder-generated file is not in Ada.
|
4312 |
|
|
Pass -mrtp to the linker if it is GCC and --RTS=rtp has been
|
4313 |
|
|
recorded in the ALI file.
|
4314 |
|
|
Pass -fsjlj to the linker if it is GCC and --RTS=sjlj has been recorded.
|
4315 |
|
|
|
4316 |
|
|
2007-08-14 Vincent Celier
|
4317 |
|
|
|
4318 |
|
|
* gnatls.adb: (Corresponding_Sdep_Entry): Always return a value
|
4319 |
|
|
(Output_Source): Do nothing if parameter is No_Sdep_Id
|
4320 |
|
|
|
4321 |
|
|
* make.adb (Gnatmake): Do not rebuild an archive simply because a
|
4322 |
|
|
shared library it imports has a later time stamp.
|
4323 |
|
|
(Check): Resolve the symbolic links in the path name of the object
|
4324 |
|
|
directory.
|
4325 |
|
|
Check that the ALI file is in the correct object directory
|
4326 |
|
|
Check if a file name does not correspond to the mapping of units
|
4327 |
|
|
to file names.
|
4328 |
|
|
(Display_Version): New procedure
|
4329 |
|
|
(Initialize): Process switches --version and --help
|
4330 |
|
|
Use type Path_Name_Type for path name
|
4331 |
|
|
|
4332 |
|
|
2007-08-14 Paul Hilfinger
|
4333 |
|
|
|
4334 |
|
|
* impunit.adb: Re-organize System.Random_Numbers and
|
4335 |
|
|
GNAT.Random_Numbers and add to builds.
|
4336 |
|
|
|
4337 |
|
|
* Makefile.rtl: Add s-rannum.ad* and g-rannum.ad*, a-assert*
|
4338 |
|
|
|
4339 |
|
|
* s-rannum.ads, s-rannum.adb, g-rannum.ads, g-rannum.adb: New files.
|
4340 |
|
|
|
4341 |
|
|
* a-assert.ads, a-assert.adb: New files.
|
4342 |
|
|
|
4343 |
|
|
2007-08-14 Gary Dismukes
|
4344 |
|
|
|
4345 |
|
|
* layout.adb (Layout_Type): In the case of access-to-subprogram types,
|
4346 |
|
|
if AAMP_On_Target is True, then the size of the type encompasses two
|
4347 |
|
|
addresses (a static link and a subprogram address), except in the case
|
4348 |
|
|
of library-level access types.
|
4349 |
|
|
|
4350 |
|
|
2007-08-14 Vincent Celier
|
4351 |
|
|
|
4352 |
|
|
* output.ads, output.adb (Write_Eol): Remove trailing spaces before
|
4353 |
|
|
writing the line.
|
4354 |
|
|
(Write_Eol_Keep_Blanks): New procedure to write a line, including
|
4355 |
|
|
possible trailing spaces.
|
4356 |
|
|
(Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
|
4357 |
|
|
|
4358 |
|
|
2007-08-14 Javier Miranda
|
4359 |
|
|
|
4360 |
|
|
* par-ch6.adb (P_Formal_Part): Fix wrong error message associated with
|
4361 |
|
|
null-excluding access types.
|
4362 |
|
|
|
4363 |
|
|
2007-08-14 Javier Miranda
|
4364 |
|
|
|
4365 |
|
|
* sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code
|
4366 |
|
|
that is common to Analyze_Protected_Type and Analyze_Task_Type. In case
|
4367 |
|
|
of private types add missing check on matching interfaces in the
|
4368 |
|
|
partial and full declarations.
|
4369 |
|
|
(Analyze_Protected_Type): Code cleanup.
|
4370 |
|
|
(Analyze_Task_Type): Code cleanup.
|
4371 |
|
|
|
4372 |
|
|
2007-08-14 Javier Miranda
|
4373 |
|
|
|
4374 |
|
|
* sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a
|
4375 |
|
|
generated interface thunk.
|
4376 |
|
|
|
4377 |
|
|
2007-08-14 Ed Schonberg
|
4378 |
|
|
|
4379 |
|
|
* s-ficobl.ads: Declare AFCB as a tagged incomplete type, to prevent
|
4380 |
|
|
obsolescent warning on application of 'Class to an incomplete type.
|
4381 |
|
|
|
4382 |
|
|
* s-finroo.ads: Declare Root_Controlled as a tagged incomplete type, to
|
4383 |
|
|
prevent obsolescent warning on application of 'Class to an incomplete
|
4384 |
|
|
type.
|
4385 |
|
|
|
4386 |
|
|
2007-08-14 Pascal Obry
|
4387 |
|
|
|
4388 |
|
|
* s-fileio.adb (Is_Open): Add check for usability of the underlying
|
4389 |
|
|
file stream.
|
4390 |
|
|
|
4391 |
|
|
2007-08-14 Cyrille Comar
|
4392 |
|
|
|
4393 |
|
|
* s-finimp.adb (Detach_From_Final_List): make this procedure idempotent
|
4394 |
|
|
since it is potentially used in cases implying double finalization of
|
4395 |
|
|
the same object.
|
4396 |
|
|
|
4397 |
|
|
2007-08-14 Jose Ruiz
|
4398 |
|
|
|
4399 |
|
|
* s-tasini.adb (Get_Stack_Info): Move this function to
|
4400 |
|
|
System.Soft_Links.Tasking because it is common to the full and the
|
4401 |
|
|
restricted run times.
|
4402 |
|
|
(Init_RTS): Do not set the Get_Stack_Info soft link because it is done
|
4403 |
|
|
in SSL.Tasking.Init_Tasking_Soft_Links.
|
4404 |
|
|
|
4405 |
|
|
* s-solita.adb (Get_Stack_Info): Function moved from
|
4406 |
|
|
System.Tasking.Initialization because it is common to the full and the
|
4407 |
|
|
restricted run times.
|
4408 |
|
|
(Init_Tasking_Soft_Links): Set the tasking soft link for Get_Stack_Info.
|
4409 |
|
|
|
4410 |
|
|
2007-08-14 Arnaud Charlet
|
4411 |
|
|
|
4412 |
|
|
* s-tpobop.ads, s-tpobop.adb, s-tasren.ads, s-tasren.adb,
|
4413 |
|
|
s-taskin.ads (Requeue_With_Abort): Rename field With_Abort.
|
4414 |
|
|
(PO_Do_Or_Queue, Task_Do_Or_Queue, Requeue_Call): Remove With_Abort
|
4415 |
|
|
parameter.
|
4416 |
|
|
|
4417 |
|
|
* s-tassta.adb (Task_Wrapper): Increased value of the small overflow
|
4418 |
|
|
guard to 12K.
|
4419 |
|
|
|
4420 |
|
|
2007-08-14 Gary Dismukes
|
4421 |
|
|
|
4422 |
|
|
* s-veboop.adb (SU): New named number initialized to
|
4423 |
|
|
System.Storage_Unit.
|
4424 |
|
|
(True_Val): The initialization expression is revised to use SU (=
|
4425 |
|
|
Storage_Unit) rather than assuming 8 for the component size of an
|
4426 |
|
|
unpacked Boolean array.
|
4427 |
|
|
|
4428 |
|
|
2007-08-14 Tristan Gingold
|
4429 |
|
|
|
4430 |
|
|
* tracebak.c: Use tb-ivms.c on OpenVMS Itanium.
|
4431 |
|
|
|
4432 |
|
|
* tb-ivms.c: New file.
|
4433 |
|
|
|
4434 |
|
|
* g-trasym-vms-ia64.adb: Fixed for OpenVMS version 8.2
|
4435 |
|
|
|
4436 |
|
|
2007-08-14 Geert Bosch
|
4437 |
|
|
|
4438 |
|
|
* i-forbla.ads, i-forbla.adb, a-ngcoar.adb, a-ngcoar.ads, i-forlap.ads,
|
4439 |
|
|
s-gearop.adb, s-gecobl.adb, s-gecobl.ads, s-gerela.adb, s-gerela.ads:
|
4440 |
|
|
Add required linker pragmas for automatically linking with the gnalasup
|
4441 |
|
|
linear algebra support library, and the systems math library.
|
4442 |
|
|
Rename cdot to cdotu and zdot to zdotu.
|
4443 |
|
|
Update header comment to describe purpose of package.
|
4444 |
|
|
|
4445 |
|
|
2007-08-14 Thomas Quinot
|
4446 |
|
|
|
4447 |
|
|
* exp_ch7.adb (Find_Final_List): For an anonymous access type that has
|
4448 |
|
|
an explicitly specified Associated_Final_Chain, use that list.
|
4449 |
|
|
(Expand_N_Package_Body): Build dispatch tables of library level tagged
|
4450 |
|
|
types.
|
4451 |
|
|
(Expand_N_Package_Declaration): Build dispatch tables of library level
|
4452 |
|
|
tagged types. Minor code cleanup.
|
4453 |
|
|
|
4454 |
|
|
2007-08-14 Vincent Celier
|
4455 |
|
|
|
4456 |
|
|
* gnatchop.adb (Terminate_Program): Remove exception and use
|
4457 |
|
|
Types.Terminate_Program instead.
|
4458 |
|
|
|
4459 |
|
|
* osint.ads, osint.adb (Current_Exit_Status): New global variable
|
4460 |
|
|
(Find_Program_Name): Added protection against empty name.
|
4461 |
|
|
(OS_Exit_Through_Exception): New procedure
|
4462 |
|
|
|
4463 |
|
|
* s-os_lib.ads, s-os_lib.adb (OS_Exit): New procedure body
|
4464 |
|
|
(OS_Exit_Default): New procedure that contains the previous
|
4465 |
|
|
implementation of procedure OS_Exit.
|
4466 |
|
|
(Final_Value): Remove obsolete Interix stuff.
|
4467 |
|
|
|
4468 |
|
|
2007-08-14 Thomas Quinot
|
4469 |
|
|
|
4470 |
|
|
* g-socket.ads: Reorganize example code so that it also works on
|
4471 |
|
|
Windows XP.
|
4472 |
|
|
|
4473 |
|
|
2007-08-14 Tristan Gingold
|
4474 |
|
|
|
4475 |
|
|
* g-trasym.ads: AIX now supports symbolic backtraces.
|
4476 |
|
|
|
4477 |
|
|
2007-08-14 Ed Schonberg
|
4478 |
|
|
|
4479 |
|
|
* lib-load.adb (From_Limited_With_Chain): Always scan the stack of
|
4480 |
|
|
units being loaded to detect circularities. A circularity may be
|
4481 |
|
|
present even if the current chain of pending units to load starts from
|
4482 |
|
|
a limited_with_clause.
|
4483 |
|
|
|
4484 |
|
|
* lib-load.ads: Change profile of Load_Unit to use a with_clause
|
4485 |
|
|
rather than a boolean flag, in order to detect circularities in
|
4486 |
|
|
with_clauses.
|
4487 |
|
|
|
4488 |
|
|
* par-load.adb: Use current with_clause in calls to Load_Unit, rather
|
4489 |
|
|
than propagating the From_Limited_With flag, in order to handle
|
4490 |
|
|
properly circularities involving with_clauses.
|
4491 |
|
|
|
4492 |
|
|
2007-08-14 Nicolas Setton
|
4493 |
|
|
|
4494 |
|
|
* link.c (FreeBSD): Add "const" keyword where needed, to eliminate
|
4495 |
|
|
warnings.
|
4496 |
|
|
|
4497 |
|
|
2007-08-14 Arnaud Charlet
|
4498 |
|
|
|
4499 |
|
|
* Makefile.in: GNATRTL_LINEARALGEBRA_OBJS: New variable holding objects
|
4500 |
|
|
to build for libgnala.
|
4501 |
|
|
libgnat: Add rules to build libgnala.a
|
4502 |
|
|
(LIBGNAT_TARGET_PAIRS for VxWorks): Remove s-osinte-vxworks.adb from
|
4503 |
|
|
target pairs of the VxWorks 6 kernel runtime, use it only for VxWorks 5.
|
4504 |
|
|
Add s-osinte-vxworks-kernel.adb to the target pairs of the
|
4505 |
|
|
kernel run-time lib for VxWorks 6, which would provide a different
|
4506 |
|
|
implementation for Task_Cont and Task_Stop than the VxWorks 5 version.
|
4507 |
|
|
x86-solaris section (EH_MECHANISM): Set to -gcc, as this port is now
|
4508 |
|
|
running ZCX by default.
|
4509 |
|
|
Add g-sttsne-locking to LynxOS version.
|
4510 |
|
|
Remove g-sttsne-vxworks.ads; use g-sttsne-locking.ads instead.
|
4511 |
|
|
On x86/darwin, use a-numaux-x86.ad? and system-darwin-x86.ads.
|
4512 |
|
|
|
4513 |
|
|
* system-darwin-x86.ads: New file.
|
4514 |
|
|
|
4515 |
|
|
* Make-lang.in: Delete files before copying onto them, so if they are
|
4516 |
|
|
read-only, the copy won't fail.
|
4517 |
|
|
Update dependencies
|
4518 |
|
|
|
4519 |
|
|
2007-08-14 Pascal Obry
|
4520 |
|
|
|
4521 |
|
|
* mdll-fil.adb, * mdll.adb: Implement a more consistent libraries
|
4522 |
|
|
naming scheme.
|
4523 |
|
|
|
4524 |
|
|
2007-08-14 Vincent Celier
|
4525 |
|
|
|
4526 |
|
|
* mlib-utl.adb (Gcc_Name): Change from constant String to String_Access
|
4527 |
|
|
(Gcc): Initialize Gcc_Name at the first call
|
4528 |
|
|
|
4529 |
|
|
2007-08-14 Ed Schonberg
|
4530 |
|
|
|
4531 |
|
|
* sem_ch7.adb (Analyze_Package_Specification): Do not install private
|
4532 |
|
|
with_clauses of the enclosing unit when analyzing the package
|
4533 |
|
|
specification of a nested instance.
|
4534 |
|
|
|
4535 |
|
|
2007-08-14 Hristian Kirtchev
|
4536 |
|
|
|
4537 |
|
|
* sinfo.ads, sinfo.adb (Is_Coextension, Set_Is_Coextension): Removed.
|
4538 |
|
|
(Is_Dynamic_Coextension, Set_Is_Dynamic_Coextension): New routines.
|
4539 |
|
|
Remove flag Is_Coextension. Add flag Is_Dynamic_Coextension. Update the
|
4540 |
|
|
layout of N_Allocator.
|
4541 |
|
|
|
4542 |
|
|
2007-08-14 Thomas Quinot
|
4543 |
|
|
|
4544 |
|
|
* rtsfind.adb (Check_RPC): Add PCS version check.
|
4545 |
|
|
|
4546 |
|
|
* gnatvsn.ads, gnatvsn.adb: Add PCS version.
|
4547 |
|
|
(Gnat_Free_Software): New function.
|
4548 |
|
|
|
4549 |
|
|
* sem_dist.ads, sem_dist.adb (Get_PCS_Version): New subprogram. Returns
|
4550 |
|
|
the PCS_Version value from s-parint, used to check that it is consistent
|
4551 |
|
|
with what exp_dist expects.
|
4552 |
|
|
|
4553 |
|
|
* s-parint.ads (PCS_Version): New entity for checking consistency
|
4554 |
|
|
between exp_dist and PCS.
|
4555 |
|
|
|
4556 |
|
|
* gen-soccon.c: (SO_REUSEPORT): New constant.
|
4557 |
|
|
|
4558 |
|
|
2007-08-14 Hristian Kirtchev
|
4559 |
|
|
|
4560 |
|
|
* a-calfor.adb (Image (Duration; Boolean)): Change type of local
|
4561 |
|
|
variable Sub_Second to Duration in order to accomodate a larger range
|
4562 |
|
|
of arithmetic operations.
|
4563 |
|
|
|
4564 |
|
|
2007-08-14 Bob Duff
|
4565 |
|
|
|
4566 |
|
|
* g-sttsne-locking.ads: Move comments from spec to body.
|
4567 |
|
|
* g-sttsne-locking.adb: Move comments from spec to body.
|
4568 |
|
|
* g-sttsne-vxworks.ads: Removed.
|
4569 |
|
|
* g-sttsne-vxworks.adb: Removed.
|
4570 |
|
|
|
4571 |
|
|
2007-08-11 Ian Lance Taylor
|
4572 |
|
|
|
4573 |
|
|
* misc.c (gnat_get_alias_set): Change return type to
|
4574 |
|
|
alias_set_type.
|
4575 |
|
|
|
4576 |
|
|
2007-08-11 Kaveh R. Ghazi
|
4577 |
|
|
|
4578 |
|
|
* decl.c, utils2.c: Fix whitespace in last change.
|
4579 |
|
|
|
4580 |
|
|
2007-08-11 Kaveh R. Ghazi
|
4581 |
|
|
|
4582 |
|
|
* decl.c (compare_field_bitpos): Constify.
|
4583 |
|
|
* utils2.c (compare_elmt_bitpos): Likewise.
|
4584 |
|
|
|
4585 |
|
|
2007-07-27 Aurelien Jarno
|
4586 |
|
|
|
4587 |
|
|
* s-osinte-kfreebsd-gnu.ads ((sigset_t_ptr): Removed, replaced by
|
4588 |
|
|
anonymous access type.
|
4589 |
|
|
(pthread_sigmask): Now take an access sigset_t.
|
4590 |
|
|
|
4591 |
|
|
2007-07-05 Joel Sherrill
|
4592 |
|
|
|
4593 |
|
|
* s-osinte-rtems.ads: Correct prototype of pthread_sigmask.
|
4594 |
|
|
|
4595 |
|
|
2007-06-21 Eric Botcazou
|
4596 |
|
|
|
4597 |
|
|
PR tree-optimization/25737
|
4598 |
|
|
* misc.c (gnat_post_options): Do not force flag_tree_salias to 0.
|
4599 |
|
|
|
4600 |
|
|
2007-06-15 Andrew Pinski
|
4601 |
|
|
|
4602 |
|
|
* trans.c (Attribute_to_gnu): When subtracting an
|
4603 |
|
|
offset from a pointer, use POINTER_PLUS_EXPR with
|
4604 |
|
|
NEGATE_EXPR instead of MINUS_EXPR.
|
4605 |
|
|
(gnat_to_gnu): Likewise.
|
4606 |
|
|
* utils.c (convert): When converting between
|
4607 |
|
|
thin pointers, use POINTER_PLUS_EXPR and sizetype
|
4608 |
|
|
for the offset.
|
4609 |
|
|
* utils2.c (known_alignment): POINTER_PLUS_EXPR
|
4610 |
|
|
have the same semantics as PLUS_EXPR for alignment.
|
4611 |
|
|
(build_binary_op): Add support for the semantics of
|
4612 |
|
|
POINTER_PLUS_EXPR's operands.
|
4613 |
|
|
When adding an offset to a pointer, use POINTER_PLUS_EXPR.
|
4614 |
|
|
|
4615 |
|
|
2007-06-11 Rafael Ávila de Espíndola
|
4616 |
|
|
|
4617 |
|
|
* trans.c (Attribute_to_gnu): Use signed_or_unsigned_type_for instead
|
4618 |
|
|
of get_signed_or_unsigned_type.
|
4619 |
|
|
* misc.c (LANG_HOOKS_SIGNED_TYPE): Remove.
|
4620 |
|
|
|
4621 |
|
|
2007-06-11 Bob Duff
|
4622 |
|
|
Thomas Quinot
|
4623 |
|
|
|
4624 |
|
|
* g-stsifd-sockets.adb (Create): Work around strange behavior of
|
4625 |
|
|
'bind' on windows that causes 'connect' to fail intermittently, by
|
4626 |
|
|
retrying the 'bind'.
|
4627 |
|
|
(GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
|
4628 |
|
|
|
4629 |
|
|
2007-06-10 Duncan Sands
|
4630 |
|
|
|
4631 |
|
|
* decl.c (gnat_to_gnu_entity): Use pointers to dummy nodes, rather
|
4632 |
|
|
than to void, for the fields when making a new fat pointer type.
|
4633 |
|
|
(gnat_substitute_in_type): Now substitute_in_type.
|
4634 |
|
|
* gigi.h (gnat_substitute_in_type): Likewise. Adjust recursive calls.
|
4635 |
|
|
* trans.c (gnat_gimplify_expr): Remove COMPONENT_REF kludge.
|
4636 |
|
|
* utils.c (update_pointer_to): Update fat pointers by updating the
|
4637 |
|
|
dummy node pointers used for the fields.
|
4638 |
|
|
|
4639 |
|
|
2007-06-06 Thomas Quinot
|
4640 |
|
|
Bob Duff
|
4641 |
|
|
|
4642 |
|
|
* g-soccon-freebsd.ads, g-soccon-vxworks.ads:,
|
4643 |
|
|
g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
|
4644 |
|
|
g-soccon-solaris.ads, g-soccon-vms.ads, g-soccon-tru64.ads: Add new
|
4645 |
|
|
constant Thread_Blocking_IO, always True by default, set False
|
4646 |
|
|
on a per-runtime basis.
|
4647 |
|
|
(Need_Netdb_Buffer): New constant.
|
4648 |
|
|
|
4649 |
|
|
* g-stheme.adb, g-sttsne.ads, g-sttsne-locking.ads,
|
4650 |
|
|
g-sttsne-locking.adb, g-sttsne-vxworks.ads, g-sttsne-vxworks.adb: New
|
4651 |
|
|
files.
|
4652 |
|
|
|
4653 |
|
|
* g-socthi-vxworks.ads, g-socthi-vxworks.adb,
|
4654 |
|
|
g-socthi-vms.ads, g-socthi-vms.adb (Safe_Gethostbyname,
|
4655 |
|
|
Safe_Gethostbyaddr, Safe_Getservbyname, Safe_Getservbyport): Use new
|
4656 |
|
|
child package Task_Safe_NetDB
|
4657 |
|
|
(Host_Error_Messages): Add stub body.
|
4658 |
|
|
(GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
|
4659 |
|
|
|
4660 |
|
|
* g-soccon-mingw.ads: Add Windows-specific constants.
|
4661 |
|
|
(Need_Netdb_Buffer): New constant.
|
4662 |
|
|
(GNAT.Sockets.Thin.C_Inet_Addr, Windows version): Remove useless Ada
|
4663 |
|
|
wrapper and import inet_addr(3) from the standard sockets library
|
4664 |
|
|
directly instead.
|
4665 |
|
|
(In_Addr): Add alignment clause.
|
4666 |
|
|
(GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
|
4667 |
|
|
|
4668 |
|
|
2007-06-06 Robert Dewar
|
4669 |
|
|
|
4670 |
|
|
* a-taster.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
|
4671 |
|
|
s-osinte-irix.ads, s-interr-sigaction.adb, s-mastop-irix.adb,
|
4672 |
|
|
s-osinte-hpux-dce.ads, s-osinte-interix.ads, s-osinte-solaris.ads,
|
4673 |
|
|
s-taspri-solaris.ads, s-inmaop-vms.adb, s-interr-vms.adb,
|
4674 |
|
|
s-mastop-vms.adb, s-osinte-vms.ads, s-tpopde-vms.adb,
|
4675 |
|
|
s-osinte-mingw.ads, s-interr-vxworks.adb, i-cstrea-vms.adb,
|
4676 |
|
|
a-diocst.adb, a-direio.adb, a-interr.adb, a-sequio.adb, a-siocst.adb,
|
4677 |
|
|
a-ssicst.adb, a-storio.adb, a-ststio.adb, a-stwima.adb, a-tasatt.adb,
|
4678 |
|
|
a-taside.adb, a-tiocst.adb, a-witeio.adb, a-wtcstr.adb, g-crc32.adb,
|
4679 |
|
|
g-dirope.adb, g-dyntab.adb, g-memdum.adb, g-regexp.adb, g-spipat.adb,
|
4680 |
|
|
g-spitbo.adb, g-string.adb, g-string.ads, g-table.adb, g-thread.adb,
|
4681 |
|
|
i-cobol.adb, i-cpoint.adb, i-cstrea.adb, i-cstrin.adb, i-pacdec.adb,
|
4682 |
|
|
s-addima.adb, s-arit64.adb, s-auxdec.adb, s-auxdec.ads,
|
4683 |
|
|
s-auxdec-vms_64.ads, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
|
4684 |
|
|
s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
|
4685 |
|
|
s-direio.adb, s-fileio.adb, s-finimp.ads, s-geveop.adb, s-imgenu.adb,
|
4686 |
|
|
s-pack03.adb, s-pack05.adb, s-pack06.adb, s-pack07.adb, s-pack09.adb,
|
4687 |
|
|
s-pack10.adb, s-pack11.adb, s-pack12.adb, s-pack13.adb, s-pack14.adb,
|
4688 |
|
|
s-pack15.adb, s-pack17.adb, s-pack18.adb, s-pack19.adb, s-pack20.adb,
|
4689 |
|
|
s-pack21.adb, s-pack22.adb, s-pack23.adb, s-pack24.adb, s-pack25.adb,
|
4690 |
|
|
s-pack26.adb, s-pack27.adb, s-pack28.adb, s-pack29.adb, s-pack30.adb,
|
4691 |
|
|
s-pack31.adb, s-pack33.adb, s-pack34.adb, s-pack35.adb, s-pack36.adb,
|
4692 |
|
|
s-pack37.adb, s-pack38.adb, s-pack39.adb, s-pack40.adb, s-pack41.adb,
|
4693 |
|
|
s-pack42.adb, s-pack43.adb, s-pack44.adb, s-pack45.adb, s-pack46.adb,
|
4694 |
|
|
s-pack47.adb, s-pack48.adb, s-pack49.adb, s-pack50.adb, s-pack51.adb,
|
4695 |
|
|
s-pack52.adb, s-pack53.adb, s-pack54.adb, s-pack55.adb, s-pack56.adb,
|
4696 |
|
|
s-pack57.adb, s-pack58.adb, s-pack59.adb, s-pack60.adb, s-pack61.adb,
|
4697 |
|
|
s-pack62.adb, s-pack63.adb, s-pooloc.adb, s-poosiz.adb, s-scaval.adb,
|
4698 |
|
|
s-sequio.adb, s-shasto.adb, s-stalib.ads, s-stratt.adb, s-strcom.adb,
|
4699 |
|
|
s-taasde.adb, s-tasdeb.adb, s-tasuti.ads, s-tataat.ads, s-tpoben.ads,
|
4700 |
|
|
s-valenu.adb, s-widenu.adb, s-wwdenu.adb, s-addope.adb, a-stzmap.adb,
|
4701 |
|
|
a-ztcstr.adb, a-ztexio.adb, s-osinte-linux-hppa.ads: Replace
|
4702 |
|
|
Unchecked_* by Ada.Unchecked_*
|
4703 |
|
|
|
4704 |
|
|
2007-06-06 Robert Dewar
|
4705 |
|
|
|
4706 |
|
|
* g-string.adb, s-proinf-irix-athread.adb, s-gloloc-mingw.adb,
|
4707 |
|
|
s-tfsetr-default.adb, gnatfind.adb, gnatxref.adb, gprep.adb,
|
4708 |
|
|
g-regexp.adb, g-regexp.ads, g-regpat.ads, g-tasloc.adb, g-tasloc.ads,
|
4709 |
|
|
output.adb, switch-m.ads, tree_in.ads, tree_io.ads, indepsw.ads,
|
4710 |
|
|
g-utf_32.adb, g-utf_32.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
|
4711 |
|
|
a-zchuni.ads: Replace GNAT.xxx by System.xxx when appropriate.
|
4712 |
|
|
|
4713 |
|
|
* s-utf_32.adb, s-utf_32.ads, s-os_lib.adb, s-os_lib.ads, s-regexp.adb,
|
4714 |
|
|
s-regexp.ads, s-regpat.adb, s-regpat.ads, s-string.adb, s-string.ads,
|
4715 |
|
|
s-tasloc.adb, s-tasloc.ads: New files.
|
4716 |
|
|
|
4717 |
|
|
2007-06-06 Bob Duff
|
4718 |
|
|
|
4719 |
|
|
* g-expect-vms.adb:
|
4720 |
|
|
(Send_Signal, Close): Raise Invalid_Process if the process id is invalid.
|
4721 |
|
|
* g-expect.ads, g-expect.adb (Send): Avoid useless copy of the string.
|
4722 |
|
|
(Send_Signal, Close): Raise Invalid_Process if the process id is
|
4723 |
|
|
invalid.
|
4724 |
|
|
(Pattern_Matcher_Access): Is now a general access type to be able to
|
4725 |
|
|
use aliased string.
|
4726 |
|
|
|
4727 |
|
|
2007-06-06 Thomas Quinot
|
4728 |
|
|
Arnaud Charlet
|
4729 |
|
|
|
4730 |
|
|
* a-intnam-aix.ads: Adjust comment to account for SIGADAABORT change
|
4731 |
|
|
(SIGEMT is now used instead of SIGTERM on AIX).
|
4732 |
|
|
|
4733 |
|
|
* s-osinte-aix.ads (Linker_Options): Use -pthread instead of -lpthreads.
|
4734 |
|
|
(Time_Slice_Supported): Set to True.
|
4735 |
|
|
Use SIGEMT instead of SIGTERM as SIGADAABORT.
|
4736 |
|
|
|
4737 |
|
|
2007-06-06 Hristian Kirtchev
|
4738 |
|
|
|
4739 |
|
|
* a-calend.ads, a-calend.adb, a-calend-vms.ads, a-calend-vms.adb ("-"
|
4740 |
|
|
(Time, Time)): Use To_Relative_Time rather than manual calculation to
|
4741 |
|
|
express the bounds of Duration as Time. Raise Time_Error when the
|
4742 |
|
|
result is greater or equal to the higher bound of Duration (on the
|
4743 |
|
|
margin case).
|
4744 |
|
|
("+" (Time, Duration)): Reorder code. Remove the declaration of constant
|
4745 |
|
|
Ada_High_And_Leaps.
|
4746 |
|
|
("-" (Time, Duration)): Reorder code. Remove the declaration of constant
|
4747 |
|
|
Ada_High_And_Leaps.
|
4748 |
|
|
("-" (Time, Time)): Reorder code.
|
4749 |
|
|
(All_Leap_Seconds): Removed.
|
4750 |
|
|
(Arithmetic_Operations.Add): Remove sign related kludge.
|
4751 |
|
|
(Arithmetic_Operations.Difference): Control the leaps seconds processing
|
4752 |
|
|
with flag Leap_Support.
|
4753 |
|
|
(Arithmetic_Operations.Subtract): Remove sign related kludge.
|
4754 |
|
|
(Check_Within_Time_Bounds): New procedure.
|
4755 |
|
|
(Clock): Control the leap seconds processing with flag Leap_Support.
|
4756 |
|
|
(Cumulative_Leap_Seconds): Assert that the target supports leap seconds.
|
4757 |
|
|
(Formatting_Operations.Split): Control the leap seconds processing with
|
4758 |
|
|
flag Leap_Support.
|
4759 |
|
|
(Formatting_Operations.Time_Of): Control the leaps seconds processing
|
4760 |
|
|
with flag Leap_Support. Adjust the year, month and day (if applicable)
|
4761 |
|
|
when the value of day seconds designates a new day.
|
4762 |
|
|
(Split): Use parameter associations for better readability. Integrate
|
4763 |
|
|
flag Is_Ada_05.
|
4764 |
|
|
(Time_Of): Use parameter associations for better readability. Integrate
|
4765 |
|
|
flag Is_Ada_05.
|
4766 |
|
|
|
4767 |
|
|
* a-calfor.adb (Split): Use parameter associations for better
|
4768 |
|
|
readability. Integrate flag Is_Ada_05.
|
4769 |
|
|
(Time_Of): Remove flag Leap_Checks. Use parameter associations for
|
4770 |
|
|
better readability. Integrate flag Is_Ada_05.
|
4771 |
|
|
|
4772 |
|
|
2007-06-06 Arnaud Charlet
|
4773 |
|
|
|
4774 |
|
|
* s-taprop-vms.adb, s-taprop-hpux-dce.adb, s-taprop-vxworks.adb,
|
4775 |
|
|
s-osprim-posix.adb, s-taprop-posix.adb, s-osprim-vxworks.adb,
|
4776 |
|
|
s-taprop-solaris.adb, s-osprim-solaris.adb, s-taprop-dummy.adb,
|
4777 |
|
|
s-osprim-unix.adb, s-osinte-freebsd.adb, s-osinte-freebsd.ads,
|
4778 |
|
|
s-osinte-lynxos.adb, s-osinte-lynxos.ads, s-taprop-tru64.adb,
|
4779 |
|
|
s-taprop-lynxos.adb, s-taprop-irix.adb, s-osinte-tru64.adb,
|
4780 |
|
|
s-osinte-tru64.ads, s-taprop-linux.adb, s-parame.ads,
|
4781 |
|
|
s-parame-vms-alpha.ads, s-parame-vms-ia64.ads, s-parame-hpux.ads,
|
4782 |
|
|
s-parame-vms-restrict.ads, s-parame-ae653.ads, s-parame-vxworks.ads,
|
4783 |
|
|
s-taprop-mingw.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos-3.adb,
|
4784 |
|
|
s-osprim-mingw.adb (Timed_Delay, Timed_Sleep): Register the base
|
4785 |
|
|
time when entering this routine to detect a backward clock setting
|
4786 |
|
|
(manual setting or DST adjustment), to avoid waiting for a longer delay
|
4787 |
|
|
than needed.
|
4788 |
|
|
(Time_Duration, To_Timeval, struct_timeval): Removed when not relevant.
|
4789 |
|
|
Remove handling of deferred priority change, and replace by setting the
|
4790 |
|
|
task priority directly, as required by AI-188.
|
4791 |
|
|
Update comments.
|
4792 |
|
|
(Max_Task_Image_Length): New constant.
|
4793 |
|
|
Replace Warnings (Off) by Unreferenced pragma, cleaner.
|
4794 |
|
|
(Dynamic_Priority_Support): Removed, no longer needed.
|
4795 |
|
|
(Poll_Base_Priority_Change): Ditto.
|
4796 |
|
|
(Set_Ceiling): Add this procedure to change the ceiling priority
|
4797 |
|
|
associated to a lock. This is a dummy implementation because dynamic
|
4798 |
|
|
priority ceilings are not supported by the underlying system.
|
4799 |
|
|
|
4800 |
|
|
* a-dynpri.adb (Set_Priority): Take into account case where Target is
|
4801 |
|
|
accepting a RV with its priority boosted.
|
4802 |
|
|
Remove handling of deferred priority change, and replace by setting the
|
4803 |
|
|
task priority directly, as required by AI-188.
|
4804 |
|
|
|
4805 |
|
|
* s-taenca.adb (Try_To_Cancel_Entry_Call): Remove special case for
|
4806 |
|
|
Succeeded = True.
|
4807 |
|
|
Remove handling of deferred priority change, and replace by setting the
|
4808 |
|
|
task priority directly, as required by AI-188.
|
4809 |
|
|
(Wait_For_Completion, Wait_For_Call, Timed_Selective_Wait): Change state
|
4810 |
|
|
of Self_Id earlier.
|
4811 |
|
|
|
4812 |
|
|
* s-tasini.ads, s-tasini.adb (Wakeup_Entry_Caller): Relax assertion.
|
4813 |
|
|
(Poll_Base_Priority_Change): Removed.
|
4814 |
|
|
Code clean up: use SSL.Current_Target_Exception.
|
4815 |
|
|
|
4816 |
|
|
* s-tasren.adb (Task_Count): Call Yield to let a chance to other tasks
|
4817 |
|
|
to run as this is a potentially dispatching point.
|
4818 |
|
|
(Call_Synchronous): Use Local_Defer_Abort.
|
4819 |
|
|
(Callable): Relax assertion.
|
4820 |
|
|
(Selective_Wait): Relax assertion in case abort is not allowed.
|
4821 |
|
|
Remove handling of deferred priority change, and replace by setting the
|
4822 |
|
|
task priority directly, as required by AI-188.
|
4823 |
|
|
|
4824 |
|
|
* s-tasuti.adb (Make_Passive): Adjust assertions.
|
4825 |
|
|
Remove handling of deferred priority change, and replace by setting the
|
4826 |
|
|
task priority directly, as required by AI-188.
|
4827 |
|
|
|
4828 |
|
|
2007-06-06 Arnaud Charlet
|
4829 |
|
|
|
4830 |
|
|
* system-vxworks-sparcv9.ads, system-solaris-x86.ads,
|
4831 |
|
|
system-irix-o32.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
|
4832 |
|
|
system-lynxos-x86.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
|
4833 |
|
|
system-vxworks-mips.ads, system-vxworks-alpha.ads,
|
4834 |
|
|
system-vxworks-x86.ads, system-linux-ppc.ads, system-mingw.ads,
|
4835 |
|
|
system-vms-zcx.ads, system-darwin-ppc.ads, system-vxworks-ppc.ads,
|
4836 |
|
|
system-interix.ads, system-linux-hppa.ads, system-tru64.ads,
|
4837 |
|
|
system-hpux.ads, system-irix-n32.ads, system-solaris-sparc.ads,
|
4838 |
|
|
system-solaris-sparcv9.ads, system-vms.ads, system.ads,
|
4839 |
|
|
system-vms_64.ads, system-hpux-ia64.ads, system-linux-x86_64.ads,
|
4840 |
|
|
system-linux-ia64.ads: Document mapping between Ada and OS priorities.
|
4841 |
|
|
This patch changes the largest non-binary modulus from 2**31-1 to
|
4842 |
|
|
2**32-1.
|
4843 |
|
|
(Compiler_System_Version): Removed, no longer used.
|
4844 |
|
|
Clean up system files by removing flags only used on a single target.
|
4845 |
|
|
Also remove obsolete flags, only used during bootstrap from system.ads
|
4846 |
|
|
(Address): Add a pragma Preelaborable_Initialization.
|
4847 |
|
|
|
4848 |
|
|
* system-aix.ads: Ditto.
|
4849 |
|
|
(GCC_ZCX_Support): Set to true.
|
4850 |
|
|
Update priority range on AIX and map Ada priorities to target
|
4851 |
|
|
priorities appropriately for different scheduling policies.
|
4852 |
|
|
|
4853 |
|
|
* ttypes.ads: set largest non-binary modulus from 2**31-1 to 2**32-1
|
4854 |
|
|
|
4855 |
|
|
2007-06-06 Vincent Celier
|
4856 |
|
|
|
4857 |
|
|
* mlib-tgt-specific.adb, mlib-tgt-specific.ads,
|
4858 |
|
|
mlib-tgt-vms.adb, mlib-tgt-vms.ads: New files.
|
4859 |
|
|
|
4860 |
|
|
* mlib-tgt.adb, mlib-tgt.ads, mlib-tgt-darwin.adb,
|
4861 |
|
|
mlib-tgt-vxworks.adb, mlib-tgt-mingw.adb, mlib-tgt-lynxos.adb,
|
4862 |
|
|
mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb,
|
4863 |
|
|
mlib-tgt-vms-ia64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
|
4864 |
|
|
mlib-tgt-hpux.adb, mlib-tgt-tru64.adb: Make a common body for package
|
4865 |
|
|
MLib.Tgt, containing the default versions of the exported subprograms.
|
4866 |
|
|
For each platform, create a specific version of the body of new child
|
4867 |
|
|
package MLib.Tgt.Specific that contains only the body of subprograms
|
4868 |
|
|
that are different from the default.
|
4869 |
|
|
(Archive_Builder_Append_Options): New function.
|
4870 |
|
|
|
4871 |
|
|
2007-06-06 Matthew Gingell
|
4872 |
|
|
|
4873 |
|
|
* s-osinte-aix.adb: Map Ada priorities to target priorities
|
4874 |
|
|
appropriately for different scheduling policies.
|
4875 |
|
|
|
4876 |
|
|
2007-06-06 Arnaud Charlet
|
4877 |
|
|
|
4878 |
|
|
* s-osinte-linux.ads (sigset_t): Bump alignment to match more closely
|
4879 |
|
|
its C counterpart.
|
4880 |
|
|
Remove references to Unchecked_Conversion, and use Ada.xxx instead.
|
4881 |
|
|
Replace Unchecked_Conversion by Ada.Unchecked_Conversion.
|
4882 |
|
|
|
4883 |
|
|
2007-06-06 Vasiliy Fofanov
|
4884 |
|
|
|
4885 |
|
|
* s-osprim-vms.ads, s-osprim-vms.adb (Initialize): New procedure.
|
4886 |
|
|
Noop on VMS, added for interface commonality.
|
4887 |
|
|
|
4888 |
|
|
2007-06-06 Eric Botcazou
|
4889 |
|
|
Richard Kenner
|
4890 |
|
|
Olivier Hainque
|
4891 |
|
|
|
4892 |
|
|
* decl.c (gnat_to_gnu_entity)
|
4893 |
|
|
renamed expression of a full renaming at toplevel.
|
4894 |
|
|
(gnat_to_gnu_entity, case object): If not defining, do not look inside
|
4895 |
|
|
the values the constant is initialized to if it is an N_Allocator.
|
4896 |
|
|
(gnat_to_gnu_entity) : Manually mark the top of the
|
4897 |
|
|
TYPE_SIZE_UNIT of inner types after the stride is elaborated.
|
4898 |
|
|
(make_aligning_type): Accept an extra ROOM argument for storage to be
|
4899 |
|
|
made available before the aligned field, and an extra BASE_ALIGN
|
4900 |
|
|
argument for callers to pass the alignment guaranteed to be honored for
|
4901 |
|
|
the whole aligning object. Avoid call to finish_record_type, which only
|
4902 |
|
|
interferes with the sizes we want to set.
|
4903 |
|
|
(gnat_to_gnu_entity) : Pass the required extra arguments to
|
4904 |
|
|
make_aligning_type for super-aligned objects on stack.
|
4905 |
|
|
(components_to_record): Pass the adjusted size of the type when creating
|
4906 |
|
|
fields in the qualified union for the variant part.
|
4907 |
|
|
(gnat_substitute_in_type): Copy TYPE_USER_ALIGN.
|
4908 |
|
|
(gnat_to_gnu_entity, case E_Signed_Integer_Subtype): Likewise for
|
4909 |
|
|
packed array type.
|
4910 |
|
|
(maybe_pad_type): Set TYPE_USER_ALIGN.
|
4911 |
|
|
(make_aligning_type): Likewise.
|
4912 |
|
|
ALIGN argument is unsigned int.
|
4913 |
|
|
(gnat_to_gnu_entity, case E_Function): Back annotate return mechanism.
|
4914 |
|
|
(gnat_to_gnu_param): Likewise, for parameters.
|
4915 |
|
|
(gnat_to_gnu_entity)
|
4916 |
|
|
if it is constant and stems from a function call.
|
4917 |
|
|
(gnat_to_gnu_entity) : Set packed to -2 if the alignment
|
4918 |
|
|
of the record is specified. Adjust accordingly.
|
4919 |
|
|
(adjust_packed): New static function.
|
4920 |
|
|
(gnat_to_gnu_field): Use it to adjust the packedness setting.
|
4921 |
|
|
(components_to_record): Likewise.
|
4922 |
|
|
(gnat_to_gnu_entity)
|
4923 |
|
|
side-effects if the object is deemed constant.
|
4924 |
|
|
(gnat_to_gnu_entity) : Create a name for the fat pointer
|
4925 |
|
|
type instead of merely finalizing it. Tidy.
|
4926 |
|
|
: Retrieve the type from the TYPE_DECL.
|
4927 |
|
|
: Likewise.
|
4928 |
|
|
(defer_debug_incomplete_list): Rename to defer_finalize_list.
|
4929 |
|
|
(defer_debug_level): Delete.
|
4930 |
|
|
(gnat_to_gnu_entity) : Likewise
|
4931 |
|
|
: Call rest_of_record_type_compilation on the fat pointer
|
4932 |
|
|
type.
|
4933 |
|
|
: Do not explicitly defer finalizing the type.
|
4934 |
|
|
Adjust for write_record_type_debug_info renaming.
|
4935 |
|
|
: Likewise.
|
4936 |
|
|
Finalize deferred types right after deferred incomplete types are
|
4937 |
|
|
expanded.
|
4938 |
|
|
(rest_of_type_decl_compilation): New global function.
|
4939 |
|
|
(components_to_record): Rename defer_debug parameter to do_not_finalize.
|
4940 |
|
|
(components_to_record): Propagate the packedness to the fields of the
|
4941 |
|
|
qualified union type if there is a variant part.
|
4942 |
|
|
(gnat_to_gnu_entity) : Use new function
|
4943 |
|
|
instead of inline code to adjust the XUT field offsets.
|
4944 |
|
|
(gnat_to_gnu_entity): Adjust for new prototype of finish_record_type.
|
4945 |
|
|
: Do not let finish_record_type compute the sizes
|
4946 |
|
|
and write the debug info if the type derives from a discriminated one.
|
4947 |
|
|
(gnat_to_gnu_entity) : Adjust call to create_index_type.
|
4948 |
|
|
: Likewise.
|
4949 |
|
|
: Likewise.
|
4950 |
|
|
(gnat_to_gnu_entity): Set TYPE_USER_ALIGN on types only if they have
|
4951 |
|
|
an alignment clause.
|
4952 |
|
|
(maybe_pad_type): Update ORIG_SIZE to the minimum required to meet ALIGN
|
4953 |
|
|
before giving warning.
|
4954 |
|
|
(prepend_one_attribute_to): New function, helper to prepend an attribute
|
4955 |
|
|
to an attribute list.
|
4956 |
|
|
(gnat_to_gnu_entity) : Use it.
|
4957 |
|
|
(prepend_attributes): Likewise.
|
4958 |
|
|
(gnat_to_gnu_entity) : Use constants of the proper type.
|
4959 |
|
|
: Declare the padding type for the element type, if any.
|
4960 |
|
|
: Likewise.
|
4961 |
|
|
(defer_limited_with): New variable.
|
4962 |
|
|
(Gigi_Equivalent_Type): New function.
|
4963 |
|
|
(gnat_to_gnu_entity): Use it at start and use result throughout.
|
4964 |
|
|
(gnat_to_gnu_entity, case E_Access_Type): Rework to use
|
4965 |
|
|
Gigi_Equivalent_Type, support Limited_With, allow two levels of
|
4966 |
|
|
indirection, precompute if unconstrained array to simplify logic, and
|
4967 |
|
|
use defer_limited_with to defer elaboration of some types from limited
|
4968 |
|
|
with.
|
4969 |
|
|
(finalize_from_with_types): New function.
|
4970 |
|
|
|
4971 |
|
|
2007-06-06 Gary Dismukes
|
4972 |
|
|
Eric Botcazou
|
4973 |
|
|
Tristan Gingold
|
4974 |
|
|
Olivier Hainque
|
4975 |
|
|
|
4976 |
|
|
* trans.c (Identifier_to_gnu): Change test for deferred constant by
|
4977 |
|
|
adding guard that the entity is an E_Constant before testing presence
|
4978 |
|
|
of Full_view (and remove unnecessary test that entity is not a type).
|
4979 |
|
|
For a CONST_DECL used by reference, manually retrieve
|
4980 |
|
|
the DECL_INITIAL. Do not invoke fold in the other DECL_P cases either.
|
4981 |
|
|
(struct language_function): Move from utils.c to here.
|
4982 |
|
|
(struct parm_attr): New structure.
|
4983 |
|
|
(parm_attr, parm_attr vector, parm_attr GC vector): New types.
|
4984 |
|
|
(f_parm_attr_cache): New macro.
|
4985 |
|
|
(Attribute_to_gnu) : When not optimizing, cache the
|
4986 |
|
|
expressions for the 'First, 'Last and 'Length attributes of the
|
4987 |
|
|
unconstrained array IN parameters.
|
4988 |
|
|
(Subprogram_Body_to_gnu): Use gnu_subprog_decl throughout.
|
4989 |
|
|
Allocate the information structure for the function earlier, as well
|
4990 |
|
|
as the language-specific part.
|
4991 |
|
|
If the parameter attributes cache has been populated, evaluate the
|
4992 |
|
|
cached expressions on entry.
|
4993 |
|
|
(takes_address): Add OPERAND_TYPE parameter. Handle N_Function_Call,
|
4994 |
|
|
N_Procedure_Call_Statement and N_Indexed_Component.
|
4995 |
|
|
(Pragma_to_gnu): Translate inspection_point to an asm statement
|
4996 |
|
|
containaing a comment and a reference to the object (either its address
|
4997 |
|
|
for BLKmode or its value).
|
4998 |
|
|
(Identifier_to_gnu): Use TREE_CONSTANT instead of CONST_DECL to decide
|
4999 |
|
|
to go to DECL_INITIAL. Together with the size constraint relaxation
|
5000 |
|
|
in create_var_decl, enlarges the set of situations in which an
|
5001 |
|
|
identifier may be used as an initializer without implying elaboration
|
5002 |
|
|
code.
|
5003 |
|
|
(Subprogram_Body_to_gnu): Do not fiddle with the debug interface but set
|
5004 |
|
|
DECL_IGNORED_P on the function if Needs_Debug_Info is not set on the
|
5005 |
|
|
node.
|
5006 |
|
|
(maybe_stabilize_reference): Remove lvalues_only parameter.
|
5007 |
|
|
(gnat_stabilize_reference): Adjust for above change.
|
5008 |
|
|
(gnat_to_gnu): Do not set location information on the result
|
5009 |
|
|
if it is a reference.
|
5010 |
|
|
(add_cleanup): Add gnat_node parameter and set the location of the
|
5011 |
|
|
cleanup to it.
|
5012 |
|
|
(Handled_Sequence_Of_Statements_to_gnu): Adjust calls to add_cleanup.
|
5013 |
|
|
(Exception_Handler_to_gnu_zcx): Likewise.
|
5014 |
|
|
(gigi): Remove the cgraph node if the elaboration procedure is empty.
|
5015 |
|
|
(Subprogram_Body_to_gnu): If a stub is attached to the subprogram, emit
|
5016 |
|
|
the former right after the latter.
|
5017 |
|
|
(start_stmt_group): Make global.
|
5018 |
|
|
(end_stmt_group): Likewise.
|
5019 |
|
|
(gnu_constraint_error_label_stack, gnu_storage_error_label_stack): New
|
5020 |
|
|
vars.
|
5021 |
|
|
(gnu_program_error_label_stack): Likewise.
|
5022 |
|
|
(gigi): Initialize them.
|
5023 |
|
|
(call_to_gnu, gnat_to_gnu, emit_check): Add new arg to build_call_raise.
|
5024 |
|
|
(gnat_to_gnu, N_{Push,Pop}_{Constraint,Storage,Program}_Error_Label):
|
5025 |
|
|
New cases.
|
5026 |
|
|
(push_exception_label_stack): New function.
|
5027 |
|
|
(takes_address): New function.
|
5028 |
|
|
|
5029 |
|
|
* utils.c (struct language_function): Move to trans.c from here.
|
5030 |
|
|
(unchecked_convert): Do not wrap up integer constants in
|
5031 |
|
|
VIEW_CONVERT_EXPRs.
|
5032 |
|
|
(create_var_decl_1): Decouple TREE_CONSTANT from CONST_DECL. Prevent
|
5033 |
|
|
the latter for aggregate types, unexpected by later passes, and relax an
|
5034 |
|
|
arbitrary size constraint on the former.
|
5035 |
|
|
(create_field_decl): Use tree_int_cst_equal instead of operand_equal_p
|
5036 |
|
|
to compare the sizes.
|
5037 |
|
|
(convert_vms_descriptor): When converting to a fat pointer type, be
|
5038 |
|
|
prepared for a S descriptor at runtime in spite of a SB specification.
|
5039 |
|
|
(shift_unc_components_for_thin_pointers): New function.
|
5040 |
|
|
(write_record_type_debug_info): For variable-sized fields, cap the
|
5041 |
|
|
alignment of the pointer to the computed alignment.
|
5042 |
|
|
(finish_record_type): Change HAS_REP parameter into REP_LEVEL.
|
5043 |
|
|
If REP_LEVEL is 2, do not compute the sizes.
|
5044 |
|
|
(build_vms_descriptor): Adjust for new prototype of finish_record_type.
|
5045 |
|
|
(build_unc_object_type): Likewise.
|
5046 |
|
|
(declare_debug_type): New function.
|
5047 |
|
|
|
5048 |
|
|
* ada-tree.def: USE_STMT: removed (not emitted anymore).
|
5049 |
|
|
|
5050 |
|
|
* misc.c (gnat_expand_expr): Call to gnat_expand_stmt removed because
|
5051 |
|
|
no statement is expandable anymore.
|
5052 |
|
|
(gnat_init_gcc_eh): Do not initialize the DWARF-2 CFI machinery twice.
|
5053 |
|
|
(gnat_handle_option): Only allow flag_eliminate_debug_types to be set
|
5054 |
|
|
when the user requested it explicitely.
|
5055 |
|
|
(gnat_post_options): By default, set flag_eliminate_unused_debug_types
|
5056 |
|
|
to 0 for Ada.
|
5057 |
|
|
(get_alias_set): Return alias set 0 for a type if
|
5058 |
|
|
TYPE_UNIVERSAL_ALIASING_P is set on its main variant.
|
5059 |
|
|
|
5060 |
|
|
* ada-tree.h: (TYPE_UNIVERSAL_ALIASING_P): New macro.
|
5061 |
|
|
(DECL_FUNCTION_STUB): New accessor macro.
|
5062 |
|
|
(SET_DECL_FUNCTION_STUB): New setter macro.
|
5063 |
|
|
|
5064 |
|
|
* lang.opt (feliminate-unused-debug-types): Intercept this flag for Ada.
|
5065 |
|
|
|
5066 |
|
|
* fe.h (Get_Local_Raise_Call_Entity, Get_RT_Exception_Entity): New
|
5067 |
|
|
declarations.
|
5068 |
|
|
|
5069 |
|
|
2007-06-06 Jose Ruiz
|
5070 |
|
|
|
5071 |
|
|
* s-intman-vxworks.ads, s-intman-vxworks.adb (Abort_Task_Signal):
|
5072 |
|
|
Rename to Abort_Task_Interrupt to be able to keep the same interface
|
5073 |
|
|
as the rest of the targets.
|
5074 |
|
|
|
5075 |
|
|
* s-osinte-vxworks.ads s-osinte-vxworks.adb
|
5076 |
|
|
(To_VxWorks_Priority): Remove explicit "in" mode indicator
|
5077 |
|
|
|
5078 |
|
|
* s-osinte-vxworks6.ads, s-vxwork-arm.ads, system-vxworks-arm.ads:
|
5079 |
|
|
New files.
|
5080 |
|
|
|
5081 |
|
|
2007-06-06 Robert Dewar
|
5082 |
|
|
|
5083 |
|
|
* a-chahan.ads: Remove obsolescent pragmas
|
5084 |
|
|
|
5085 |
|
|
* a-chlat1.ads: Minor reformatting
|
5086 |
|
|
|
5087 |
|
|
2007-06-06 Robert Dewar
|
5088 |
|
|
|
5089 |
|
|
* comperr.adb (Compiler_Abort): New Finalize/Output_Messages interface
|
5090 |
|
|
for Errout
|
5091 |
|
|
|
5092 |
|
|
* errout.adb: New Finalize/Compilation_Errors/Output_Messages
|
5093 |
|
|
implementation
|
5094 |
|
|
|
5095 |
|
|
* errout.ads (Finalize): Changed interface
|
5096 |
|
|
(Output_Messages): New procedure
|
5097 |
|
|
(Compilation_Errors): New Interface
|
5098 |
|
|
|
5099 |
|
|
* prepcomp.ads, prepcomp.adb (Parse_Preprocessing_Data_File): New
|
5100 |
|
|
Finalize/Output_Messages interface for Errout
|
5101 |
|
|
(Prepare_To_Preprocess): New Finalize/Output_Messages interface for
|
5102 |
|
|
Errout.
|
5103 |
|
|
|
5104 |
|
|
2007-06-06 Thomas Quinot
|
5105 |
|
|
Olivier Hainque
|
5106 |
|
|
Robert Dewar
|
5107 |
|
|
|
5108 |
|
|
* a-except.ads, a-except.adb: (Rmsg_28): Fix description for E.4(18)
|
5109 |
|
|
check.
|
5110 |
|
|
(Raise_Current_Excep): Call Debug_Raise_Exception just before
|
5111 |
|
|
propagation starts, to let debuggers know about the event in a reliable
|
5112 |
|
|
fashion.
|
5113 |
|
|
(Local_Raise): Moved to System.Exceptions
|
5114 |
|
|
More convenient to have this as a separate unit
|
5115 |
|
|
|
5116 |
|
|
* s-except.adb, s-except.ads: New files.
|
5117 |
|
|
|
5118 |
|
|
* a-exextr.adb (Unhandled_Exception): Delete - replaced by
|
5119 |
|
|
Debug_Unhandled_Exception in System.Exceptions where it belongs
|
5120 |
|
|
together with a couple of other debug helpers.
|
5121 |
|
|
(Notify_Unhandled_Exception): Use Debug_Unhandled_Exception instead of
|
5122 |
|
|
the former Unhandled_Exception.
|
5123 |
|
|
|
5124 |
|
|
* exp_ch11.ads, exp_ch11.adb: (Possible_Local_Raise): New procedure
|
5125 |
|
|
(Warn_No_Exception_Propagation): New procedure
|
5126 |
|
|
(Warn_If_No_Propagation): Rewritten for new warning generation
|
5127 |
|
|
(Expand_Exception_Handlers): New warning generation
|
5128 |
|
|
(Expand_N_Raise_xxx_Error): Rewritten for new warnings
|
5129 |
|
|
(Add_Exception_Label): Use Special_Exception_Package_Used for test
|
5130 |
|
|
instead of Most_Recent_Exception_Used (accomodates Exception_Traces)
|
5131 |
|
|
(Expand_Local_Exception_Handlers): Unconditionally add extra block wrap
|
5132 |
|
|
even if restriction is set (makes life easier in Check_Returns)
|
5133 |
|
|
(Expand_Local_Exception_Handlers): Follow renamed entity chain when
|
5134 |
|
|
checking exception identities.
|
5135 |
|
|
(Expand_Local_Exception_Handlers): Do not optimize when all others case
|
5136 |
|
|
(Expand_Local_Exception_Handlers): Set Exception_Junk flag on generated
|
5137 |
|
|
block for handler (used by Check_Returns)
|
5138 |
|
|
(Expand_Local_Exception_Handlers): Local_Raise now takes an address
|
5139 |
|
|
(Expand_N_Handled_Sequence_Of_Statements): Properly handle -gnatd.x to
|
5140 |
|
|
remove all exception handlers when optimizing local raise statements.
|
5141 |
|
|
(Find_Local_Handler): Use Get_Renamed_Entity
|
5142 |
|
|
(Expand_N_Handled_Sequence_Of_Statements): If the handled sequence is
|
5143 |
|
|
marked analyzed after expanding exception handlers, do not generate
|
5144 |
|
|
redundant cleanup actions, because they have been constructed already.
|
5145 |
|
|
|
5146 |
|
|
2007-06-06 Thomas Quinot
|
5147 |
|
|
|
5148 |
|
|
* a-finali.ads (Ada.Finalization): Add missing pragma Remote_Types. The
|
5149 |
|
|
presence of this categorization pragma is mandated by the language.
|
5150 |
|
|
(Limited_Controlled): Add missing pragma Preelaborable_Initialization
|
5151 |
|
|
for this type.
|
5152 |
|
|
|
5153 |
|
|
2007-06-06 Vincent Celier
|
5154 |
|
|
Robert Dewar
|
5155 |
|
|
|
5156 |
|
|
* bcheck.adb, binde.adb, binderr.adb, binderr.ads, butil.adb,
|
5157 |
|
|
butil.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
|
5158 |
|
|
err_vars.ads, exp_tss.adb, exp_tss.ads, fmap.adb, fmap.ads,
|
5159 |
|
|
fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
|
5160 |
|
|
lib-sort.adb, lib-util.adb, lib-util.ads, lib-xref.adb, makeutl.ads,
|
5161 |
|
|
makeutl.adb, nmake.adt, osint.adb, osint.ads, osint-b.adb,
|
5162 |
|
|
par-load.adb, prj-attr.adb, prj-dect.adb, prj-err.adb, prj-makr.adb,
|
5163 |
|
|
prj-part.adb, prj-pp.adb, prj-proc.adb, prj-tree.adb, prj-tree.ads,
|
5164 |
|
|
prj-util.adb, prj-util.ads, scans.adb, scans.ads, sem_ch2.adb,
|
5165 |
|
|
sinput-c.adb, styleg-c.adb, tempdir.adb, tempdir.ads, uname.adb,
|
5166 |
|
|
uname.ads, atree.h, atree.ads, atree.adb, ali-util.ads, ali-util.adb,
|
5167 |
|
|
ali.ads, ali.adb:
|
5168 |
|
|
Move Name_Id, File_Name_Type and Unit_Name_Type from package Types to
|
5169 |
|
|
package Namet. Make File_Name_Type and Unit_Name_Type types derived from
|
5170 |
|
|
Mame_Id. Add new type Path_Name_Type, also derived from Name_Id.
|
5171 |
|
|
Use variables of types File_Name_Type and Unit_Name_Type in error
|
5172 |
|
|
messages.
|
5173 |
|
|
(Get_Name): Add parameter Ignore_Special, and set it reading file name
|
5174 |
|
|
(New_Copy): When debugging the compiler, call New_Node_Debugging_Output
|
5175 |
|
|
here.
|
5176 |
|
|
Define flags Flag217-Flag230 with associated subprograms
|
5177 |
|
|
(Flag_Word5): New record type.
|
5178 |
|
|
(Flag_Word5_Ptr): New access type.
|
5179 |
|
|
(To_Flag_Word5): New unchecked conversion.
|
5180 |
|
|
(To_Flag_Word5_Ptr): Likewise.
|
5181 |
|
|
(Flag216): New function.
|
5182 |
|
|
(Set_Flag216): New procedure.
|
5183 |
|
|
|
5184 |
|
|
2007-06-06 Arnaud Charlet
|
5185 |
|
|
|
5186 |
|
|
* a-stzunb.adb, a-stwiun.adb, a-strunb.adb: (Insert): Use 'Length
|
5187 |
|
|
instead of 'Size.
|
5188 |
|
|
|
5189 |
|
|
* a-stwifi.ads, a-stzfix.ads: Minor reformatting
|
5190 |
|
|
|
5191 |
|
|
2007-06-06 Javier Miranda
|
5192 |
|
|
|
5193 |
|
|
* a-tags.ads, a-tags.adb (Tag_Size): This constant is now internal to
|
5194 |
|
|
the package.
|
5195 |
|
|
(Object_Specific_Data_Array): This is now internal to the package.
|
5196 |
|
|
(Object_Specific_Data): This is now internal to the package.
|
5197 |
|
|
(Select_Specific_Data_Element): This is now internal to the package.
|
5198 |
|
|
(Select_Specific_Data_Array): This is now internal to the package.
|
5199 |
|
|
(Select_Specific_Data): This is now internal to the package.
|
5200 |
|
|
(Offset_To_Top_Function_Ptr): This is now public.
|
5201 |
|
|
(To_Offset_To_Top_Function_Ptr): Removed.
|
5202 |
|
|
(Storage_Offset_Ptr,To_Storage_Offset_Ptr): These declarations are now
|
5203 |
|
|
local to subprogram Offset_To_Top.
|
5204 |
|
|
(Predefined_DT): Removed.
|
5205 |
|
|
(Typeinfo_Ptr): Removed.
|
5206 |
|
|
(OSD): This function is now internal to this package.
|
5207 |
|
|
(SSD): This function is now internal to this package.
|
5208 |
|
|
(DT): New function that displaces the pointer to the table of primitives
|
5209 |
|
|
to get access to the enclosing wrapper record.
|
5210 |
|
|
(IW_Membership): Code cleanup.
|
5211 |
|
|
(Offset_To_Top): Code cleanup.
|
5212 |
|
|
(Predefined_DT): Removed.
|
5213 |
|
|
(Register_Interface_Tag): Removed.
|
5214 |
|
|
(Set_Interface_Table): Removed.
|
5215 |
|
|
(Set_Offset_Index): Removed.
|
5216 |
|
|
(Set_Offset_To_Top): Code cleanup.
|
5217 |
|
|
(Set_OSD): Removed.
|
5218 |
|
|
(Set_Signature): Removed.
|
5219 |
|
|
(Set_SSD): Removed.
|
5220 |
|
|
(Set_Tagged_Kind): Removed.
|
5221 |
|
|
(Typeinfo_Ptr): Removed.
|
5222 |
|
|
(TSD): Removed.
|
5223 |
|
|
(Displace): Add missing check on null actual.
|
5224 |
|
|
|
5225 |
|
|
* exp_disp.ads, exp_disp.adb
|
5226 |
|
|
(Select_Expansion_Utilities): Removed.
|
5227 |
|
|
(Build_Common_Dispatching_Select_Statements): Moved to exp_atags.
|
5228 |
|
|
(Expand_Dispatching_Call): Update calls to Get_Prim_Op_Address because
|
5229 |
|
|
the interface requires a new parameter.
|
5230 |
|
|
(Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
|
5231 |
|
|
Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Replace
|
5232 |
|
|
calls to subprograms Build_T, Build_S, etc. by the corresponding code.
|
5233 |
|
|
Done to remove package Select_Expansion_Utilities.
|
5234 |
|
|
(Make_DT): New implementation for statically allocated dispatch tables.
|
5235 |
|
|
(Make_Secondary_DT): Moved to the scope of Make_DT.
|
5236 |
|
|
(Register_Primitive): Code cleanup plus incoporate the use of the new
|
5237 |
|
|
function DT_Address_Attribute.
|
5238 |
|
|
(Expand_Interface_Thunk): The profile of this subprogram has been
|
5239 |
|
|
changed to return the Thunk_Id and the corresponding code.
|
5240 |
|
|
(Fill_DT_Entry): Removed. Its functionality is now provided by
|
5241 |
|
|
subprogram Register_Primitive.
|
5242 |
|
|
(Fill_Secondary_DT_Entry): Removed. Its functionality is now provided by
|
5243 |
|
|
subprogram Register_Primitive.
|
5244 |
|
|
(Register_Primitive): New subprogram that incorporates the previous
|
5245 |
|
|
functionalities of Fill_DT_Entry and Fill_Secondary_DT_Entry.
|
5246 |
|
|
(Build_Common_Dispatching_Select_Statements): Remove formal Typ. This
|
5247 |
|
|
was only required to call Make_DT_Access_Action, which is now removed.
|
5248 |
|
|
(Ada_Actions): Removed
|
5249 |
|
|
(Action_Is_Proc): Removed
|
5250 |
|
|
(Action_Nb_Arg): Removed
|
5251 |
|
|
Replace all the calls to Make_DT_Access_Action by direct calls to
|
5252 |
|
|
Make_Procedure_Call_Statement or Make_Function_Call.
|
5253 |
|
|
(Set_DTC_Entity_Value): New subprogram.
|
5254 |
|
|
(Set_All_DT_Position): Add call to new subprogram Set_DTC_Entity_Value.
|
5255 |
|
|
(Expand_Interface_Thunk): Add missing support for primitives that are
|
5256 |
|
|
functions with a controlling result (case in which there is no need
|
5257 |
|
|
to generate the thunk).
|
5258 |
|
|
|
5259 |
|
|
* exp_atag.ads, exp_atag.adb
|
5260 |
|
|
(Build_DT): New subprogram that displaces the pointer to reference the
|
5261 |
|
|
base of the wrapper record.
|
5262 |
|
|
(Build_Typeinfo_Offset): Removed.
|
5263 |
|
|
(RTE_Tag_Node): Removed.
|
5264 |
|
|
(Build_Common_Dispatching_Select_Statements): Moved here from exp_disp
|
5265 |
|
|
(Build_Get_RC_Offset): Removed.
|
5266 |
|
|
(Build_Inherit_Predefined_Prims): Removed.
|
5267 |
|
|
(Build_Inherit_TSD: Removed.
|
5268 |
|
|
(Build_New_TSD): Removed.
|
5269 |
|
|
(Build_Set_External_Tag): Removed.
|
5270 |
|
|
(Build_Set_Predefined_Prim_Op_Address): Add documentation.
|
5271 |
|
|
(Build_Set_Prim_Op_Address): Add documentation.
|
5272 |
|
|
(Build_Set_TSD): Removed.
|
5273 |
|
|
|
5274 |
|
|
* rtsfind.ads, rtsfind.adb
|
5275 |
|
|
(Load_Fail): If load fails and we are not in configurable run-time
|
5276 |
|
|
mode, then raise Unrecoverable_Error.
|
5277 |
|
|
(Text_IO_Kludge): Generate an error message if a run-time library is
|
5278 |
|
|
not available in a given run-time (ie. zfp run-time).
|
5279 |
|
|
(RTE_Record_Component): Add code to check that the component we search
|
5280 |
|
|
for is not found in two records in the given run-time package.
|
5281 |
|
|
(RE_DT_Offset_To_Top_Size, RE_DT_Predef_Prims_Size): Removed
|
5282 |
|
|
(RE_DT_Predef_Prims_Offset): New entity
|
5283 |
|
|
(RE_Static_Offset_To_Top): New entity
|
5284 |
|
|
(RE_HT_Link): New entity.
|
5285 |
|
|
(System_Address_Image): Addition of this run-time package.
|
5286 |
|
|
(RE_Address_Image): New entity.
|
5287 |
|
|
(RE_Abstract_Interface): Removed.
|
5288 |
|
|
(RE_Default_Prim_Op_Count): Removed.
|
5289 |
|
|
(RE_DT_Entry_Size): Removed.
|
5290 |
|
|
(RE_DT_Min_Prologue_Size): Removed.
|
5291 |
|
|
(RE_DT_Prologue_Size): Removed.
|
5292 |
|
|
(RE_Ifaces_Table_Ptr): Removed.
|
5293 |
|
|
(RE_Interface_Data_Ptr): Removed.
|
5294 |
|
|
(RE_Type_Specific_Data): Removed.
|
5295 |
|
|
(RE_Primary_DT): Removed.
|
5296 |
|
|
(RE_Register_Interface_Tag): Removed.
|
5297 |
|
|
(RE_Set_Offset_Index): Removed.
|
5298 |
|
|
(RE_Set_OSD): Removed.
|
5299 |
|
|
(RE_Set_SSD): Removed.
|
5300 |
|
|
(RE_Set_Signature): Removed.
|
5301 |
|
|
(RE_Set_Tagged_Kind): Removed.
|
5302 |
|
|
(RE_Address_Array): New entity.
|
5303 |
|
|
(RE_DT): New entity.
|
5304 |
|
|
(RE_Iface_Tag): New entity.
|
5305 |
|
|
(RE_Interfaces_Table): New entity.
|
5306 |
|
|
(RE_No_Dispatch_Table): New entity.
|
5307 |
|
|
(RE_NDT_Prims_Ptr): New entity.
|
5308 |
|
|
(RE_NDT_TSD): New entity.
|
5309 |
|
|
(RE_Num_Prims): New entity.
|
5310 |
|
|
(RE_Offset_To_Top_Function_Ptr): New entity.
|
5311 |
|
|
(RE_OSD_Table): New entity.
|
5312 |
|
|
(RE_OSD_Num_Prims): New entity.
|
5313 |
|
|
(RE_Predef_Prims): New entity
|
5314 |
|
|
(RE_Predef_Prims_Table_Ptr): New entity.
|
5315 |
|
|
(RE_Primary_DT): New entity.
|
5316 |
|
|
(RE_Signature): New entity.
|
5317 |
|
|
(RE_SSD): New entity.
|
5318 |
|
|
(RE_TSD): New entity.
|
5319 |
|
|
(RE_Type_Specific_Data): New entity.
|
5320 |
|
|
(RE_Tag_Kind): New entity.
|
5321 |
|
|
|
5322 |
|
|
2007-06-06 Thomas Quinot
|
5323 |
|
|
|
5324 |
|
|
* a-textio.ads, a-textio.adb (Write): Add explicit size clause for the
|
5325 |
|
|
C imported variable.
|
5326 |
|
|
(Skip_Line): Do not reset Before_LM_PM immediately when Before_LM is set
|
5327 |
|
|
on entry.
|
5328 |
|
|
|
5329 |
|
|
2007-06-06 Robert Dewar
|
5330 |
|
|
|
5331 |
|
|
* a-tienio.adb (Get): Adjust buffer size to accomodate one extra
|
5332 |
|
|
character
|
5333 |
|
|
|
5334 |
|
|
2007-06-06 Vincent Celier
|
5335 |
|
|
|
5336 |
|
|
* a-tifiio.adb (Put, internal): For negative numbers, check that there
|
5337 |
|
|
is room for at least one digit and the minus sign.
|
5338 |
|
|
(Put.Put_Character): Never put a character outside of the range of
|
5339 |
|
|
string To.
|
5340 |
|
|
|
5341 |
|
|
2007-06-06 Olivier Hainque
|
5342 |
|
|
Eric Botcazou
|
5343 |
|
|
|
5344 |
|
|
* utils2.c (build_allocator): Provide the extra arguments to
|
5345 |
|
|
make_aligning_type for super-aligned objects allocated from the default
|
5346 |
|
|
pool. Leave enough room for a pointer before the aligning field, and
|
5347 |
|
|
store the system's allocator return value there.
|
5348 |
|
|
(build_call_alloc_dealloc): When releasing a super-aligned object,
|
5349 |
|
|
retrieve the system's allocator return value from where build_allocator
|
5350 |
|
|
has stored it, just ahead of the adjusted address we are passed.
|
5351 |
|
|
(build_call_raise): Handle properly the generation of line numbers when
|
5352 |
|
|
the node is marked No_Location.
|
5353 |
|
|
(compare_elmt_bitpos): Use tree_int_cst_compare. Stabilize the sort
|
5354 |
|
|
by using DECL_UID on ties.
|
5355 |
|
|
(build_binary_op) : Accept fat pointer types with the same
|
5356 |
|
|
main variant.
|
5357 |
|
|
(build_call_raise): Handle converting exception into goto; support new
|
5358 |
|
|
argument KIND.
|
5359 |
|
|
(build_component_ref): Add new arg to build_call_raise.
|
5360 |
|
|
|
5361 |
|
|
2007-06-06 Hristian Kirtchev
|
5362 |
|
|
|
5363 |
|
|
* a-ztflau.adb, a-wtflau.adb, a-tiflau.adb (Load_Real): Do not parse
|
5364 |
|
|
"." in the case of nnn.xxx when nnn terminates with an underscore.
|
5365 |
|
|
Parse the remaining "#" or ":" in the case of nnn#.xxx#
|
5366 |
|
|
|
5367 |
|
|
2007-06-06 Robert Dewar
|
5368 |
|
|
|
5369 |
|
|
* a-tigeau.ads, a-tigeau.adb: (Store_Char): Change Buf to IN OUT
|
5370 |
|
|
|
5371 |
|
|
2007-06-06 Arnaud Charlet
|
5372 |
|
|
Vincent Celier
|
5373 |
|
|
Robert Dewar
|
5374 |
|
|
|
5375 |
|
|
* bindgen.adb (Gen_Output_File_Ada): Generate pragma No_Run_Time when
|
5376 |
|
|
needed.
|
5377 |
|
|
(Gen_Output_File_Ada, Gen_Output_File_C): Never use __attribute
|
5378 |
|
|
((destructor)) for adafinal, even when switch -a is used.
|
5379 |
|
|
Do not issue pragma Linker_Destructor for adafinal when switch -a is
|
5380 |
|
|
used.
|
5381 |
|
|
(Gen_Object_Files_Options): Add formatting of Linker Options, when
|
5382 |
|
|
Output_Linker_Option_List is set. Suppress this formatting when
|
5383 |
|
|
Zero_Formatting is set.
|
5384 |
|
|
Add case for CLI_Target.
|
5385 |
|
|
(System_Restrictions_Used): New flag, used to avoid generating with of
|
5386 |
|
|
System_Restrictions and initialization of the data unless there is
|
5387 |
|
|
some use of System.Restrictions in the partition.
|
5388 |
|
|
(Check_System_Restrictions_Used): New procedure
|
5389 |
|
|
|
5390 |
|
|
* s-stalib.adb: Remove with of System.Restrictions. No longer needed
|
5391 |
|
|
since we only with this unit in the binder file if it is used elsewhere
|
5392 |
|
|
in the partition.
|
5393 |
|
|
|
5394 |
|
|
2007-06-06 Vincent Celier
|
5395 |
|
|
|
5396 |
|
|
* bindusg.adb: Add line for @
|
5397 |
|
|
Add lines for new switches -R and -Z
|
5398 |
|
|
|
5399 |
|
|
* gnatbind.adb (Gnatbind): Do not include sources from the GNAT
|
5400 |
|
|
hierarchy in the list of files of the closure when -R is used
|
5401 |
|
|
(Gnatbind): Accept arguments starting with '@' to indicate response
|
5402 |
|
|
files and take the arguments from the response files.
|
5403 |
|
|
If List_Closure is set, display the referenced files
|
5404 |
|
|
|
5405 |
|
|
2007-06-06 Javier Miranda
|
5406 |
|
|
Robert Dewar
|
5407 |
|
|
Ed Schonberg
|
5408 |
|
|
|
5409 |
|
|
* checks.ads, checks.adb (Apply_Address_Clause_Check): Handle case in
|
5410 |
|
|
which the address-clause is applied to in-mode actuals (allowed by
|
5411 |
|
|
13.1(22)).
|
5412 |
|
|
(Apply_Discriminant_Check): Do not generate a check if the type is
|
5413 |
|
|
constrained by a current instance.
|
5414 |
|
|
(Activate_Division_Check): New procedure
|
5415 |
|
|
(Activate_Overflow_Check): New procedure
|
5416 |
|
|
(Activate_Range_Check): New procedure
|
5417 |
|
|
Call these new Activate procedures instead of setting flags directly
|
5418 |
|
|
(Apply_Array_Size_Check): Removed, no longer needed.
|
5419 |
|
|
Code clean up: remove obsolete code related to GCC 2.
|
5420 |
|
|
(Get_E_Length): Protect against bomb in case scope is standard
|
5421 |
|
|
(Selected_Range_Checks): If the node to be checked is a conversion to
|
5422 |
|
|
an unconstrained array type, and the expression is a slice, use the
|
5423 |
|
|
bounds of the slice to construct the required constraint checks.
|
5424 |
|
|
Improve NOT NULL error messages
|
5425 |
|
|
(Apply_Constraint_Check): If the context is a null-excluding access
|
5426 |
|
|
type, diagnose properly the literal null.
|
5427 |
|
|
|
5428 |
|
|
2007-06-06 Pascal Obry
|
5429 |
|
|
|
5430 |
|
|
* clean.adb (Clean_Archive): Use untouched casing for the archive name
|
5431 |
|
|
and the corresponding .deps file.
|
5432 |
|
|
(Clean_Interface_Copy_Directory): Use untouched casing for the library
|
5433 |
|
|
src directory. Minor code-clean-up. Use untouched casing for files
|
5434 |
|
|
read into the library src dir.
|
5435 |
|
|
(Clean_Library_Directory): Idem.
|
5436 |
|
|
(Parse_Cmd_Line): Accept new switch -aP
|
5437 |
|
|
|
5438 |
|
|
2007-06-06 Javier Miranda
|
5439 |
|
|
Ed Schonberg
|
5440 |
|
|
Robert Dewar
|
5441 |
|
|
Eric Botcazou
|
5442 |
|
|
Arnaud Charlet
|
5443 |
|
|
|
5444 |
|
|
* einfo.ads, einfo.adb (Available_View): New synthesized attribute
|
5445 |
|
|
applicable to types that have the With_Type flag set. Returns the
|
5446 |
|
|
non-limited view of the type, if available, otherwise the type itself.
|
5447 |
|
|
For class-wide types, there is no direct link in the tree, so we have
|
5448 |
|
|
to retrieve the class-wide type of the non-limited view of the Etype.
|
5449 |
|
|
New attributes Static_Initialization and Static_Elaboration_Desired.
|
5450 |
|
|
Remove the pragma Thread_Body, and the associated flag
|
5451 |
|
|
Is_Thread_Body in entities, and all related code.
|
5452 |
|
|
(Suppress_Value_Tracking_On_Call): New flag
|
5453 |
|
|
E_Exception has Esize and Alignment fields
|
5454 |
|
|
(Universal_Aliasing): New function.
|
5455 |
|
|
(Set_Universal_Aliasing): New procedure.
|
5456 |
|
|
(Write_Entity_Flags): Deal with Universal_Aliasing flag.
|
5457 |
|
|
(Check_Nested_Access): New procedure.
|
5458 |
|
|
(Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures.
|
5459 |
|
|
(Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
|
5460 |
|
|
(Related_Interface): New attribute. Present in dispatch table pointer
|
5461 |
|
|
components of records. Set to point to the entity of the corresponding
|
5462 |
|
|
interface type.
|
5463 |
|
|
(Is_By_Reference_Type): Recurse on the full view of an incomplete type.
|
5464 |
|
|
(Original_Access_Type): Remove, not needed.
|
5465 |
|
|
(Root_Type): Handle properly subtypes of class-wide-types.
|
5466 |
|
|
Update comments.
|
5467 |
|
|
|
5468 |
|
|
* sem_ch4.adb (Analyze_Explicit_Dereference): Add support for
|
5469 |
|
|
class-wide types visible through limited-with clauses.
|
5470 |
|
|
(Try_Primitive_Operation): When examining all primitive operations of a
|
5471 |
|
|
tagged type, do not consider subprograms labeled as hidden unless they
|
5472 |
|
|
belong to a private generic type with a tagged parent.
|
5473 |
|
|
(Try_Object_Operation): Extensive rewriting, to handle properly various
|
5474 |
|
|
overloading cases, when several ancestors may have class-wide operations
|
5475 |
|
|
that are possible candidates, and when the overloaded functions return
|
5476 |
|
|
array types and have defaulted parameters so that the call may be
|
5477 |
|
|
interpreted as an indexing.
|
5478 |
|
|
(Analyze_Allocator): Remove Mark_Allocator and its invocation.
|
5479 |
|
|
(Process_Function_Call): use Next, rather than Next_Actual, to analyze
|
5480 |
|
|
successive actuals before analyzing the call itself.
|
5481 |
|
|
(Try_Primitive_Operation): A primitive operation is compatible with the
|
5482 |
|
|
prefix if the prefix has a synchronized type and the type of the formal
|
5483 |
|
|
is its corresponding record, as can be the case when the primitive
|
5484 |
|
|
operation is declared outside of the body of the type.
|
5485 |
|
|
(Traverse_Homonyms): New subprocedure of Try_Class_Wide_Operation, to
|
5486 |
|
|
perform homonym traversal, looking for class-wide operation matches
|
5487 |
|
|
(formerly done in statements of Try_Class_Wide_Operation). Matches on
|
5488 |
|
|
access parameters are now restricted to anonymous access types.
|
5489 |
|
|
(Mark_Allocator): An allocator with a discriminant association parent is
|
5490 |
|
|
a coextension.
|
5491 |
|
|
(Try_One_Prefix_Interpretation): If the type of the object is
|
5492 |
|
|
incomplete, as can be happen when it is a limited view obtained through
|
5493 |
|
|
a limited_with_clause, the selected component is not part of a prefixed
|
5494 |
|
|
call.
|
5495 |
|
|
(Complete_Object_Operation): Diagnose properly an object that is not
|
5496 |
|
|
aliased when the corresponding controlling formal is an access
|
5497 |
|
|
parameter.
|
5498 |
|
|
(Try_Primitive_Operation, Try_Class_Wide_Operation): Diagnose properly
|
5499 |
|
|
ambiguous calls in prefixed notation, where two primitives differ only
|
5500 |
|
|
in that the controlling argument of one is an access parameter.
|
5501 |
|
|
|
5502 |
|
|
* sem_ch6.adb (Has_Single_Return): Add guard in code that determines
|
5503 |
|
|
whether a function that returns an unconstrained type can be inlined.
|
5504 |
|
|
(Process_Formals): Diagnose properly the illegal use of an incomplete
|
5505 |
|
|
type in the profile of an access_to_subprogram declaration.
|
5506 |
|
|
(Check_Synchronized_Overriding): Nothing check for concurrent types, the
|
5507 |
|
|
operations are attached to the corresponding record.
|
5508 |
|
|
(Analyze_Subprogram_Specification): Add variables Formal and Formal_Typ.
|
5509 |
|
|
When processing a primitive of a concurrent type which implements an
|
5510 |
|
|
interface change the type of all controlling formals to that of the
|
5511 |
|
|
corresponding record type.
|
5512 |
|
|
(Check_Synchronized_Overriding): Relax the conditional logic when trying
|
5513 |
|
|
to determine the tagged type to which a primitive belongs.
|
5514 |
|
|
(Check_Conventions): Capture condition to ignore a primitive operation
|
5515 |
|
|
(which is shared between the loop in Check_Conventions and the one in
|
5516 |
|
|
Check_Convention) in a new local function Skip_Check.
|
5517 |
|
|
(Check_Convention): Rename Prim_Op to Second_Prim_Op to avoid possible
|
5518 |
|
|
confusion with Check_Conventions' own Prim_Op local variable.
|
5519 |
|
|
(Create_Extra_Formals): Test for a tagged result type rather than a
|
5520 |
|
|
controlling result when determining whether to add a BIP_Alloc_Form
|
5521 |
|
|
formal and a BIP_Final_List formal to the function.
|
5522 |
|
|
(Check_Conformance); For parameters that are anonymous access types,
|
5523 |
|
|
subtype conformance requires that the not null and the constant
|
5524 |
|
|
indicators must match
|
5525 |
|
|
(Check_Synchronized_Overriding): New parameter Formal_Typ. Add machinery
|
5526 |
|
|
to retrieve the appropriate type when processing a concurrent type
|
5527 |
|
|
declared within a generic. Minor comment reformatting. Change invocation
|
5528 |
|
|
of Overrides_Synchronized_Primitive to Find_Overridden_Synchronized_Pri-
|
5529 |
|
|
mitive.
|
5530 |
|
|
(Analyze_Subprogram_Body): If the return type of a function is an
|
5531 |
|
|
anonymous access to the limited view of a class-wide type, and the
|
5532 |
|
|
non-limited view of the type is available, update the type of the
|
5533 |
|
|
function so that code can be generated.
|
5534 |
|
|
(Process_Formals): In case of access-subtype itype whose designated
|
5535 |
|
|
type is also an itype (situation that happens now with access to
|
5536 |
|
|
subprograms) we mark the access-type itype with the Has_Delayed_Freeze
|
5537 |
|
|
attribute to avoid backend problems.
|
5538 |
|
|
(Check_Return_Subtype_Indication): Replace R_Type with R_Stm_Type in
|
5539 |
|
|
init of R_Stm_Type_Is_Anon_Access. Also check that base types of the
|
5540 |
|
|
anonymous types' designated types are same before testing
|
5541 |
|
|
Subtypes_Statically_Match.
|
5542 |
|
|
(Create_Extra_Formals): Test for a named access parameter that is a
|
5543 |
|
|
controlling formal as an additional condition for adding an
|
5544 |
|
|
accessibility level formal. This can occur in the subp type created for
|
5545 |
|
|
dispatching calls in Expand_Dispatching_Call, and allows calling
|
5546 |
|
|
Create_Extra_Formals from that procedure rather than special-casing the
|
5547 |
|
|
extra formals there.
|
5548 |
|
|
(Create_Extra_Formals): Add BIP_Alloc_Form and BIP_Final_List formals
|
5549 |
|
|
when the function has a controlling result.
|
5550 |
|
|
(Check_Returns): Add much more knowledge of the optimization of local
|
5551 |
|
|
raise statements to gotos, to retain proper warnings in this case.
|
5552 |
|
|
(Check_Statement_Sequence): Ignore N_Push_xxx_Label and N_Pop_xxx_Label
|
5553 |
|
|
nodes when looking for last statement.
|
5554 |
|
|
|
5555 |
|
|
* sem_type.ads, sem_type.adb (Specific_Type): Add support for
|
5556 |
|
|
class-wide types visible through limited with clauses.
|
5557 |
|
|
(Add_One_Interp): If the operands are anonymous access types, the
|
5558 |
|
|
predefined operator on universal_access is immediately visibles
|
5559 |
|
|
(Find_Unique_Type): Handle anonymous access to subprogram types just as
|
5560 |
|
|
other anonymous access types.
|
5561 |
|
|
(Disambiguate): Take into account CIL convention.
|
5562 |
|
|
(Interface_Present_In_Ancestor): Add support for class-wide interfaces.
|
5563 |
|
|
|
5564 |
|
|
2007-06-06 Robert Dewar
|
5565 |
|
|
|
5566 |
|
|
* sinput.ads, sinput.adb, uintp.ads, urealp.adb, stringt.adb,
|
5567 |
|
|
sem_elim.adb, prj-strt.adb, repinfo.ads, repinfo.adb, namet.ads,
|
5568 |
|
|
elists.ads, elists.adb, lib.ads, lib.adb (Unlock): New procedure.
|
5569 |
|
|
Fix lower bound of tables.
|
5570 |
|
|
Add rep clauses.
|
5571 |
|
|
|
5572 |
|
|
* nlists.adb: Ditto.
|
5573 |
|
|
(Prev_Node, Next_Node): Change index type to Int so that it properly
|
5574 |
|
|
covers the range First_Node_Id - 1 up.
|
5575 |
|
|
|
5576 |
|
|
2007-06-06 Javier Miranda
|
5577 |
|
|
Ed Schonberg
|
5578 |
|
|
Bob Duff
|
5579 |
|
|
Hristian Kirtchev
|
5580 |
|
|
|
5581 |
|
|
* exp_aggr.ads, exp_aggr.adb:
|
5582 |
|
|
(Build_Record_Aggr_Code): Add missing initialization of secondary tags
|
5583 |
|
|
in extension aggregates.
|
5584 |
|
|
(Flatten): Other conditions being met, an aggregate is static if the
|
5585 |
|
|
low bound given by component associations is different from the low
|
5586 |
|
|
bound of the base index type.
|
5587 |
|
|
(Packed_Array_Aggregate_Handled): If the component type is itself a
|
5588 |
|
|
packed array or record, the front-end must expand into assignments.
|
5589 |
|
|
(Gen_Ctrl_Actions_For_Aggr): In call to Init_Controller, pass False to
|
5590 |
|
|
Init_Pr, instead of Ancestor_Is_Expression.
|
5591 |
|
|
(Gen_Ctrl_Actions_For_Aggr): When processing an aggregate of a
|
5592 |
|
|
coextension chain root, either generate a list controller or use the
|
5593 |
|
|
already existing one.
|
5594 |
|
|
(Static_Array_Aggregate): New procedure to construct a positional
|
5595 |
|
|
aggregate that can be handled by the backend, when all bounds and
|
5596 |
|
|
components are compile-time known constants.
|
5597 |
|
|
(Expand_Record_Aggregate): Force conversion of aggregates of tagged
|
5598 |
|
|
types covering interface types into assignments.
|
5599 |
|
|
(Replace_Type): move to Build_Record_Aggr_Code.
|
5600 |
|
|
(Expand_Record_Aggr_Code): if the target of the aggregate is an
|
5601 |
|
|
interface type, convert to the definite type of the aggregate itself,
|
5602 |
|
|
so that needed components are visible.
|
5603 |
|
|
(Convert_Aggr_In_Object_Decl): If the aggregate has controlled
|
5604 |
|
|
components and the context is an extended return statement do not
|
5605 |
|
|
create a transient block for it, to prevent premature finalization
|
5606 |
|
|
before the return is executed.
|
5607 |
|
|
(Gen_Assign): Do not generate a call to deep adjust routine if the
|
5608 |
|
|
component type is itself an array of controlled (sub)-components
|
5609 |
|
|
initialized with an inner aggregate.
|
5610 |
|
|
(Component_Check): New name for Static_Check. This name is now more
|
5611 |
|
|
appropriate, and documentation is added which was missing.
|
5612 |
|
|
(Component_Check): Add test for bit aligned component value
|
5613 |
|
|
(Component_Not_OK_For_Backend): Renames Has_Delayed_Nested_Aggregate_Or_
|
5614 |
|
|
Tagged_Comps, name is more appropriate given added function below.
|
5615 |
|
|
(Component_Not_OK_For_Backend): Check for bit aligned component ref.
|
5616 |
|
|
|
5617 |
|
|
2007-06-06 Hristian Kirtchev
|
5618 |
|
|
Javier Miranda
|
5619 |
|
|
Robert Dewar
|
5620 |
|
|
|
5621 |
|
|
* exp_attr.adb (Expand_N_Attribute_Reference): Case Callable and
|
5622 |
|
|
Terminated: Add unchecked type conversion from System.Address to
|
5623 |
|
|
System.Tasking.Task_Id when calling the predefined primitive
|
5624 |
|
|
_disp_get_task_id.
|
5625 |
|
|
Disable new Ada 05 accessibility check for JVM.NET targets, which
|
5626 |
|
|
cannot be implemented in a practical way.
|
5627 |
|
|
(Expand_N_Attribute_Reference: case Attribute_Tag): The use of 'Tag in
|
5628 |
|
|
the sources always references the tag of the actual object. Therefore,
|
5629 |
|
|
if 'Tag is applied in the sources to class-wide interface objects we
|
5630 |
|
|
generate code that displaces "this" to reference the base of the object.
|
5631 |
|
|
(Expand_N_Attribute_Reference, case Size): Return specified size if
|
5632 |
|
|
known to front end.
|
5633 |
|
|
(Expand_N_Attribute_Reference): The expansion of the 'Address attribute
|
5634 |
|
|
has code that displaces the pointer of the object to manage interface
|
5635 |
|
|
types. However this code must not be executed when the prefix is a
|
5636 |
|
|
subprogram. This bug caused the wrong expansion of the internally
|
5637 |
|
|
generated assignment that fills the dispatch table when the primitive
|
5638 |
|
|
is a function returning a class-wide interface type.
|
5639 |
|
|
(Expand_N_Attribute_Reference:Attribute_Valid): Remove incorrect call to
|
5640 |
|
|
Set_Attribute_Name for Name_Unaligned_Valid.
|
5641 |
|
|
|
5642 |
|
|
2007-06-06 Ed Schonberg
|
5643 |
|
|
Gary Dismukes
|
5644 |
|
|
|
5645 |
|
|
* exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case 'Address):
|
5646 |
|
|
If the initialization is the equivalent aggregate of the initialization
|
5647 |
|
|
procedure of the type, do not remove it.
|
5648 |
|
|
(Expand_N_Attribute_Definition_Clause): Exclude access variables
|
5649 |
|
|
initialized to null from having their expression reset to empty and
|
5650 |
|
|
note this exception in the comment.
|
5651 |
|
|
|
5652 |
|
|
2007-06-06 Hristian Kirtchev
|
5653 |
|
|
Robert Dewar
|
5654 |
|
|
Ed Schonberg
|
5655 |
|
|
Gary Dismukes
|
5656 |
|
|
|
5657 |
|
|
* exp_ch2.adb: Remove "with" and "use" clauses for Namet and Snames.
|
5658 |
|
|
Add "with" and "use" clauses for Sem_Attr.
|
5659 |
|
|
(Expand_Current_Value): Do not replace occurences of attribute
|
5660 |
|
|
references where the prefix must be a simple name.
|
5661 |
|
|
|
5662 |
|
|
* sem_attr.ads, sem_attr.adb: Remove "with" and "use" clauses for
|
5663 |
|
|
Namet. Add new arrays Attribute_Name_Modifies_Prefix and
|
5664 |
|
|
Attribute_Requires_Simple_Name_Prefix.
|
5665 |
|
|
(Name_Modifies_Prefix): Body of new function.
|
5666 |
|
|
(Requires_Simple_Name_Prefix): Body of new function.
|
5667 |
|
|
(Resolve_Attribute, case Access): Improve error message for case of
|
5668 |
|
|
mismatched conventions.
|
5669 |
|
|
(Analyze_Attribute, case 'Tag): The prefix the attribute cannot be of an
|
5670 |
|
|
incomplete type.
|
5671 |
|
|
(Analyze_Attribute, case 'Access): If the type of the prefix is a
|
5672 |
|
|
constrained subtype for a nominal unconstrained type, use its base type
|
5673 |
|
|
to check for conformance with the context.
|
5674 |
|
|
(Resolve_Attribute): Remove test of the access type being associated
|
5675 |
|
|
with a return statement from condition for performing accessibility
|
5676 |
|
|
checks on access attributes, since this case is now captured by
|
5677 |
|
|
Is_Local_Anonymous_Access.
|
5678 |
|
|
(Analyze_Access_Attribute): Set Address_Taken on entity
|
5679 |
|
|
(Analyze_Attribute, case Address): Set Address_Taken on entity
|
5680 |
|
|
(OK_Self_Reference): Traverse tree to locate enclosing aggregate when
|
5681 |
|
|
validating an access attribute whose prefix is a current instance.
|
5682 |
|
|
(Resolve_Attribute): In case of attributes 'Code_Address and 'Address
|
5683 |
|
|
applied to dispatching operations, if freezing is required then we set
|
5684 |
|
|
the attribute Has_Delayed_Freeze in the prefix's entity.
|
5685 |
|
|
(Check_Local_Access): Set flag Suppress_Value_Tracking_On_Call in
|
5686 |
|
|
current scope if access of local subprogram taken
|
5687 |
|
|
(Analyze_Access_Attribute): Check legality of self-reference even if the
|
5688 |
|
|
expression comes from source, as when a single component association in
|
5689 |
|
|
an aggregate has a box association.
|
5690 |
|
|
(Resolve_Attribute, case 'Access): Do not apply accessibility checks to
|
5691 |
|
|
the prefix if it is a protected operation and the attribute is
|
5692 |
|
|
Unrestricted_Access.
|
5693 |
|
|
(Resolve_Attribute, case 'Access): Set the Etype of the attribute
|
5694 |
|
|
reference to the base type of the context, to force a constraint check
|
5695 |
|
|
when the context is an access subtype with an explicit constraint.
|
5696 |
|
|
(Analyze_Attribute, case 'Class): If the prefix is an interface and the
|
5697 |
|
|
node is rewritten as an interface conversion. leave unanalyzed after
|
5698 |
|
|
resolution, to ensure that type checking against the context will take
|
5699 |
|
|
place.
|
5700 |
|
|
|
5701 |
|
|
2007-06-06 Ed Schonberg
|
5702 |
|
|
Javier Miranda
|
5703 |
|
|
Robert Dewar
|
5704 |
|
|
|
5705 |
|
|
* exp_ch3.adb (Make_Controlling_Function_Wrappers): generate wrapper a
|
5706 |
|
|
wrapper when the full view of the controlling type of an inherited
|
5707 |
|
|
function that dispatches on result implements interfaces.
|
5708 |
|
|
(Expand_N_Object_Declaration): In cases where the type of the
|
5709 |
|
|
declaration is anonymous access, create finalization list for it.
|
5710 |
|
|
(Expand_N_Object_Declaration): Generate a persistent_bss directive only
|
5711 |
|
|
if the object has no explicit initialization, to match description of
|
5712 |
|
|
functionality of pragam Persistent_BSS.
|
5713 |
|
|
(Build_Equivalent_Array_Aggregate, Build_Equivalent_Record_Aggregate):
|
5714 |
|
|
new function to build static aggregates, to replace initialization call
|
5715 |
|
|
when static initialization is desired.
|
5716 |
|
|
(Freeze_Type): Generate a list controller for an access type whenever
|
5717 |
|
|
its designated type has controlled anonymous access discriminants.
|
5718 |
|
|
(Build_Equivalent_Aggregate): New procedure to compute a static
|
5719 |
|
|
aggregate to be used as default initialization for composite types,
|
5720 |
|
|
instead of a generating a call to the initialization procedure for the
|
5721 |
|
|
type.
|
5722 |
|
|
(Build_Initialization_Call): When available, replace a call to the
|
5723 |
|
|
initialization procedure with a copy of the equivalent static aggregate
|
5724 |
|
|
for the type.
|
5725 |
|
|
(Expand_N_Object_Declaration): Use New_Occurrence_Of in generated
|
5726 |
|
|
declarations for objects of a class-wide interface type, rather than
|
5727 |
|
|
just identifiers, to prevent visibility problems.
|
5728 |
|
|
(Expand_N_Object_Declaration): When expanding the declaration for an
|
5729 |
|
|
object of a class-wide interface type, preserve the homonym chain of
|
5730 |
|
|
the original entity before exchanging it with that of the generated
|
5731 |
|
|
renaming declaration.
|
5732 |
|
|
(Freeze_Enumeration_Type): Don't raise CE if No_Exception_Propagation
|
5733 |
|
|
active, because there is no way to handle the exception.
|
5734 |
|
|
(Freeze_Record_Type): In case of CPP_Class types add a call to Make_DT
|
5735 |
|
|
to do a minimum decoration of the Access_Disp_Table list.
|
5736 |
|
|
(Expand_Record_Controller): Avoid the addition of the controller between
|
5737 |
|
|
the component containing the tag of a secondary dispatch table and its
|
5738 |
|
|
adjacent component that stores the offset to the base of the object.
|
5739 |
|
|
This latter component is only generated when the parent type has
|
5740 |
|
|
discriminants ---documented in Add_Interface_Tag_Components).
|
5741 |
|
|
(Apply_Array_Size_Check): Removed, no longer needed.
|
5742 |
|
|
(Expand_N_Full_Type_Declaration): If the type has anonymous access
|
5743 |
|
|
components, create a Master_Entity for it only if it contains tasks.
|
5744 |
|
|
(Build_Init_Procedure): Suppress the tag assignment compiling under
|
5745 |
|
|
no run-time mode.
|
5746 |
|
|
(Freeze_Record_Type): Remove code associated with creation of dispatch
|
5747 |
|
|
table.
|
5748 |
|
|
(Init_Secondary_Tags): Update type of actuals when generating calls to
|
5749 |
|
|
Ada.Tags.Set_Offset_To_Top
|
5750 |
|
|
(Stream_Operation_OK): Disable use of streams compiling under no
|
5751 |
|
|
run-time mode
|
5752 |
|
|
(Expand_N_Object_Declaration): Don't do Initialize_Scalars initalization
|
5753 |
|
|
if Has_Init_Expression set.
|
5754 |
|
|
(Build_Init_Procedure): Replace call to Fill_DT_Entry by call to
|
5755 |
|
|
Register_Primitive, which provides the same functionality.
|
5756 |
|
|
(Requires_Init_Proc): Return false in case of interface types.
|
5757 |
|
|
(Add_Secondary_Tables): Use the new attribute Related_Interface to
|
5758 |
|
|
cleanup the code.
|
5759 |
|
|
(Predefined_Primitive_Freeze): Do not assume that an internal entity
|
5760 |
|
|
is always associated with a predefined primitive because the internal
|
5761 |
|
|
entities associated with interface types are not predefined primitives.
|
5762 |
|
|
Therefore, the call to Is_Internal is replaced by a call to the
|
5763 |
|
|
function Is_Predefined_Dispatching_Operation.
|
5764 |
|
|
(Make_Eq_If): When generating the list of comparisons for the
|
5765 |
|
|
components of a given variant, omit the controller component that is
|
5766 |
|
|
present if the variant has controlled components.
|
5767 |
|
|
|
5768 |
|
|
2007-06-06 Javier Miranda
|
5769 |
|
|
Hristian Kirtchev
|
5770 |
|
|
Bob Duff
|
5771 |
|
|
|
5772 |
|
|
* exp_ch4.adb (Complete_Coextension_Finalization): Add machinery to
|
5773 |
|
|
handle the creation of finalization lists and calls for nested
|
5774 |
|
|
coextensions when the root of the chains is part of a return statement.
|
5775 |
|
|
(Inside_A_Return_Statement): New function inside Complete_Coextension_
|
5776 |
|
|
Finalization.
|
5777 |
|
|
(Expand_Record_Equality): Skip components that are interface types.
|
5778 |
|
|
(Displace_Allocator_Pointer): Add missing support for interface subtypes
|
5779 |
|
|
(Expand_N_Allocator): Replace invocation of Is_Local_Access_Discriminant
|
5780 |
|
|
with Rewrite_Coextension. Change the condition for detecting coextension
|
5781 |
|
|
root nodes.
|
5782 |
|
|
(Is_Local_Access_Discriminant): Removed.
|
5783 |
|
|
(Rewrite_Coextension): New routine which rewrites a static coextension
|
5784 |
|
|
as a temporary and uses its unrestricted access in the construction of
|
5785 |
|
|
the outer object.
|
5786 |
|
|
(Complete_Coextension_Finalization): New routine. Generate finalization
|
5787 |
|
|
attachment calls to all delayed coextensions.
|
5788 |
|
|
(Expand_N_Allocator): Call Complete_Coextension_Finalization whenever
|
5789 |
|
|
the allocator is not a coextension itself and has delayed coextensions.
|
5790 |
|
|
If the current allocator is controlled, but also a coextension, delay
|
5791 |
|
|
the generation of the finalization attachment call.
|
5792 |
|
|
Rename local variable "Node" to "Nod" in order to avoid confusion with
|
5793 |
|
|
"Elists.Node".
|
5794 |
|
|
(Expand_Allocator_Expression): Call Adjust for initialized allocators of
|
5795 |
|
|
limited types that are not inherently limited. Such an allocator is
|
5796 |
|
|
illegal, but is generated by the expander for a return statement, to
|
5797 |
|
|
copy the result onto the secondary stack. This is the only case where a
|
5798 |
|
|
limited object can be copied. Generate code to displace the pointer
|
5799 |
|
|
to the object if the qualified expression is a class-wide interface
|
5800 |
|
|
object. Such displacement was missing and hence the copy of the object
|
5801 |
|
|
was wrong.
|
5802 |
|
|
(Apply_Accessibility_Check): Handle allocated objects initialized in
|
5803 |
|
|
place.
|
5804 |
|
|
(Displace_Allocator_Pointer): Subsidiary procedure to Expand_N_Allocator
|
5805 |
|
|
and Expand_Allocator_Expression. Allocating class-wide interface objects
|
5806 |
|
|
this routine displaces the pointer to the allocated object to reference
|
5807 |
|
|
the component referencing the corresponding secondary dispatch table.
|
5808 |
|
|
Expand_Allocator_Expression): Add missing support to allocate class-wide
|
5809 |
|
|
interface objects initialized with a qualified expression.
|
5810 |
|
|
(Get_Allocator_Final_List): Test for an anonymous access type that is a
|
5811 |
|
|
function result type, and use the finalization list associated with the
|
5812 |
|
|
function scope in that case (such an anonymous type should not be
|
5813 |
|
|
treated like an access parameter's type).
|
5814 |
|
|
|
5815 |
|
|
2007-06-06 Ed Schonberg
|
5816 |
|
|
Gary Dismukes
|
5817 |
|
|
Javier Miranda
|
5818 |
|
|
|
5819 |
|
|
* exp_ch5.adb (Expand_N_Assignment_Statement): For the assignment of a
|
5820 |
|
|
controlled type, use Make_Handler_For_Ctrl_Operation to construct the
|
5821 |
|
|
required exception handler.
|
5822 |
|
|
(Expand_Simple_Function_Return, Expand_N_Return_Statement): Handle
|
5823 |
|
|
properly the case of a function whose return type is a limited
|
5824 |
|
|
class-wide interface type. Modify the code of the accessibility
|
5825 |
|
|
check to handle class-wide interface objects. In this case we need to
|
5826 |
|
|
displace "this" to reference the primary dispatch table to get access
|
5827 |
|
|
to the TSD of the object (to evaluate its accessibility level).
|
5828 |
|
|
(Expand_N_Extended_Return_Statement): Test for a tagged result type
|
5829 |
|
|
rather than a controlling result as one of the conditions for
|
5830 |
|
|
generating tests of the implicit BIP_Alloc_Form formal. The
|
5831 |
|
|
initialization assignment is also handled according to whether the
|
5832 |
|
|
result is tagged instead of controlling.
|
5833 |
|
|
In the case where the init assignment is inserted in the "then" part of
|
5834 |
|
|
the allocation conditional, rewrite the target to be a dereference of
|
5835 |
|
|
the implicit BIP_Object_Access formal.
|
5836 |
|
|
If the returned value is unconstrained and created on the secondary
|
5837 |
|
|
stack, mark the enclosing block and function so that the secondary
|
5838 |
|
|
stack is not reclaimed on return.
|
5839 |
|
|
Treat returns from functions with controlling results similarly to
|
5840 |
|
|
returns from functions with unconstrained result subtypes.
|
5841 |
|
|
If the object returned is unconstrained, and an allocator must be
|
5842 |
|
|
created for it, analyze the allocator once the block for the extended
|
5843 |
|
|
return is installed, to ensure that finalizable components
|
5844 |
|
|
of the expression use the proper finalization list. Guard the call to
|
5845 |
|
|
Move_Final_List with a check that there is something to finalize.
|
5846 |
|
|
(Make_Tag_Ctrl_Assignment): Use "old" handling
|
5847 |
|
|
of controlled type assignment for virtual machines, since new code uses
|
5848 |
|
|
unsupported features (such as direct access to bytes in memory).
|
5849 |
|
|
|
5850 |
|
|
2007-06-06 Gary Dismukes
|
5851 |
|
|
Ed Schonberg
|
5852 |
|
|
|
5853 |
|
|
* exp_ch6.ads, exp_ch6.adb (Expand_Call): When adding an extra
|
5854 |
|
|
accessibility actual, check for the case of an aliased object that has
|
5855 |
|
|
been rewritten as an Access attribute, and assign Prev to Prev_Orig so
|
5856 |
|
|
we fall into processing for the attribute rather than the name of the
|
5857 |
|
|
object.
|
5858 |
|
|
(Expand_Inline_Call): If an actual is a literal, and the corresponding
|
5859 |
|
|
formal has its address taken in the body, create a temporary to capture
|
5860 |
|
|
value. If the return type is a limited interface, do not treat the
|
5861 |
|
|
return value as Controlled.
|
5862 |
|
|
(Is_In_Place_Function): If the return type is a limited interface,
|
5863 |
|
|
treat as returning in place. The actual returned object may not always
|
5864 |
|
|
be limited, but the caller has to assume that it is returned in place.
|
5865 |
|
|
(Add_Final_List_Actual_To_Build_In_Place_Call): If the call is the
|
5866 |
|
|
context of an allocator, use the correct finalization chain (that is,
|
5867 |
|
|
the chain belonging to the access type, rather than the chain belonging
|
5868 |
|
|
to the current scope).
|
5869 |
|
|
(Add_Alloc_Form_Actual_To_Build_In_Place_Call): Test for a tagged
|
5870 |
|
|
result type rather than a controlling result as a precondition for
|
5871 |
|
|
adding an allocation form actual to a build-in-place call.
|
5872 |
|
|
(Add_Final_List_Actual_To_Build_In_Place_Call): Ditto.
|
5873 |
|
|
(Freeze_Subprogram): Code cleanup. Remove all the code that register the
|
5874 |
|
|
primitive in the dispatch tables. This work is now done by Make_DT when
|
5875 |
|
|
the type is frozen.
|
5876 |
|
|
(Register_Predefined_DT_Entry): Removed.
|
5877 |
|
|
(Add_Return): If end label is not present, use sloc of last statement
|
5878 |
|
|
for generated return statement in procedure, for better gdb behavior
|
5879 |
|
|
on expanded code.
|
5880 |
|
|
(Add_Access_Actual_To_Build_In_Place_Call): Set parent fields of the
|
5881 |
|
|
object address nodes to ensure proper processing by routines like
|
5882 |
|
|
Insert_After*.
|
5883 |
|
|
(Expand_Call): Fix generation of validity check for parameter
|
5884 |
|
|
(Add_Alloc_Form_Actual_To_Build_In_Place_Call): Return without passing
|
5885 |
|
|
the allocation form parameter if the result subtype is constrained,
|
5886 |
|
|
except when the function has a controlling result.
|
5887 |
|
|
(Add_Final_List_Actual_To_Build_In_Place_Call): Test Controlled_Type
|
5888 |
|
|
rather than Is_Controlled and Has_Controlled_Component, since we want to
|
5889 |
|
|
include class-wide result types in this treatment. Also test for a
|
5890 |
|
|
controlling result, since that also requires passing a finalization
|
5891 |
|
|
list.
|
5892 |
|
|
(Make_Build_In_Place_Call_In_Allocator): Call Add_Alloc_Form_Actual_*
|
5893 |
|
|
even when the result subtype is constrained, to handle calls involving
|
5894 |
|
|
controlling results.
|
5895 |
|
|
(Make_Build_In_Place_Call_In_Anonymous_Context): Add_Alloc_Form_Actual_*
|
5896 |
|
|
is now called even when the result subtype is constrained, to handle
|
5897 |
|
|
calls involving controlling results.
|
5898 |
|
|
(Make_Build_In_Place_Call_In_Assignment): Remove test for Is_Constrained
|
5899 |
|
|
on call to Add_Alloc_Form_Actual_To_Build_In_Place_Call (that procedure
|
5900 |
|
|
now performs the test).
|
5901 |
|
|
(Make_Build_In_Place_Call_In_Object_Declaration):
|
5902 |
|
|
Add_Alloc_Form_Actual_* is now called even when the result subtype is
|
5903 |
|
|
constrained, to handle calls involving controlling results.
|
5904 |
|
|
(Add_Return): Accomodate rewritten pattern from local raise to goto
|
5905 |
|
|
transformation, so that we still recognize an transfer statement
|
5906 |
|
|
and do the right thing here in that case.
|
5907 |
|
|
(Expand_N_Subprogram_Body): Add dummy Push/Pop_xxx_Label nodes at start
|
5908 |
|
|
and end of subprogram code.
|
5909 |
|
|
(Register_Interface_DT_Entry, Register_Predefined_DT_Entry): Add missing
|
5910 |
|
|
support for primitives that are functions (without formals) with a
|
5911 |
|
|
controlling result.
|
5912 |
|
|
(Inherited_From_Formal): If the actual subtype has not generic parent
|
5913 |
|
|
type, it is not an actual for a formal derived type, and there is no
|
5914 |
|
|
operation to inherit from the formal.
|
5915 |
|
|
|
5916 |
|
|
2007-06-06 Ed Schonberg
|
5917 |
|
|
Thomas Quinot
|
5918 |
|
|
|
5919 |
|
|
* exp_ch7.ads, exp_ch7.adb (Expand_Cleanup_Actions): Set Sloc of
|
5920 |
|
|
inserted cleanup code appropriately for GDB use.
|
5921 |
|
|
(Make_Deep_Proc): Use Make_Handler_For_Ctrl_Operation to create
|
5922 |
|
|
exception handler for Deep_Adjust or Deep_Finalize.
|
5923 |
|
|
(Make_Handler_For_Ctrl_Operation): New subprogram. When runtime entity
|
5924 |
|
|
Raise_From_Controlled_Operation is available, use a call to that
|
5925 |
|
|
subprogram instead of a plain "raise Program_Error" node to raise
|
5926 |
|
|
Program_Error if an exception is propagated from an Adjust or Finalize
|
5927 |
|
|
operation.
|
5928 |
|
|
(Insert_Actions_In_Scope_Around): If the statement to be wrapped
|
5929 |
|
|
appears in the optional statement list of a triggering alternative, the
|
5930 |
|
|
scope actions can be inserted directly there, and not in the list that
|
5931 |
|
|
includes the asynchronous select itself.
|
5932 |
|
|
|
5933 |
|
|
2007-06-06 Ed Schonberg
|
5934 |
|
|
Robert Dewar
|
5935 |
|
|
Hristian Kirtchev
|
5936 |
|
|
|
5937 |
|
|
* exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry): Set sloc of
|
5938 |
|
|
generated exception handler appropriately when debugging generated code.
|
5939 |
|
|
Deal properly with No_Exception_Propagation restriction mode.
|
5940 |
|
|
(Expand_N_Abort_Statement): Add an unchecked type conversion from
|
5941 |
|
|
System.Address to System.Tasking.Task_Id when processing the result of
|
5942 |
|
|
the predefined primitive _disp_get_task_id.
|
5943 |
|
|
(Expand_N_Asynchronous_Select): Clarify comment.
|
5944 |
|
|
(Expand_N_Protected_Type_Declaration): Minor code cleanup.
|
5945 |
|
|
(Find_Parameter_Type): New routine inside Type_Conformant_Parameters.
|
5946 |
|
|
(Type_Conformant_Parameters): New parameter Prim_Op_Typ. Code cleanup.
|
5947 |
|
|
(Add_Private_Declarations, Build_Protected_Body): Use proper slocs for
|
5948 |
|
|
privals and for generated call to Complete_Entry_Body, for better gdb
|
5949 |
|
|
behavior.
|
5950 |
|
|
(Copy_Result_Type): Utility to construct a parameter and result profile
|
5951 |
|
|
for protected functions whose return type is an anonymous access to
|
5952 |
|
|
subprogram.
|
5953 |
|
|
(Build_Protected_Sub_Spec and Expand_Access_Protected_Subprogram_Type):
|
5954 |
|
|
call the above.
|
5955 |
|
|
(Build_Task_Activation_Call): Insert Activate_Tasks call at proper
|
5956 |
|
|
point when the local-raise-to-goto transformation has taken place.
|
5957 |
|
|
|
5958 |
|
|
2007-06-06 Javier Miranda
|
5959 |
|
|
Nicolas Setton
|
5960 |
|
|
|
5961 |
|
|
* exp_dbug.adb (Get_Encoded_Name): Modified to continue providing its
|
5962 |
|
|
functionality when the backend is generating code.
|
5963 |
|
|
Otherwise any serious error
|
5964 |
|
|
reported by the backend calling the frontend routine Error_Msg
|
5965 |
|
|
changes the Compilation_Mode to Check_Semantics, disables the
|
5966 |
|
|
functionality of this routine and causes the generation of
|
5967 |
|
|
spureous additional errors.
|
5968 |
|
|
|
5969 |
|
|
* exp_dbug.ads (Pointers to Unconstrained Arrays): Document the
|
5970 |
|
|
debugging information now generated by the compiler for fat-pointer
|
5971 |
|
|
types.
|
5972 |
|
|
Document the contents of DW_AT_producer in the GNAT Vendor extensions to
|
5973 |
|
|
DWARF2/3.
|
5974 |
|
|
Document GNAT Vendor extensions to DWARF 2/3 and the "-gdwarf+" switch.
|
5975 |
|
|
|
5976 |
|
|
2007-06-06 Thomas Quinot
|
5977 |
|
|
|
5978 |
|
|
* exp_dist.ads, exp_dist.adb (Make_Transportable_Check): New subprogram
|
5979 |
|
|
(GARLIC_Support.Build_Subprogram_Receiving_Stubs,
|
5980 |
|
|
PolyORB_Support.Build_Subprogram_Receiving_Stubs):
|
5981 |
|
|
For a remote call to a function with a classwide return type, apply an
|
5982 |
|
|
E.4(18) check to the returned value.
|
5983 |
|
|
(Add_RACW_Primitive_Declarations_And_Bodies): Do not generate stubs for
|
5984 |
|
|
stream attributes of the designated type of an RACW, as they are not
|
5985 |
|
|
dispatching primitive operations.
|
5986 |
|
|
|
5987 |
|
|
2007-06-06 Geert Bosch
|
5988 |
|
|
|
5989 |
|
|
* exp_fixd.adb (Integer_Literal): Add optional argument to construct a
|
5990 |
|
|
negative literal
|
5991 |
|
|
(Do_Divide_Fixed_Fixed): Add comments to indicate Frac is always
|
5992 |
|
|
positive
|
5993 |
|
|
(Do_Divide_Fixed_Universal): Handle case of negative Frac.
|
5994 |
|
|
(Do_Multiply_Fixed_Fixed): Add coments to indicate Frac is always
|
5995 |
|
|
positive
|
5996 |
|
|
(Do_Multiply_Fixed_Universal): Handle case of negative Frac.
|
5997 |
|
|
|
5998 |
|
|
2007-06-06 Javier Miranda
|
5999 |
|
|
|
6000 |
|
|
* exp_imgv.adb (Expand_Value_Attribute): Disable compilation of this
|
6001 |
|
|
attribute compiling package Ada.Tags under No_Run_Time_Mode.
|
6002 |
|
|
|
6003 |
|
|
2007-06-06 Javier Miranda
|
6004 |
|
|
|
6005 |
|
|
* exp_intr.adb (Expand_Unc_Deallocation): Add missing support for
|
6006 |
|
|
deallocation of class-wide interface objects.
|
6007 |
|
|
(Expand_Dispatching_Constructor_Call): Take into account that if the
|
6008 |
|
|
result of the dispatching constructor is an interface type, the
|
6009 |
|
|
function returns a class-wide interface type; otherwise the returned
|
6010 |
|
|
object would be actual. The frontend previously accepted returning
|
6011 |
|
|
interface types because Expand_Interface_Actuals silently performed
|
6012 |
|
|
the management of the returned type "as if" it were a class-wide
|
6013 |
|
|
interface type.
|
6014 |
|
|
(Expand_Dispatching_Constructor_Call): Replace call to
|
6015 |
|
|
Make_DT_Access_Action by direct call to Make_Function_Call.
|
6016 |
|
|
|
6017 |
|
|
2007-06-06 Robert Dewar
|
6018 |
|
|
Ed Schonberg
|
6019 |
|
|
|
6020 |
|
|
* exp_pakd.adb (Expand_Packed_Not): Use RM_Size rather than ESize to
|
6021 |
|
|
compute masking constant, since we now set Esize properly to the
|
6022 |
|
|
underlying size.
|
6023 |
|
|
(Create_Packed_Array_Type): Set proper Esize value adjusted as required
|
6024 |
|
|
to match the alignment.
|
6025 |
|
|
(Create_Packed_Array_Type): Use Short_Short_Unsigned as base type for
|
6026 |
|
|
packed arrays of 8 bits or less.
|
6027 |
|
|
|
6028 |
|
|
* freeze.adb (Freeze_Entity): When freezing the formals of a
|
6029 |
|
|
subprogram, freeze the designated type of a parameter of an access type
|
6030 |
|
|
only if it is an access parameter.
|
6031 |
|
|
Increase size of C convention enumeration object
|
6032 |
|
|
(Freeze_Entity, array type case): Make sure Esize value is properly
|
6033 |
|
|
adjusted for the alignment if it is known.
|
6034 |
|
|
(Freeze_Entity, array type case): When checking bit packed arrays for
|
6035 |
|
|
the size being incorrect, check RM_Size, not Esize.
|
6036 |
|
|
(Freeze_Record_Type): Check for bad discriminated record convention
|
6037 |
|
|
(In_Exp_Body): Return true if the body is generated for a subprogram
|
6038 |
|
|
renaming, either an attribute renaming or a renaming as body.
|
6039 |
|
|
(Check_Itype): If the designated type of an anonymous access component
|
6040 |
|
|
is a non-protected subprogram type, indicate that it is frozen, to
|
6041 |
|
|
prevent out-of-scope freeze node at some subsequent call.
|
6042 |
|
|
(Freeze_Subprogram): On OpenVMS, reject descriptor passing mechanism
|
6043 |
|
|
only if the subprogram is neither imported nor exported, as well as the
|
6044 |
|
|
NCA descriptor class if the subprogram is exported.
|
6045 |
|
|
|
6046 |
|
|
2007-06-06 Ed Schonberg
|
6047 |
|
|
Arnaud Charlet
|
6048 |
|
|
Robert Dewar
|
6049 |
|
|
Gary Dismukes
|
6050 |
|
|
|
6051 |
|
|
* exp_prag.adb (Expand_Pragma_Import_Or_Interface): Remove properly a
|
6052 |
|
|
default initialization on an imported object, when there is no
|
6053 |
|
|
initialization call generated for it.
|
6054 |
|
|
(Expand_Pragma_Assert): Add handling of No_Exception_Propagation
|
6055 |
|
|
restriction
|
6056 |
|
|
|
6057 |
|
|
* snames.h, snames.ads, snames.adb, par-prag.adb: New pragma
|
6058 |
|
|
Static_Elaboration_Desired.
|
6059 |
|
|
Remove pragma Thread_Body.
|
6060 |
|
|
Implement a new pragma No_Body
|
6061 |
|
|
Removes the Explicit_Overriding pragma
|
6062 |
|
|
Remove Optional_Overriding pragma
|
6063 |
|
|
(Prag): Deal with Universal_Aliasing.
|
6064 |
|
|
(Name_CIL, Name_CIL_Constructor, Convention_CIL,
|
6065 |
|
|
Pragma_CIL_Constructor): New names.
|
6066 |
|
|
|
6067 |
|
|
* sem_cat.adb (Validate_Object_Declaration): An initialization that
|
6068 |
|
|
uses the equivalent aggregate of a type must be treated as an implicit
|
6069 |
|
|
initialization.
|
6070 |
|
|
(Get_Categorization): Check a unit for pragma Preelaborate only if it
|
6071 |
|
|
has none of the other categories.
|
6072 |
|
|
(Process_Import_Or_Interface_Pragma): Report an error for an attempt
|
6073 |
|
|
to apply Import to an object renaming declaration.
|
6074 |
|
|
|
6075 |
|
|
* sem_prag.adb (Process_Import_Or_Interface): Warn that a type imported
|
6076 |
|
|
from a C++ class should be declared as limited and that it will be
|
6077 |
|
|
considererd limited.
|
6078 |
|
|
(Analyze_Pragma): Warn that a type specified with pragma CPP_Class
|
6079 |
|
|
should be declared as limited and that it will be considererd limited.
|
6080 |
|
|
(Ada_2005_Pragma): New procedure, used to deal with Ada 2005 pragmas
|
6081 |
|
|
(Analyze_Pragma, case Export): Diagnose export of enumeration literal
|
6082 |
|
|
(Analyze_Pragma): Deal with Universal_Aliasing.
|
6083 |
|
|
(Sig_Flags): Likewise.
|
6084 |
|
|
(Set_Encoded_Interface_Name): Suppress encoding when compiling for AAMP.
|
6085 |
|
|
(Overflow_Checks_Unsuppressed): New flag.
|
6086 |
|
|
(Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed.
|
6087 |
|
|
(Analyze_Pragma [case Pack]): Ignore pragma Pack and post warning in
|
6088 |
|
|
case of JVM or .NET targets, and compiling user code.
|
6089 |
|
|
Add debugging convenience routine rv
|
6090 |
|
|
|
6091 |
|
|
2007-06-06 Robert Dewar
|
6092 |
|
|
|
6093 |
|
|
* exp_strm.adb (Make_Field_Attributes): Avoid _Parent components that
|
6094 |
|
|
are interface type.
|
6095 |
|
|
(Build_Elementary_Input_Call): For floating-point use right type in the
|
6096 |
|
|
absence of strange size or stream size clauses.
|
6097 |
|
|
(Build_Elementary_Write_Call): Same fix
|
6098 |
|
|
(Has_Stream_Standard_Rep): Returns False if Stream_Size attribute
|
6099 |
|
|
set to value that does not match base type size.
|
6100 |
|
|
|
6101 |
|
|
2007-06-06 Ed Schonberg
|
6102 |
|
|
|
6103 |
|
|
* exp_util.ads, exp_util.adb (Expand_Subtype_From_Expr): In Ada2005, an
|
6104 |
|
|
object of a limited type can be initialized with a call to a function
|
6105 |
|
|
that returns in place. If the limited type has unknown discriminants,
|
6106 |
|
|
and the underlying type is a constrained composite type, build an actual
|
6107 |
|
|
subtype from the function call, as is done for private types.
|
6108 |
|
|
(Side_Effect_Free): An expression that is the renaming of an object or
|
6109 |
|
|
whose prefix is the renaming of a object, is not side-effect free
|
6110 |
|
|
because it may be assigned through the renaming and its value must be
|
6111 |
|
|
captured in a temporary.
|
6112 |
|
|
(Has_Controlled_Coextensions): New routine.
|
6113 |
|
|
(Expand_Subtype_From_Expr): Do nothing if type is a limited interface,
|
6114 |
|
|
as is done for other limited types.
|
6115 |
|
|
(Non_Limited_Designated_Type): new predicate.
|
6116 |
|
|
(Make_CW_Equivalent_Type): Modified to handle class-wide interface
|
6117 |
|
|
objects.
|
6118 |
|
|
Remove all handling of with_type clauses.
|
6119 |
|
|
|
6120 |
|
|
* par-ch10.adb: Remove all handling of with_type clauses.
|
6121 |
|
|
|
6122 |
|
|
* lib-load.ads, lib-load.adb (Load_Main_Source): Do not get the
|
6123 |
|
|
checksum if the main source could not be parsed.
|
6124 |
|
|
(Loat_Unit): When processing a child unit, determine properly whether
|
6125 |
|
|
the parent unit is a renaming when the parent is itself a child unit.
|
6126 |
|
|
Remove handling of with_type clauses.
|
6127 |
|
|
|
6128 |
|
|
* sinfo.ads, sinfo.adb (Is_Static_Coextension): New function.
|
6129 |
|
|
(Set_Is_Static_Coextension): New procedure.
|
6130 |
|
|
(Has_Local_Raise): New function
|
6131 |
|
|
(Set_Has_Local_Raise): New procedure
|
6132 |
|
|
(Renaming_Exception): New field
|
6133 |
|
|
(Has_Init_Expression): New flag
|
6134 |
|
|
(Delay_Finalize_Attach): Remove because flag is obsolete.
|
6135 |
|
|
(Set_Delay_Finalize_Attach): Remove because flag is obsolete.
|
6136 |
|
|
Remove all handling of with_type clauses.
|
6137 |
|
|
(Exception_Junk): Can now be set in N_Block_Statement
|
6138 |
|
|
|
6139 |
|
|
2007-06-06 Vincent Celier
|
6140 |
|
|
Robert Dewar
|
6141 |
|
|
|
6142 |
|
|
* frontend.adb (Frontend): Return immediately if the main source could
|
6143 |
|
|
not be parsed, because of preprocessing errors.
|
6144 |
|
|
|
6145 |
|
|
* gnat1drv.adb (gnat1drv): Handle RE_Not_Available gracefully.
|
6146 |
|
|
(Gnat1drv): Exit with errors if the main source could not be parsed,
|
6147 |
|
|
because of preprocessing errors.
|
6148 |
|
|
(Check_Rep_Info): New procedure
|
6149 |
|
|
|
6150 |
|
|
2007-06-06 Robert Dewar
|
6151 |
|
|
|
6152 |
|
|
* g-hesorg.ads, g-heasor.ads,
|
6153 |
|
|
g-busorg.ads, g-bubsor.ads: Update documentation
|
6154 |
|
|
GNAT.Heap/Bubble_Sort_G is now pure
|
6155 |
|
|
|
6156 |
|
|
2007-06-06 Robert Dewar
|
6157 |
|
|
|
6158 |
|
|
* g-catiio.ads, g-catiio.adb (Image): Check for null picture string
|
6159 |
|
|
|
6160 |
|
|
2007-06-06 Robert Dewar
|
6161 |
|
|
Ed Schonberg
|
6162 |
|
|
|
6163 |
|
|
* g-comlin.ads, g-comlin.adb:
|
6164 |
|
|
Add new warning for renaming of function return objects
|
6165 |
|
|
|
6166 |
|
|
* opt.adb (Tree_Write, Tree_Read): Use proper expressions for size
|
6167 |
|
|
(Tree_Read): Use size of object instead of type'object_size, since the
|
6168 |
|
|
latter is incorrect for packed array types.
|
6169 |
|
|
(Tree_Write): Same fix
|
6170 |
|
|
|
6171 |
|
|
* opt.ads: Add new warning for renaming of function return objects
|
6172 |
|
|
(Generating_Code): New boolean variable used to indicate that the
|
6173 |
|
|
frontend as finished its work and has called the backend to process
|
6174 |
|
|
the tree and generate the object file.
|
6175 |
|
|
(GCC_Version): Is now private
|
6176 |
|
|
(Static_Dispatch_Tables): New constant declaration.
|
6177 |
|
|
(Overflow_Checks_Unsuppressed): New flag.
|
6178 |
|
|
(Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed.
|
6179 |
|
|
(List_Closure): New flag for gnatbind (-R)
|
6180 |
|
|
Zero_Formatting: New flag for gnatbind (-Z)
|
6181 |
|
|
(Special_Exception_Package_Used): New flag.
|
6182 |
|
|
(Warn_On_Unrepped_Components): New flag.
|
6183 |
|
|
|
6184 |
|
|
* sem_ch8.adb (Check_Library_Unit_Renaming): Check that the renamed
|
6185 |
|
|
unit is a compilation unit, rather than relying on its scope, so that
|
6186 |
|
|
Standard can be renamed.
|
6187 |
|
|
(Analyze_Object_Renaming): Add new warning for renaming of function
|
6188 |
|
|
return objects.
|
6189 |
|
|
Also reject attempt to rename function return object in Ada 83 mode.
|
6190 |
|
|
(Attribute_Renaming): In case of tagged types, add the body of the
|
6191 |
|
|
generated function to the freezing actions of the type.
|
6192 |
|
|
(Find_Type): A protected type is visible right after the reserved word
|
6193 |
|
|
"is" is encountered in its type declaration. Set the entity and type
|
6194 |
|
|
rather than emitting an error message.
|
6195 |
|
|
(New_Scope): Properly propagate Discard_Names to inner scopes
|
6196 |
|
|
(Check_Nested_Access): New procedure.
|
6197 |
|
|
(Has_Nested_Access, Set_Has_Nested_Access): New procedures.
|
6198 |
|
|
(Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
|
6199 |
|
|
|
6200 |
|
|
* sem_warn.ads, sem_warn.adb: Improvements to infinite loop warning
|
6201 |
|
|
Add new warning for renaming of function return objects
|
6202 |
|
|
(Check_References): Suppress warnings for objects whose type or
|
6203 |
|
|
base type has Warnings suppressed.
|
6204 |
|
|
(Set_Dot_Warning_Switch): Add processing for -gnatw.c/C
|
6205 |
|
|
(Set_Warning_Switch): Include new -gnatwc in -gnatwa
|
6206 |
|
|
|
6207 |
|
|
2007-06-06 Vincent Celier
|
6208 |
|
|
Emmanuel Briot
|
6209 |
|
|
Olivier Hainque
|
6210 |
|
|
|
6211 |
|
|
* g-debpoo.ads, g-debpoo.adb (Free_Physically.Free_Blocks): Use the
|
6212 |
|
|
absolute value of Header.Block_Size when displaying the freed physical
|
6213 |
|
|
memory in traces.
|
6214 |
|
|
(Allocate): Compute Storage_Address using Integer_Address, not
|
6215 |
|
|
Storage_Offset, because the range of Storage_Offset may not be large
|
6216 |
|
|
enough.
|
6217 |
|
|
(Configure): New parameter Low_Level_Traces
|
6218 |
|
|
(Allocate, Deallocation, Free_Physically): Added low-level traces
|
6219 |
|
|
(Configure): new parameter Errors_To_Stdout.
|
6220 |
|
|
(Output_File): new subprogram
|
6221 |
|
|
(Deallocate, Dereference): Send error messages to the proper stream
|
6222 |
|
|
(Print_Pool, Print_Info_Stdout): Make sure the output goes to stdout, as
|
6223 |
|
|
documented. Previous code would send it to the current output file
|
6224 |
|
|
defined in GNAT.IO, which might not be stdout
|
6225 |
|
|
(Is_Valid): Adjust comment to mention that a positive reply means that
|
6226 |
|
|
Header_Of may be used to retrieve the allocation header associated with
|
6227 |
|
|
the subprogram Storage address argument. Return False early if this
|
6228 |
|
|
address argument is misaligned.
|
6229 |
|
|
|
6230 |
|
|
2007-06-06 Vincent Celier
|
6231 |
|
|
|
6232 |
|
|
* gnatcmd.adb (GNATCmd): Accept switch -aP for commands that accept
|
6233 |
|
|
switch -P
|
6234 |
|
|
(ASIS_Main): New global variable
|
6235 |
|
|
(Get_Closure): New procedure
|
6236 |
|
|
(GNATCmd): Set ASIS_Main when -P and -U with a main is used for gnat
|
6237 |
|
|
check, metric or pretty. Call Get_Closure in this case.
|
6238 |
|
|
(Check_Files): For GNAT LIST, check all sources of all projects when
|
6239 |
|
|
All_Projects is True.
|
6240 |
|
|
(GNATCmd): Accept -U for GNAT LIST
|
6241 |
|
|
|
6242 |
|
|
2007-06-06 Vincent Celier
|
6243 |
|
|
|
6244 |
|
|
* gnatlink.adb (Gnatlink): Do not specify -static-libgcc when --LINK=
|
6245 |
|
|
has been specified
|
6246 |
|
|
Correct error message when invocation of the linker fails
|
6247 |
|
|
Add explicit size clause for the C imported variables
|
6248 |
|
|
Object_List_File_Supported and Using_GNU_Linker to emphasize that
|
6249 |
|
|
we expect char size.
|
6250 |
|
|
Read target parameters earlier, since this is needed to set
|
6251 |
|
|
Target_VM properly. Also do not use -static/shared-libgcc for non GCC
|
6252 |
|
|
targets.
|
6253 |
|
|
|
6254 |
|
|
2007-06-06 Vincent Celier
|
6255 |
|
|
|
6256 |
|
|
* gnatls.adb:
|
6257 |
|
|
Add 3 spaces before the default project directory when displaying
|
6258 |
|
|
the project search path.
|
6259 |
|
|
Add new command line switch '-l' to display license information.
|
6260 |
|
|
|
6261 |
|
|
2007-06-06 Vasiliy Fofanov
|
6262 |
|
|
|
6263 |
|
|
* gmem.c: Add support for timestamps on memory operations.
|
6264 |
|
|
|
6265 |
|
|
* memtrack.adb, gnatmem.adb: Add support for timestamps on memory
|
6266 |
|
|
operations (not used currently, just foundation for future
|
6267 |
|
|
enhancements). Add possibility to perform full dump of gmem.out file.
|
6268 |
|
|
(Print_Back_Traces): Declare accesses to root arrays constants since
|
6269 |
|
|
they aren't modified.
|
6270 |
|
|
(Print_Back_Traces): allocate root arrays on the heap rather than stack.
|
6271 |
|
|
|
6272 |
|
|
2007-06-06 Vincent Celier
|
6273 |
|
|
|
6274 |
|
|
* gnatsym.adb: Update Copyright notice
|
6275 |
|
|
(Parse_Cmd_Line): Accept new switch -D
|
6276 |
|
|
(Gnatsym): In Direct policy (switch -D) copy reference file to symbol
|
6277 |
|
|
file.
|
6278 |
|
|
|
6279 |
|
|
* prj.ads (Policy): New policy Direct
|
6280 |
|
|
(Yes_No_Unknown): New enumeration type
|
6281 |
|
|
(Project_Data): New component Libgnarl_Needed
|
6282 |
|
|
|
6283 |
|
|
* prj-nmsc.adb (Check_For_Source): When recording a source file make
|
6284 |
|
|
use the untouched pathname casing.
|
6285 |
|
|
(Get_Directories): Ensure that the Display_Exec_Directory is using the
|
6286 |
|
|
proper casing on non case-sensitive platforms like Windows.
|
6287 |
|
|
(Get_Unit): Accept file names x__... and x~... (where x = a, g, i or s)
|
6288 |
|
|
on all platforms, as it is not possible to know which one is allowed
|
6289 |
|
|
before processing the project files.
|
6290 |
|
|
(Check_Stand_Alone_Library): Check that Library_Reference_Symbol_File is
|
6291 |
|
|
specified when symbol policy is Direct. Check that when there is a
|
6292 |
|
|
symbol file defined (either by default or with attribute
|
6293 |
|
|
Library_Symbol_File) it is not the same as the reference symbol file.
|
6294 |
|
|
(Check_Stand_Alone_Library): Recognize new symbol policy Direct.
|
6295 |
|
|
(Look_For_Sources): Allow Locally_Removed_Files to be declare in non
|
6296 |
|
|
extending projects.
|
6297 |
|
|
(Record_Ada_Source): Record a source that has been locally removed in an
|
6298 |
|
|
imported project.
|
6299 |
|
|
|
6300 |
|
|
* symbols.ads (Policy): New policy Direct
|
6301 |
|
|
|
6302 |
|
|
* symbols-vms.adb (Initialize): Take new policy Direct in case
|
6303 |
|
|
statement
|
6304 |
|
|
|
6305 |
|
|
2007-06-06 Vincent Celier
|
6306 |
|
|
|
6307 |
|
|
* g-os_lib.ads, g-os_lib.adb (Normalize_Pathname.Get_Directory):
|
6308 |
|
|
Correct obvious bug (return Dir; instead of return Directory;).
|
6309 |
|
|
(Normalize_Pathname): Use Reference_Dir'Length, not Reference_Dir'Last
|
6310 |
|
|
|
6311 |
|
|
2007-06-06 Thomas Quinot
|
6312 |
|
|
|
6313 |
|
|
* g-pehage.adb (Produce): Open output files in Binary mode, so that
|
6314 |
|
|
they have UNIX line endings (LF only) even on Windows, and thus pass
|
6315 |
|
|
all GNAT style checks.
|
6316 |
|
|
|
6317 |
|
|
2007-06-06 Emmanuel Briot
|
6318 |
|
|
|
6319 |
|
|
* g-regpat.adb (Quote): Fix improper quoting of '.'
|
6320 |
|
|
|
6321 |
|
|
2007-06-06 Thomas Quinot
|
6322 |
|
|
|
6323 |
|
|
* g-soccon.ads: Add new constant Thread_Blocking_IO, always True by
|
6324 |
|
|
default, set False on a per-runtime basis.
|
6325 |
|
|
(Need_Netdb_Buffer): New constant.
|
6326 |
|
|
|
6327 |
|
|
* g-socket.ads, g-socket.adb: Import new package
|
6328 |
|
|
GNAT.Sockets.Thin.Task_Safe_NetDB.
|
6329 |
|
|
(Raise_Host_Error): Use Host_Error_Message from platform-specific thin
|
6330 |
|
|
binding to obtain proper message.
|
6331 |
|
|
(Close_Selector): Use GNAT.Sockets.Thin.Signalling_Fds.Close.
|
6332 |
|
|
Replace various occurrences of Arry (Arry'First)'Address with the
|
6333 |
|
|
equivalent Arry'Address (GNAT always follows implementation advice from
|
6334 |
|
|
13.3(14)).
|
6335 |
|
|
(Get_Host_By_Address, Get_Host_By_Name,
|
6336 |
|
|
Get_Service_By_Name, Get_Service_By_Port): Do not use GNAT.Task_Lock;
|
6337 |
|
|
instead, rely on platform-specific task safe netdb operations provided
|
6338 |
|
|
by g-socthi.
|
6339 |
|
|
|
6340 |
|
|
* g-socthi.ads, g-socthi.adb (Initialize): Remove obsolete formal
|
6341 |
|
|
parameter Process_Blocking_IO.
|
6342 |
|
|
(Host_Error_Messages): Add stub body.
|
6343 |
|
|
(GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
|
6344 |
|
|
(Safe_Gethostbyname, Safe_Gethostbyaddr, Safe_Getservbyname,
|
6345 |
|
|
Safe_Getservbyport): Move functions into new child package
|
6346 |
|
|
Task_Safe_NetDB.
|
6347 |
|
|
(Nonreentrant_Gethostbyname, Nonreentrant_Gethostbyaddr,
|
6348 |
|
|
Nonreentrant_Getservbyname, Nonreentrant_Getservbyport): New routines.
|
6349 |
|
|
(In_Addr): Add alignment clause.
|
6350 |
|
|
|
6351 |
|
|
2007-06-06 Robert Dewar
|
6352 |
|
|
|
6353 |
|
|
* g-trasym.ads, g-traceb.ads: Update list of supported targets
|
6354 |
|
|
Add note about symbolic traceback
|
6355 |
|
|
|
6356 |
|
|
2007-06-06 Pascal Obry
|
6357 |
|
|
|
6358 |
|
|
* hostparm.ads (Normalized_CWD): Use the host directory separator
|
6359 |
|
|
instead of the hardcoded forward slash which is not the proper
|
6360 |
|
|
character on Windows for example.
|
6361 |
|
|
(Java_VM): Removed.
|
6362 |
|
|
|
6363 |
|
|
2007-06-06 Vincent Celier
|
6364 |
|
|
Arnaud Charlet
|
6365 |
|
|
|
6366 |
|
|
* a-clrefi.adb, a-clrefi.ads: New files
|
6367 |
|
|
|
6368 |
|
|
* impunit.adb: Add s-os_lib in the list of user visible units.
|
6369 |
|
|
(Non_Imp_File_Names_95): Add a-clrefi to this list
|
6370 |
|
|
Remove obsolete run-time entries.
|
6371 |
|
|
(Non_Imp_File_Names_05): Add Ada 2005 entries for:
|
6372 |
|
|
"a-exetim" -- Ada.Execution_Time
|
6373 |
|
|
"a-extiti" -- Ada.Execution_Time.Timers
|
6374 |
|
|
|
6375 |
|
|
* mlib-prj.ads, mlib-prj.adb
|
6376 |
|
|
(Build_Library): Use untouched object dir and library dir. At the
|
6377 |
|
|
same time makes sure that the checks are done using the canonical
|
6378 |
|
|
form. Removes hard-coded directory separator and use the proper host
|
6379 |
|
|
one instead.
|
6380 |
|
|
(Process_Project): Do not look in object directory to check if libgnarl
|
6381 |
|
|
is needed for a library, if there is no object directory.
|
6382 |
|
|
(Build_Library): Scan the ALI files to decide if libgnarl is needed for
|
6383 |
|
|
linking.
|
6384 |
|
|
(Build_Library): When invoking gnatbind, use a response file if the
|
6385 |
|
|
total size of the arguments is too large.
|
6386 |
|
|
|
6387 |
|
|
* Makefile.rtl: (g-sttsne): New object file.
|
6388 |
|
|
Add entry for a-clrefi, s-utf_32, System.Exceptions
|
6389 |
|
|
|
6390 |
|
|
* Make-lang.in: Remove bogus dependency of s-memory.o on memtrack.o.
|
6391 |
|
|
(GNAT_ADA_OBJS, GNATBIND_OBJS): Add s-except.o.
|
6392 |
|
|
(GNATBIND_OBJS): Add new objects a-clrefi.o and a-comlin.o
|
6393 |
|
|
Change g-string to s-string, g-os_lib to s-os_lib
|
6394 |
|
|
Change all g-utf_32 references to s-utf_32
|
6395 |
|
|
|
6396 |
|
|
2007-06-06 Tristan Gingold
|
6397 |
|
|
Olivier Hainque
|
6398 |
|
|
|
6399 |
|
|
* init.c: Do not adjust IP of an imported VMS exception of ia64.
|
6400 |
|
|
LIB$STOP is called to raise an exception and the IP of the exception
|
6401 |
|
|
is the instruction right after the call.
|
6402 |
|
|
(__gnat_adjust_context_for_raise, AIX): Implement.
|
6403 |
|
|
(__gnat_error_handler, AIX): Accept SIGINFO related arguments and call
|
6404 |
|
|
adjust_context_for_raise before Raise_From_Signal_Hanler.
|
6405 |
|
|
(__gnat_install_handler, AIX): Add SA_SIGINFO to the sa_flags, to ensure
|
6406 |
|
|
siginfo is passed to the handler, necessary to let the zcx propagation
|
6407 |
|
|
engine unwind past it.
|
6408 |
|
|
|
6409 |
|
|
2007-06-06 Olivier Hainque
|
6410 |
|
|
|
6411 |
|
|
* initialize.c (__gnat_initialize for vxworks): Update documentation
|
6412 |
|
|
on the ZCX support, using different sets of crtstuff objects than with
|
6413 |
|
|
GCC 3.4.
|
6414 |
|
|
|
6415 |
|
|
2007-06-06 Robert Dewar
|
6416 |
|
|
|
6417 |
|
|
* layout.ads, layout.adb (Adjust_Esize_Alignment): Move spec to package
|
6418 |
|
|
spec from body
|
6419 |
|
|
(Layout_Type): Fix recomputation of size from alignment.
|
6420 |
|
|
|
6421 |
|
|
2007-06-06 Ed Schonberg
|
6422 |
|
|
Javier Miranda
|
6423 |
|
|
|
6424 |
|
|
* sem_ch12.adb (Analyze_Associations): Diagnose use of an others
|
6425 |
|
|
association in an instance.
|
6426 |
|
|
(Copy_Generic_Node): If the node is a string literal, no need to copy
|
6427 |
|
|
its descendants.
|
6428 |
|
|
(Is_Generic_Formal): For a formal subprogram, the declaration is the
|
6429 |
|
|
grandparent of the entity.
|
6430 |
|
|
(Analyze_Formal_Interface_Type): Transform into a full type declaration,
|
6431 |
|
|
to simplify handling of formal interfaces that derive from other formal
|
6432 |
|
|
interfaces.
|
6433 |
|
|
(Instantiate_Subprogram_Body): The defining unit name of the body of
|
6434 |
|
|
the instance should be a defining identifier.
|
6435 |
|
|
(Install_Formal_Packages): make global to the package, for use in
|
6436 |
|
|
instantiations of child units.
|
6437 |
|
|
(Analyze_Package_Instantiation): Do not attempt to set information on an
|
6438 |
|
|
enclosing master of an entry when expansion is disabled.
|
6439 |
|
|
(Instantiate_Type): If the actual is a tagged synchronized type and the
|
6440 |
|
|
generic ancestor is an interface, create a generic actual for the
|
6441 |
|
|
corresponding record.
|
6442 |
|
|
(Analyze_Formal_Derived_Interface_Type): Rewrite as a derived type
|
6443 |
|
|
declaration, to ensure that the interface list is processed correctly.
|
6444 |
|
|
(Inline_Instance_Body): If enclosing scope is an instance body, remove
|
6445 |
|
|
its entities from visibiility as well.
|
6446 |
|
|
(Pre_Analyze_Actuals): if the actual is an allocator with constraints
|
6447 |
|
|
given with a named association, analyze the expression only, not the
|
6448 |
|
|
discriminant association itself.
|
6449 |
|
|
(Reset_Entity): If the analysis of a selected component is transformed
|
6450 |
|
|
into an expanded name in the prefix of a call with parameters, do not
|
6451 |
|
|
transform the original node into an expanded name, to prevent visibility
|
6452 |
|
|
errors in the case of nested generics.
|
6453 |
|
|
(Check_Private_View): For an array type, check whether the index types
|
6454 |
|
|
may need exchanging.
|
6455 |
|
|
|
6456 |
|
|
2007-06-06 Arnaud Charlet
|
6457 |
|
|
Vincent Celier
|
6458 |
|
|
|
6459 |
|
|
* lib-writ.adb: Handle Convention_CIL in addition to Convention_Java,
|
6460 |
|
|
since both are separated.
|
6461 |
|
|
Add support for imported CIL packages.
|
6462 |
|
|
Add further special handling of "value_type" for CIL.
|
6463 |
|
|
Add special handling of pragma Import for CIL.
|
6464 |
|
|
|
6465 |
|
|
* make.ads, make.adb: When switch -eS is used, direct all outputs to
|
6466 |
|
|
standard output instead of standard error, except errors.
|
6467 |
|
|
(Absolute_Path): Use untouched casing for the parent directory.
|
6468 |
|
|
(Add_Library_Search_Dir): Use the untouched directory name.
|
6469 |
|
|
(Add_Source_Search_Dir): Idem.
|
6470 |
|
|
(Change_To_Object_Directory): Update output to use proper casing.
|
6471 |
|
|
(Create_Binder_Mapping_File): Use the untouched filename to set
|
6472 |
|
|
ALI_Name.
|
6473 |
|
|
(Gnatmake): Use untouched library and executable directory names.
|
6474 |
|
|
(Insert_Project_Sources): Use untouched filename for spec and body.
|
6475 |
|
|
(Is_In_Object_Directory): Use untouched object directory.
|
6476 |
|
|
(Mark_Directory): Idem.
|
6477 |
|
|
(Collect_Arguments_And_Compile): Ensure that Full_Source_File always
|
6478 |
|
|
contains the non-canonical filename in all cases.
|
6479 |
|
|
(Change_To_Object_Directory): In verbose mode, display the name of the
|
6480 |
|
|
object directory we're changing to.
|
6481 |
|
|
(Compile_Sources): Make sure, when a project file is used, to compile
|
6482 |
|
|
the body of the unit, when there is one, even when only the spec is
|
6483 |
|
|
recorded in an ALI file.
|
6484 |
|
|
(Gcc_Switches, Binder_Switches, Linker_Switches): Tables moved from the
|
6485 |
|
|
spec to the body.
|
6486 |
|
|
(Report_Compilation_Failed): New procedure
|
6487 |
|
|
(Bind, Display_Commands, Compile_Sources, Initialize, Scan_Make_Arg):
|
6488 |
|
|
procedures moved from the spec to the body.
|
6489 |
|
|
(Extract_Failure): Removed, not used
|
6490 |
|
|
Replace explicit raises of exception Bind_Failed and Link_Failed with
|
6491 |
|
|
calls to Make_Failed with the proper message.
|
6492 |
|
|
Replace explicit raises of exception Compilation_Failed with calls to
|
6493 |
|
|
procedure Report_Compilation_Failed.
|
6494 |
|
|
(Initialize): Create mapping files unconditionally when using project
|
6495 |
|
|
files.
|
6496 |
|
|
|
6497 |
|
|
* sem_mech.adb: (Name_CIL, Name_CIL_Constructor, Convention_CIL,
|
6498 |
|
|
Pragma_CIL_Constructor): New names.
|
6499 |
|
|
|
6500 |
|
|
* targparm.ads, targparm.adb
|
6501 |
|
|
(Compiler_System_Version): Removed, no longer used.
|
6502 |
|
|
(Get_Target_Parameters): Relax checks on system.ads validity. Add
|
6503 |
|
|
handling of two new system flags: JVM and CLI.
|
6504 |
|
|
|
6505 |
|
|
2007-06-06 Jose Ruiz
|
6506 |
|
|
Arnaud Charlet
|
6507 |
|
|
|
6508 |
|
|
* Makefile.in (LIBGNAT_TARGET_PAIRS for VxWorks 6): For the RTP run
|
6509 |
|
|
time, use the default s-interr body that provides interrupt support
|
6510 |
|
|
based on signals.
|
6511 |
|
|
(LIBGNAT_TARGET_PAIRS for x86-linux): Use specialized versions of
|
6512 |
|
|
a-exetim.ad{s,b}, a-extiti.ad{s,b}, a-rttiev.ad{s,b}, s-osinte.ad{s,b},
|
6513 |
|
|
g-soccon.ads, and s-taprop.adb for the marte run time.
|
6514 |
|
|
(EXTRA_GNATRTL_TASKING_OBJS for x86-linux): Execution time clocks and
|
6515 |
|
|
timers are supported on marte.
|
6516 |
|
|
(EH_MECHANISM for marte): Do not use ZCX.
|
6517 |
|
|
(THREADSLIB for marte): Use -lmarte.
|
6518 |
|
|
Add mlib-tgt-vms.o to the list of objects for gnatmake for VMS
|
6519 |
|
|
Add mlib-tgt-specific.o to gnatmake objects
|
6520 |
|
|
mlib-tgt-.adb is now the body of MLib.Tgt.Specific, no
|
6521 |
|
|
longer of MLib.Tgt.
|
6522 |
|
|
(LIBGNAT_TARGET_PAIRS for vxworks): When building a run time for VxWorks
|
6523 |
|
|
6, either kernel or rtp, use a specialized version of s-osinte.ads.
|
6524 |
|
|
|
6525 |
|
|
2007-06-06 Pascal Obry
|
6526 |
|
|
|
6527 |
|
|
* mkdir.c (__gnat_mkdir): Add support for UTF-8.
|
6528 |
|
|
|
6529 |
|
|
2007-06-06 Vincent Celier
|
6530 |
|
|
|
6531 |
|
|
* mlib.ads, mlib.adb (Build_Library): Do not use hard-coded directory
|
6532 |
|
|
separator, use instead the proper host directory separator.
|
6533 |
|
|
(Copy_ALI_Files): Make sure that an already existing ALI file in the
|
6534 |
|
|
ALI copy dir is writable, before doing the copy.
|
6535 |
|
|
|
6536 |
|
|
* mlib-utl.ads, mlib-utl.adb:
|
6537 |
|
|
(Gcc): If length of command line is too long, put the list of object
|
6538 |
|
|
files in a response file, if this is supported by the platform.
|
6539 |
|
|
(Ar): If invocation of the archive builder is allowed to be done in
|
6540 |
|
|
chunks and building it in one shot would go above an OS dependent
|
6541 |
|
|
limit on the number of characters on the command line, build the archive
|
6542 |
|
|
in chunks.
|
6543 |
|
|
|
6544 |
|
|
2007-06-06 Vincent Celier
|
6545 |
|
|
|
6546 |
|
|
* osinte-c.ads, osint-c.adb (Set_Library_Info_Name): Fail if base name
|
6547 |
|
|
of specified object file is not equal to base name of source.
|
6548 |
|
|
|
6549 |
|
|
2007-06-06 Javier Miranda
|
6550 |
|
|
Hristian Kirtchev
|
6551 |
|
|
Ed Schonberg
|
6552 |
|
|
|
6553 |
|
|
* sem_ch3.adb (Process_Full_View): Propagate the CPP_Class attribute to
|
6554 |
|
|
the full type declaration.
|
6555 |
|
|
(Analyze_Component_Declaration): Add local variable E to capture the
|
6556 |
|
|
initialization expression of the declaration. Replace the occurences of
|
6557 |
|
|
Expression (N) with E.
|
6558 |
|
|
(OK_For_Limited_Init_In_05): Allow initialization of class-wide
|
6559 |
|
|
limited interface object with a function call.
|
6560 |
|
|
(Array_Type_Declaration): If the declaration lacks subtype marks for
|
6561 |
|
|
indices, create a simple index list to prevent cascaded errors.
|
6562 |
|
|
(Is_Null_Extension): Ignore internal components created for secondary
|
6563 |
|
|
tags when checking whether a record extension is a null extension.
|
6564 |
|
|
(Check_Abstract_Interfaces): Add missing support for interface subtypes
|
6565 |
|
|
and generic formals.
|
6566 |
|
|
(Derived_Type_Declaration): Add missing support for interface subtypes
|
6567 |
|
|
and generic formals.
|
6568 |
|
|
(Analyze_Object_Declaration): If an initialization expression is
|
6569 |
|
|
present, traverse its subtree and mark all allocators as static
|
6570 |
|
|
coextensions.
|
6571 |
|
|
(Add_Interface_Tag_Component): When looking for components that may be
|
6572 |
|
|
secondary tags, ignore pragmas that can appear within a record
|
6573 |
|
|
declaration.
|
6574 |
|
|
(Check_Abstract_Overriding): an inherited function that dispatches on
|
6575 |
|
|
result does not need to be overriden if the controlling type is a null
|
6576 |
|
|
extension.
|
6577 |
|
|
(Mentions_T): Handle properly a 'class attribute in an anonymous access
|
6578 |
|
|
component declaration, when the prefix is an expanded name.
|
6579 |
|
|
(Inherit_Component): If the derivation is for a private extension,
|
6580 |
|
|
inherited components remain visible and their ekind should not be set
|
6581 |
|
|
to Void.
|
6582 |
|
|
(Find_Type_Of_Object): In the case of an access definition, always set
|
6583 |
|
|
Is_Local_Anonymous_Access. We were previously not marking the anonymous
|
6584 |
|
|
access type of a return object as a local anonymous type.
|
6585 |
|
|
(Make_Index): Use Ambiguous_Character to report ambiguity on a discrete
|
6586 |
|
|
range with character literal bounds.
|
6587 |
|
|
(Constrain_Array): Initialize the Packed_Array_Type field to Empty.
|
6588 |
|
|
(Access_Subprogram_Declaration): Indicate that the type declaration
|
6589 |
|
|
depends on an incomplete type only if the incomplete type is declared
|
6590 |
|
|
in an open scope.
|
6591 |
|
|
(Analyze_Subtype_Declaration): Handle properly subtypes of
|
6592 |
|
|
synchronized types that are tagged, and that may appear as generic
|
6593 |
|
|
actuals.
|
6594 |
|
|
(Access_Subprogram_Declaration): An anonymous access to subprogram can
|
6595 |
|
|
appear as an access discriminant in a private type declaration.
|
6596 |
|
|
(Add_Interface_Tag_Components): Complete decoration of the component
|
6597 |
|
|
containing the tag of a secondary dispatch table and the component
|
6598 |
|
|
containing the offset to the base of the object (this latter component
|
6599 |
|
|
is only generated when the parent type has discriminants --as documented
|
6600 |
|
|
in this routine).
|
6601 |
|
|
(Inherit_Components): Use the new decoration of the tag components to
|
6602 |
|
|
improve the condition that avoids inheriting the components associated
|
6603 |
|
|
with secondary tags of the parent.
|
6604 |
|
|
(Build_Discriminanted_Subtype): Indicate to the backend that the
|
6605 |
|
|
size of record types associated with dispatch tables is known at
|
6606 |
|
|
compile time.
|
6607 |
|
|
(Analyze_Subtype_Declaration): Propagate Is_Interface flag when needed.
|
6608 |
|
|
(Analyze_Interface_Declaration): Change setting of Is_Limited_Interface
|
6609 |
|
|
to include task, protected, and synchronized interfaces as limited
|
6610 |
|
|
interfaces.
|
6611 |
|
|
(Process_Discriminants): Remove the setting of
|
6612 |
|
|
Is_Local_Anonymous_Access on the type of (anonymous) access
|
6613 |
|
|
discriminants of nonlimited types.
|
6614 |
|
|
(Analyze_Interface_Type_Declaration): Complete the decoration of the
|
6615 |
|
|
class-wide entity it is is already present. This situation occurs if
|
6616 |
|
|
the limited-view has been previously built.
|
6617 |
|
|
(Enumeration_Type_Declaration): Initialize properly the Enum_Pos_To_Rep
|
6618 |
|
|
field.
|
6619 |
|
|
(Add_Interface_Tag_Components.Add_Tag): Set the value of the attribute
|
6620 |
|
|
Related_Interface.
|
6621 |
|
|
|
6622 |
|
|
2007-06-06 Ed Schonberg
|
6623 |
|
|
|
6624 |
|
|
* sem_aggr.adb (Resolve_Record_Aggregate): Ignore internal components
|
6625 |
|
|
of the type that specify the position of interface tags when the type
|
6626 |
|
|
inherits discriminated array components from the parent type.
|
6627 |
|
|
If a component is initialized with a box, check for the presence of a
|
6628 |
|
|
default expression in its declaration before using its default
|
6629 |
|
|
initialization procedure.
|
6630 |
|
|
(Resolve_Record_Aggregate): If a component is box-initialized, and the
|
6631 |
|
|
component type has a discriminants, create a partial aggregate for it
|
6632 |
|
|
by copying the discriminants of the component subtype.
|
6633 |
|
|
Reject attempt to initialize a discriminant with a box.
|
6634 |
|
|
(Array_Aggr_Subtype): Indicate to the backend that the size of arrays
|
6635 |
|
|
associated with dispatch tables is known at compile time.
|
6636 |
|
|
(Get_Value): If an association in a record aggregate has a box
|
6637 |
|
|
association, and the corresponding record component has a default
|
6638 |
|
|
expression, always copy the default expression, even when the
|
6639 |
|
|
association has a single choice, in order to create a proper
|
6640 |
|
|
association for the expanded aggregate.
|
6641 |
|
|
|
6642 |
|
|
2007-06-06 Ed Schonberg
|
6643 |
|
|
Robert Dewar
|
6644 |
|
|
|
6645 |
|
|
* par-ch12.adb (P_Generic_Associations): The source position of an
|
6646 |
|
|
Others association is that of the others keyword, not that of the token
|
6647 |
|
|
that follows the box.
|
6648 |
|
|
(P_Formal_Type_Definition): Handle formal access types that carry a
|
6649 |
|
|
not null indicator.
|
6650 |
|
|
|
6651 |
|
|
* par-ch3.adb (P_Known_Discriminant_Part_Opt, P_Component_Items): If
|
6652 |
|
|
multiple identifier are present, save Scan_State before scanning the
|
6653 |
|
|
colon, to ensure that separate trees are constructed for each
|
6654 |
|
|
declaration.
|
6655 |
|
|
(P_Identifier_Declarations): For object declaration, set new flag
|
6656 |
|
|
Has_Init_Expression if initialization expression present.
|
6657 |
|
|
(P_Null_Exclusion): Properly diagnose NOT NULL coming before NULL
|
6658 |
|
|
Improve NOT NULL error messages
|
6659 |
|
|
|
6660 |
|
|
2007-06-06 Robert Dewar
|
6661 |
|
|
|
6662 |
|
|
* par-ch4.adb: (P_Name): Recover from literal used as name
|
6663 |
|
|
|
6664 |
|
|
2007-06-06 Vincent Celier
|
6665 |
|
|
|
6666 |
|
|
* prep.ads, prep.adb (Expression): New Boolean parameter Complemented,
|
6667 |
|
|
defaulted to False.
|
6668 |
|
|
In the "not" case, recursive call with Complemented set to True.
|
6669 |
|
|
Do not allow "or" or "and" operators when Complemented is True.
|
6670 |
|
|
|
6671 |
|
|
2007-06-06 Vincent Celier
|
6672 |
|
|
|
6673 |
|
|
* prj.adb (Project_Empty): Gives default value for new component
|
6674 |
|
|
Libgnarl_Needed
|
6675 |
|
|
|
6676 |
|
|
* prj-attr.ads: Minor reformatting
|
6677 |
|
|
|
6678 |
|
|
* prj-env.ads, prj-env.adb (For_All_Object_Dirs): Register object
|
6679 |
|
|
directory using the untouched casing.
|
6680 |
|
|
(For_All_Source_Dirs): Idem.
|
6681 |
|
|
|
6682 |
|
|
* prj-ext.ads, prj-ext.adb (Search_Directories): New table to record
|
6683 |
|
|
directories specified with switches -aP.
|
6684 |
|
|
(Add_Search_Project_Directory): New procedure
|
6685 |
|
|
(Initialize_Project_Path): Put the directories in table
|
6686 |
|
|
Search_Directories in the project search path.
|
6687 |
|
|
(Initialize_Project_Path): For VMS, transform into canonical form the
|
6688 |
|
|
project path.
|
6689 |
|
|
|
6690 |
|
|
2007-06-06 Arnaud Charlet
|
6691 |
|
|
|
6692 |
|
|
* restrict.ads, restrict.adb (No_Exception_Handlers_Set): Only return
|
6693 |
|
|
true if configurable run-time or No_Run_Time is set.
|
6694 |
|
|
(Set_Restriction): Avoid setting restriction No_Elaboration_Code when
|
6695 |
|
|
processing an unit which is not the one being compiled.
|
6696 |
|
|
|
6697 |
|
|
2007-06-06 Arnaud Charlet
|
6698 |
|
|
|
6699 |
|
|
* s-arit64.adb: Replace System.Pure_Exceptions by Ada 05 syntax.
|
6700 |
|
|
Replace UC by Ada.UC
|
6701 |
|
|
|
6702 |
|
|
* s-bitops.adb: Get rid of System.Pure_Exceptions.
|
6703 |
|
|
Replace UC by Ada.UC
|
6704 |
|
|
|
6705 |
|
|
2007-06-06 Robert Dewar
|
6706 |
|
|
|
6707 |
|
|
* scng.adb: (Check_End_Of_Line): Deal with very long lines
|
6708 |
|
|
|
6709 |
|
|
2007-06-06 Robert Dewar
|
6710 |
|
|
|
6711 |
|
|
* sem.ads, sem.adb (Semantics): Save and restore Global_Discard_Names
|
6712 |
|
|
Remove no longer used nodes.
|
6713 |
|
|
|
6714 |
|
|
2007-06-06 Javier Miranda
|
6715 |
|
|
Ed Schonberg
|
6716 |
|
|
Robert Dewar
|
6717 |
|
|
|
6718 |
|
|
* sem_ch10.ads, sem_ch10.adb (Analyze_Compilation_Unit): Disable check
|
6719 |
|
|
on obsolescent withed unit in case of limited-withed units.
|
6720 |
|
|
(Analyze_Compilation_Unit): Add guard to code that removed an
|
6721 |
|
|
instantiation from visibility, to prevent compiler aborts when
|
6722 |
|
|
instantiation is abandoned early on.
|
6723 |
|
|
(Install_Limited_Withed_Unit): Recognize a limited-with clause on the
|
6724 |
|
|
current unit being analyzed, and Distinguish local incomplete types
|
6725 |
|
|
from limited views of types declared elsewhere.
|
6726 |
|
|
(Build_Limited_Views.Decorate_Tagged_Type): Add documentation
|
6727 |
|
|
to state that the class-wide entity is shared by the limited-view
|
6728 |
|
|
and the full-view.
|
6729 |
|
|
(Analyze_With_Clause): Improve placement of flag for case of
|
6730 |
|
|
unimplemented unit.
|
6731 |
|
|
(Analyze_With_Clause): Recognize use of GNAT.Exception_Traces in a
|
6732 |
|
|
manner similar to GNAT.Current_Exception. This is a violation of
|
6733 |
|
|
restriction (No_Exception_Propagation), and also inhibits the
|
6734 |
|
|
optimization of local raise to goto.
|
6735 |
|
|
(Analyze_With_Clause): Check for Most_Recent_Exception being with'ed,
|
6736 |
|
|
and if so set Most_Recent_Exception_Used flag in Opt, and also check
|
6737 |
|
|
for violation of restriction No_Exception_Propagation.
|
6738 |
|
|
|
6739 |
|
|
2007-06-06 Javier Miranda
|
6740 |
|
|
Hristian Kirtchev
|
6741 |
|
|
Gary Dismukes
|
6742 |
|
|
|
6743 |
|
|
* sem_ch11.adb (Analyze_Exception_Handlers): Add barrier to avoid the
|
6744 |
|
|
use of entity Exception_Occurrence if it is not available in the
|
6745 |
|
|
target run-time.
|
6746 |
|
|
|
6747 |
|
|
* sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): When
|
6748 |
|
|
concurrent types are declared within an Ada 2005 generic, build their
|
6749 |
|
|
corresponding record types since they are needed for overriding-related
|
6750 |
|
|
semantic checks.
|
6751 |
|
|
(Analyze_Protected_Type): Rearrange and simplify code for testing that a
|
6752 |
|
|
protected type does not implement a task interface or a nonlimited
|
6753 |
|
|
interface.
|
6754 |
|
|
(Analyze_Task_Type): Rearrange and simplify code for testing that a task
|
6755 |
|
|
type does not implement a protected interface or a nonlimited interface.
|
6756 |
|
|
(Single_Task_Declaration, Single_Protected_Declaration): use original
|
6757 |
|
|
entity for variable declaration, to ensure that debugging information
|
6758 |
|
|
is correcty generated.
|
6759 |
|
|
(Analyze_Protected_Type, Analyze_Task_Type): Do not call expander
|
6760 |
|
|
routines if the expander is not active.
|
6761 |
|
|
(Analyze_Task_Body): Mark all handlers to stop optimization of local
|
6762 |
|
|
raise, since special things happen for task exception handlers.
|
6763 |
|
|
|
6764 |
|
|
* sem_disp.adb (Check_Controlling_Formals): Add type retrieval for
|
6765 |
|
|
concurrent types declared within a generic.
|
6766 |
|
|
(Check_Dispatching_Operation): Do not emit warning about late interface
|
6767 |
|
|
operations in the context of an instance.
|
6768 |
|
|
(Check_Dispatching_Call): Remove restriction against calling a
|
6769 |
|
|
dispatching operation with a limited controlling result.
|
6770 |
|
|
(Check_Dispatching_Operation): Replace calls to Fill_DT_Entry and
|
6771 |
|
|
Register_Interface_DT_Entry by calls to Register_Primitive.
|
6772 |
|
|
(Check_Dispatching_Formals): Handle properly a function with a
|
6773 |
|
|
controlling access result.
|
6774 |
|
|
|
6775 |
|
|
2007-06-06 Robert Dewar
|
6776 |
|
|
Arnaud Charlet
|
6777 |
|
|
|
6778 |
|
|
* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Stream_Size):
|
6779 |
|
|
Check for restriction No_Implementation_Attributes if in Ada 95 mode.
|
6780 |
|
|
(Storage_Pool): Do not crash when RE_Stack_Bounded_Pool is not available
|
6781 |
|
|
(Analyze_Attribute_Definition_Clause [External_Tag]): Generate error
|
6782 |
|
|
message when using a VM, since this attribute is not supported.
|
6783 |
|
|
(Analyze_Record_Representation_Clause): Give unrepped component warnings
|
6784 |
|
|
|
6785 |
|
|
* usage.adb: Add new warning for renaming of function return objects
|
6786 |
|
|
Indicate that -gnatwp and -gnatwP concern front-end inlining
|
6787 |
|
|
Add line for -gnatyg
|
6788 |
|
|
Add usage information for -gnatw.c/C
|
6789 |
|
|
|
6790 |
|
|
2007-06-06 Robert Dewar
|
6791 |
|
|
Ed Schonberg
|
6792 |
|
|
|
6793 |
|
|
* sem_ch5.adb
|
6794 |
|
|
(Find_Var): Do not consider function call in test for infinite loop
|
6795 |
|
|
warning if warnings set off for function entity.
|
6796 |
|
|
(One_Bound): Do not create a temporary for a loop bound if it is a
|
6797 |
|
|
character literal.
|
6798 |
|
|
(Analyze_Assignment): Traverse the right hand side of an assignment and
|
6799 |
|
|
mark all allocators as static coextensions.
|
6800 |
|
|
(Analyze_Assignment): Exempt assignments involving a dispatching call
|
6801 |
|
|
to a function with a controlling access result from the check requiring
|
6802 |
|
|
the target to be class-wide.
|
6803 |
|
|
|
6804 |
|
|
2007-06-06 Hristian Kirtchev
|
6805 |
|
|
Ed Schonberg
|
6806 |
|
|
Robert Dewar
|
6807 |
|
|
Javier Miranda
|
6808 |
|
|
|
6809 |
|
|
* sem_res.ads, sem_res.adb (Process_Allocator): Do not propagate the
|
6810 |
|
|
chain of coextensions when an allocator serves as the root of such a
|
6811 |
|
|
chain.
|
6812 |
|
|
(Propagate_Coextensions): Remove the test for the root being an
|
6813 |
|
|
allocator.
|
6814 |
|
|
(Resolve_Allocator): Add condition to ensure that all future decoration
|
6815 |
|
|
occurs on an allocator node. Add processing and cleanup for static
|
6816 |
|
|
coextensions.
|
6817 |
|
|
(Valid_Conversion): If the operand type is the limited view of a
|
6818 |
|
|
class-wide type, use the non-limited view is available to determine
|
6819 |
|
|
legality of operation.
|
6820 |
|
|
(Ambiguous_Character): move to spec, for use elsewhere.
|
6821 |
|
|
(Ambiguous_Character): Handle Wide_Wide_Character in Ada 2005 mode
|
6822 |
|
|
(Resolve_Range): Diagnose properly an ambiguous range whose bounds are
|
6823 |
|
|
character literals.
|
6824 |
|
|
(Resolve_Arithmetic_Op): Call Activate_Division_Check instead of setting
|
6825 |
|
|
Do_Division_Check flag explicitly.
|
6826 |
|
|
(Resolve_Actuals): If the actual is of a synchronized type, and the
|
6827 |
|
|
formal is of the corresponding record type, this is a call to a
|
6828 |
|
|
primitive operation of the type, that is declared outside of the type;
|
6829 |
|
|
the actual must be unchecked-converted to the type of the actual
|
6830 |
|
|
(Resolve_Call): Kill all current values for any subprogram call if
|
6831 |
|
|
flag Suppress_Value_Tracking_On_Call is set.
|
6832 |
|
|
(Resolve_Type_Conversion): Generate error message the the operand
|
6833 |
|
|
or target of interface conversions come from a limited view.
|
6834 |
|
|
(Check_Infinite_Recursion): Ignore generated calls
|
6835 |
|
|
(Check_Allocator_Discrim_Accessibility): New procedure for checking
|
6836 |
|
|
that an expression that constrains an access discriminant in an
|
6837 |
|
|
allocator does not denote an object with a deeper level than the
|
6838 |
|
|
allocator's access type.
|
6839 |
|
|
(Resolve_Allocator): In the case of an allocator initialized by an
|
6840 |
|
|
aggregate of a discriminated type, check that associations for any
|
6841 |
|
|
access discriminants satisfy accessibility requirements by calling
|
6842 |
|
|
Check_Allocator_Discrim_Accessibility.
|
6843 |
|
|
(Resolve_Equality_Op): Handle comparisons of anonymous access to
|
6844 |
|
|
subprogram types in the same fashion as other anonymous access types.
|
6845 |
|
|
(Resolve_Concatenation_Arg): Remove initial character '\' in an error
|
6846 |
|
|
message that is not a continuation message.
|
6847 |
|
|
(Resolve_Type_Conversion): Add missing support for conversion to
|
6848 |
|
|
interface type.
|
6849 |
|
|
(Resolve_Actuals): Introduce a transient scope around the call if an
|
6850 |
|
|
actual is a call to a function returning a limited type, because the
|
6851 |
|
|
resulting value must be finalized after the call.
|
6852 |
|
|
(Resolve_Actuals): If the call was given in prefix notations, check
|
6853 |
|
|
whether an implicit 'Access reference or implicit dereference must be
|
6854 |
|
|
added to make the actual conform to the controlling formal.
|
6855 |
|
|
|
6856 |
|
|
2007-06-06 Robert Dewar
|
6857 |
|
|
Javier Miranda
|
6858 |
|
|
|
6859 |
|
|
* sem_ch7.adb (Check_Anonymous_Access_Types): Fix error for null body
|
6860 |
|
|
(Derive_Inherited_Private_Subprogram): Code cleanup. In case of explicit
|
6861 |
|
|
overriding of an inherited private subprogram now there is no need to
|
6862 |
|
|
inherit its dispatching slot and reduce the size of the dispatch table.
|
6863 |
|
|
Set_All_DT_Position now ensures that the same slot is now assigned to
|
6864 |
|
|
both entities. This is required to statically build the dispatch table.
|
6865 |
|
|
(Declare_Inherited_Private_Subprograms): Rewriten to avoid the need
|
6866 |
|
|
of calling Set_All_DT_Position to re-evaluate the position of the
|
6867 |
|
|
entries in the dispatch table. Such reevaluation is not desired if
|
6868 |
|
|
the tagged type is already frozen.
|
6869 |
|
|
|
6870 |
|
|
2007-06-06 Hristian Kirtchev
|
6871 |
|
|
Gary Dismukes
|
6872 |
|
|
Robert Dewar
|
6873 |
|
|
Javier Miranda
|
6874 |
|
|
|
6875 |
|
|
* sem_util.ads, sem_util.adb (May_Be_Lvalue): A prefix of an attribute
|
6876 |
|
|
reference acts as an lvalue when the attribute name modifies the prefix
|
6877 |
|
|
(Is_Coextension_Root): New routine.
|
6878 |
|
|
(Mark_Static_Coextensions): New routine.
|
6879 |
|
|
(Type_Access_Level): Revise code for checking the level of the
|
6880 |
|
|
anonymous access type of a return object.
|
6881 |
|
|
(Safe_To_Capture_Value): Not safe to capture if Address_Taken
|
6882 |
|
|
(Matches_Prefixed_View_Profile): Remove the no longer necessary
|
6883 |
|
|
retrieval of the corresponding controlling record type.
|
6884 |
|
|
(Find_Overridden_Synchronized_Primitive): Code cleanup. Add handling of
|
6885 |
|
|
concurrent types declared within a generic as well as class wide types.
|
6886 |
|
|
Emit a mode incompatibility error whenever a protected entry or routine
|
6887 |
|
|
override an interface routine whose first parameter is not of mode
|
6888 |
|
|
"out", "in out" or access to variable.
|
6889 |
|
|
(Overrides_Synchronized_Primitive): Rename to
|
6890 |
|
|
Find_Overridden_Synchronized_Primitive.
|
6891 |
|
|
(Collect_Interface_Components): New subprogram that collects all the
|
6892 |
|
|
components of a tagged record containing tags of secondary dispatch
|
6893 |
|
|
tables.
|
6894 |
|
|
(Add_Global_Declaration): New procedure
|
6895 |
|
|
(Abstract_Interface_List): Handle properly the case of a subtype of a
|
6896 |
|
|
private extension.
|
6897 |
|
|
(Type_Access_Level): In the case of a type whose parent scope is a
|
6898 |
|
|
return statement, call Type_Access_Level recursively on the enclosing
|
6899 |
|
|
function's result type to determine the level of the return object's
|
6900 |
|
|
type.
|
6901 |
|
|
(Build_Elaboration_Entity): Build name of elaboration entity from the
|
6902 |
|
|
scope chain of the entity, rather than the unit name of the file name.
|
6903 |
|
|
(Check_Nested_Access): New procedure.
|
6904 |
|
|
(Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures.
|
6905 |
|
|
(Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
|
6906 |
|
|
(Get_Renamed_Entity): Utility routine for performing common operation
|
6907 |
|
|
of chasing the Renamed_Entity field of an entity.
|
6908 |
|
|
|
6909 |
|
|
2007-06-06 Robert Dewar
|
6910 |
|
|
|
6911 |
|
|
* sem_elab.adb (Check_A_Call): Specialize elaboration warnings on
|
6912 |
|
|
elaboration model
|
6913 |
|
|
(Check_A_Call): Add check for entry call which was causing blowup
|
6914 |
|
|
|
6915 |
|
|
2007-06-06 Olivier Hainque
|
6916 |
|
|
|
6917 |
|
|
* raise-gcc.c (__gnat_eh_personality): Tweak the signature and add
|
6918 |
|
|
special code on ia64-vms to handle major incompatibilities between the
|
6919 |
|
|
GCC unwinding ABI and the VMS Condition Handling Facility, both calling
|
6920 |
|
|
this routine with a very different set of arguments and expectations on
|
6921 |
|
|
the return value.
|
6922 |
|
|
|
6923 |
|
|
2007-06-06 Thomas Quinot
|
6924 |
|
|
|
6925 |
|
|
* socket.c (__gnat_close_signalling_fd): New function.
|
6926 |
|
|
(__gnat_safe_gethostbyaddr, __gnat_safe_gethostbyname,
|
6927 |
|
|
__gnat_safe_getservbyname, __gnat_safe_getservbyport):
|
6928 |
|
|
New supporting functions for task safe Netdb operations.
|
6929 |
|
|
|
6930 |
|
|
2007-06-06 Thomas Quinot
|
6931 |
|
|
Olivier Hainque
|
6932 |
|
|
|
6933 |
|
|
* a-except-2005.ads, a-except-2005.adb
|
6934 |
|
|
(Raise_From_Controlled_Operation): New procedure in
|
6935 |
|
|
(private part of) Ada.Exceptions (standard runtime version). Used to
|
6936 |
|
|
provide informational exception message when Program_Error is raised as
|
6937 |
|
|
a result of an Adjust or Finalize operation propagating an exception.
|
6938 |
|
|
(Rmsg_28): Fix description for E.4(18) check.
|
6939 |
|
|
(Raise_Current_Excep): Call Debug_Raise_Exception just before
|
6940 |
|
|
propagation starts, to let debuggers know about the event in a reliable
|
6941 |
|
|
fashion.
|
6942 |
|
|
Take the address of E and dereference to make sure it is homed on stack
|
6943 |
|
|
and prevent the stores from being deleted, necessary for proper
|
6944 |
|
|
debugger behavior on "break exception" hits.
|
6945 |
|
|
(Local_Raise): Moved to System.Exceptions
|
6946 |
|
|
|
6947 |
|
|
* s-finimp.adb (Raise_From_Finalize): Code to construct an appropriate
|
6948 |
|
|
exception message from the current occurrence and raise Program_Error
|
6949 |
|
|
has been moved to Ada.Exceptions.Raise_From_Controlled_Operation.
|
6950 |
|
|
|
6951 |
|
|
2007-06-06 Jose Ruiz
|
6952 |
|
|
Arnaud Charlet
|
6953 |
|
|
|
6954 |
|
|
* s-taprob.adb (Unlock): Change the ceiling priority of the underlying
|
6955 |
|
|
lock, if needed.
|
6956 |
|
|
|
6957 |
|
|
* s-taprop.ads (Set_Ceiling): Add this procedure to change the ceiling
|
6958 |
|
|
priority associated to a lock.
|
6959 |
|
|
|
6960 |
|
|
* s-tpoben.adb ([Vulnerable_]Complete_Task, Lock_Entries): Relax
|
6961 |
|
|
assertion to take into account case of no abort restriction.
|
6962 |
|
|
(Initialize_Protection_Entries): Add initialization for the field
|
6963 |
|
|
New_Ceiling associated to the protected object.
|
6964 |
|
|
(Unlock_Entries): Change the ceiling priority of the underlying lock, if
|
6965 |
|
|
needed.
|
6966 |
|
|
|
6967 |
|
|
* s-solita.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
|
6968 |
|
|
since this function needs to be set consistently with Update_Exception.
|
6969 |
|
|
|
6970 |
|
|
* s-tarest.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
|
6971 |
|
|
since this function needs to be set consistently with Update_Exception.
|
6972 |
|
|
|
6973 |
|
|
* s-taskin.ads: Update comments on
|
6974 |
|
|
Interrupt_Server_Blocked_On_Event_Flag.
|
6975 |
|
|
(Unbind_Handler): Fix handling of server_task wakeup
|
6976 |
|
|
(Server_Task): Set self's state so that Unbind_Handler can take
|
6977 |
|
|
appropriate actions.
|
6978 |
|
|
(Common_ATCB): Now use a constant from System.Parameters to determine
|
6979 |
|
|
the max size of the Task_Image field.
|
6980 |
|
|
|
6981 |
|
|
* s-tassta.adb (Task_Wrapper): Now pass the overflow guard to the
|
6982 |
|
|
Initialize_Analyzer function.
|
6983 |
|
|
([Vulnerable_]Complete_Task, Lock_Entries): Relax assertion to
|
6984 |
|
|
take into account case of no abort restriction.
|
6985 |
|
|
([Vulnerable_]Complete_Master): Modify assertion.
|
6986 |
|
|
|
6987 |
|
|
* s-tataat.adb (Finalize): Use the nestable versions of
|
6988 |
|
|
Defer/Undefer_Abort.
|
6989 |
|
|
|
6990 |
|
|
* s-tpobop.adb (Protected_Entry_Call): Relax assertion.
|
6991 |
|
|
|
6992 |
|
|
* s-tpobop.ads: Update comments.
|
6993 |
|
|
|
6994 |
|
|
* s-tposen.adb (Protected_Single_Entry_Call): Call Lock_Entry instead
|
6995 |
|
|
of locking the object manually, to avoid inconsistencies between
|
6996 |
|
|
Lock/Unlock_Entry assertions.
|
6997 |
|
|
|
6998 |
|
|
* s-interr.ads, s-interr.adb (Server_Task): Fix race condition when
|
6999 |
|
|
terminating
|
7000 |
|
|
application and System.Parameters.No_Abort is True.
|
7001 |
|
|
Update comments on Interrupt_Server_Blocked_On_Event_Flag.
|
7002 |
|
|
(Unbind_Handler): Fix handling of server_task wakeup
|
7003 |
|
|
(Server_Task): Set self's state so that Unbind_Handler can take
|
7004 |
|
|
appropriate actions.
|
7005 |
|
|
|
7006 |
|
|
2007-06-06 Thomas Quinot
|
7007 |
|
|
|
7008 |
|
|
* s-finroo.ads, s-finroo.adb (Read, Write): Use null procedure
|
7009 |
|
|
declarations instead of an explicit null body, for conciseness.
|
7010 |
|
|
|
7011 |
|
|
2007-06-06 Robert Dewar
|
7012 |
|
|
|
7013 |
|
|
* sem_eval.adb (Eval_Relational_Op): nothing to do if an operand is an
|
7014 |
|
|
illegal aggregate and the type is still Any_Composite.
|
7015 |
|
|
(Subtypes_Statically_Match): Fix problem of empty discriminant list
|
7016 |
|
|
|
7017 |
|
|
2007-06-06 Ed Schonberg
|
7018 |
|
|
|
7019 |
|
|
* sem_smem.adb (Check_Shared_Var): Check explicitly for as task object,
|
7020 |
|
|
to prevent subsequent expansion.
|
7021 |
|
|
|
7022 |
|
|
2007-06-06 Robert Dewar
|
7023 |
|
|
|
7024 |
|
|
* sinput-l.ads, sinput-l.adb: implement a new pragma No_Body
|
7025 |
|
|
|
7026 |
|
|
2007-06-06 Ed Schonberg
|
7027 |
|
|
Robert Dewar
|
7028 |
|
|
|
7029 |
|
|
* sprint.ads, sprint.adb (Sprint_Node_Actual): Output aggregate for
|
7030 |
|
|
exceptions.
|
7031 |
|
|
(Write_Itype): Handle case of string literal subtype, which
|
7032 |
|
|
comes up in this context.
|
7033 |
|
|
(Update_Itype): when debugging expanded code, update sloc of itypes
|
7034 |
|
|
associated with defining_identifiers and ranges, for gdb use.
|
7035 |
|
|
(Sprint_Node_Actual): Add static keyword to object or exception
|
7036 |
|
|
declaration output if Is_Statically_Allocated is True.
|
7037 |
|
|
(Sprint_End_Label): Set entity of end marker for a subprogram, package,
|
7038 |
|
|
or task body, so that the tree carries the proper Sloc information for
|
7039 |
|
|
debugging use.
|
7040 |
|
|
(Write_Indent): In Dump_Source_Text mode, ignore implicit label nodes
|
7041 |
|
|
|
7042 |
|
|
2007-06-06 Arnaud Charlet
|
7043 |
|
|
|
7044 |
|
|
* s-secsta.adb (Chunk): Ensure this object has a static size known at
|
7045 |
|
|
compile time, to avoid dynamic memory allocation
|
7046 |
|
|
(Elaboration code): Only use dynamic memory allocation when needed.
|
7047 |
|
|
|
7048 |
|
|
2007-06-06 Quentin Ochem
|
7049 |
|
|
|
7050 |
|
|
* s-stausa.ads, s-stausa.adb (Initialize_Analyzer): Added parameter
|
7051 |
|
|
"Overflow_Guard".
|
7052 |
|
|
(Stack_Analyzer): Added field "Overflow_Guard"
|
7053 |
|
|
(Task_Result): Added field "Overflow_Guard".
|
7054 |
|
|
(Index_Str): New constant.
|
7055 |
|
|
(Task_Name_Str): New constant.
|
7056 |
|
|
(Actual_Size_Str): New constant.
|
7057 |
|
|
(Pattern_Array_Element_Size): New constant.
|
7058 |
|
|
(Get_Usage_Range): New subprogram.
|
7059 |
|
|
(Output_Result): Added parameter Max_Size_Len and Max_Actual_Use_Len.
|
7060 |
|
|
Now align the output.
|
7061 |
|
|
Added comments.
|
7062 |
|
|
(Initialize): Added value for Overflow_Guard.
|
7063 |
|
|
(Fill_Stack): Use constant Pattern_Array_Elem_Size when relevant.
|
7064 |
|
|
Update the value of the overflow guard according to the actual
|
7065 |
|
|
beginning of the pattern array.
|
7066 |
|
|
(Initialize_Analyzer): Added parameter Overflow_Guard.
|
7067 |
|
|
Take this parameter into accound when computing the max size.
|
7068 |
|
|
(Compute_Result): Use constant Pattern_Array_Elem_Size when relevant.
|
7069 |
|
|
(Report_Result): Removed extra useless procedure.
|
7070 |
|
|
Updated call to Output_Result.
|
7071 |
|
|
Moved full computation of the Task_Result here.
|
7072 |
|
|
|
7073 |
|
|
2007-06-06 Thomas Quinot
|
7074 |
|
|
|
7075 |
|
|
* g-soccon-darwin.ads, gen-soccon.c: Add new constant
|
7076 |
|
|
Thread_Blocking_IO, always True by default, set False on a per-runtime
|
7077 |
|
|
basis.
|
7078 |
|
|
Add Windows-specific constants
|
7079 |
|
|
Add new constant Need_Netdb_Buffer.
|
7080 |
|
|
Add new macros to indicate whether getXXXbyYYY is thread safe and, if
|
7081 |
|
|
not, whether to use getXXXbyYYY_r.
|
7082 |
|
|
|
7083 |
|
|
* gsocket.h: Add new constant Need_Netdb_Buffer.
|
7084 |
|
|
Add new macros to indicate whether getXXXbyYYY is thread safe and, if
|
7085 |
|
|
not, whether to use getXXXbyYYY_r.
|
7086 |
|
|
|
7087 |
|
|
2007-06-06 Eric Botcazou
|
7088 |
|
|
|
7089 |
|
|
* s-stoele.ads, s-stoele.adb: Move inline_always subprograms earlier
|
7090 |
|
|
than their first call.
|
7091 |
|
|
Add type Dummy_Communication_Block used in the generation of the pre-
|
7092 |
|
|
defined dispatching primitive _disp_asynchronous_select.
|
7093 |
|
|
(Storage_Element): Put Pragma Universal_Aliasing on it.
|
7094 |
|
|
|
7095 |
|
|
2007-06-06 Vincent Celier
|
7096 |
|
|
|
7097 |
|
|
* a-dirval-vms.adb, a-dirval.ads, a-dirval.adb (Windows): New Boolean
|
7098 |
|
|
function.
|
7099 |
|
|
|
7100 |
|
|
* a-dirval-mingw.adb (Is_Valid_Path_Name): Forbid a path with a drive
|
7101 |
|
|
letter if it is not followed by a '/' or a '\'.
|
7102 |
|
|
(Windows): New Boolean function
|
7103 |
|
|
|
7104 |
|
|
* a-direct.ads, a-direct.adb: Remove unnecessary and misplaced pragma
|
7105 |
|
|
Ada 2005.
|
7106 |
|
|
(Containing_Directory): On Windows, keep at least one '/' or '\' after a
|
7107 |
|
|
drive letter.
|
7108 |
|
|
(Containing_Directory): Raise Use_Error when the directory is a root
|
7109 |
|
|
directory.
|
7110 |
|
|
(Extension): When returning the result, use a conversion to Result_Type,
|
7111 |
|
|
not a qualification.
|
7112 |
|
|
|
7113 |
|
|
2007-06-06 Robert Dewar
|
7114 |
|
|
|
7115 |
|
|
* stylesw.ads, stylesw.adb (Set_GNAT_Style_Check): New procedure
|
7116 |
|
|
(Set_Style_Check_Options): Recognize new -gnatyg style switch
|
7117 |
|
|
|
7118 |
|
|
* switch-c.adb (Scan_Front_End_Switches, case -gnatg): Set
|
7119 |
|
|
Warn_On_Non_Local_Exception to False, to turn off warnings for
|
7120 |
|
|
No_Exception_Propagation in ZFP runtime.
|
7121 |
|
|
(Scan_Front_End_Switches): Fix handling of --RTS switch for non GCC
|
7122 |
|
|
back-ends.
|
7123 |
|
|
(Scan_Front_End_Switches): For 'g', call Set_GNAT_Style_Checks
|
7124 |
|
|
|
7125 |
|
|
2007-06-06 Vincent Celier
|
7126 |
|
|
|
7127 |
|
|
* switch-b.adb (Scan_Binder_Switches): Add processing for new
|
7128 |
|
|
switches -R and -Z
|
7129 |
|
|
|
7130 |
|
|
* switch-m.adb (Normalize_Compiler_Switches): Do not record switch -E
|
7131 |
|
|
(Scan_Make_Switches): Recognize new switch -aP
|
7132 |
|
|
|
7133 |
|
|
2007-06-06 Matthew Gingell
|
7134 |
|
|
Jose Ruiz
|
7135 |
|
|
|
7136 |
|
|
* s-stchop-vxworks.adb (Set_Stack_Info): Instead of trying to map the
|
7137 |
|
|
VxWorks task descriptor in the Ada run time, call a C subprogram
|
7138 |
|
|
(__gnat_get_stack_info) that extracts the required information.
|
7139 |
|
|
|
7140 |
|
|
* sysdep.c: Back out temporary lynxos workaround.
|
7141 |
|
|
(__gnat_get_stack_info): Add this procedure that passes to the Ada run
|
7142 |
|
|
time the stack information associated to the currently executing task.
|
7143 |
|
|
Only VxWorks systems require this function.
|
7144 |
|
|
|
7145 |
|
|
2007-06-06 Eric Botcazou
|
7146 |
|
|
|
7147 |
|
|
* tracebak.c (FRAME_OFFSET): Add parameter FP. On SPARC/Solaris, do not
|
7148 |
|
|
add the stack bias if the offset is computed from a frame address.
|
7149 |
|
|
(__gnat_backtrace): Adjust for above change.
|
7150 |
|
|
|
7151 |
|
|
2007-06-06 Thomas Quinot
|
7152 |
|
|
|
7153 |
|
|
* types.h, types.ads: Rename PE_Illegal_CW_Actual_E_4_18 to
|
7154 |
|
|
PE_Non_Transportable_Actual.
|
7155 |
|
|
(By_Descriptor_Last): New constant.
|
7156 |
|
|
(By_Copy_Return): Likewise.
|
7157 |
|
|
|
7158 |
|
|
2007-06-06 Vincent Celier
|
7159 |
|
|
|
7160 |
|
|
* vms_conv.adb (Process_Argument): Keep arguments starting with '+' as
|
7161 |
|
|
is.
|
7162 |
|
|
|
7163 |
|
|
* vms_data.ads: Add entries for -gnatw.x and -gnatw.X
|
7164 |
|
|
/STYLE_CHECKS=GNAT: Change meaning to -gnatyg
|
7165 |
|
|
/GNAT_INTERNAL: New compiler qualifier corresponding to -gnatg
|
7166 |
|
|
Add missing comment for /OPTIMIZE=SPACE
|
7167 |
|
|
Add entry for OPTIMIZE=SPACE
|
7168 |
|
|
Add new qualifier /ALL_PROJECTS (= -U) for GNAT LIST
|
7169 |
|
|
Add documentation for new qualifiers corresponding to -gnatw.c/.C
|
7170 |
|
|
|
7171 |
|
|
2007-06-06 Vincent Celier
|
7172 |
|
|
Robert Dewar
|
7173 |
|
|
|
7174 |
|
|
* xgnatugn.adb: Allow dots to be used in ug_words (-gnatw.c and
|
7175 |
|
|
-gnatw.C)
|
7176 |
|
|
|
7177 |
|
|
* gnat_ugn.texi: Fix ordering of -g switch for gnatmake
|
7178 |
|
|
Document gnatbind switch -a
|
7179 |
|
|
(case Constructions): Document that variables declarations are allowed
|
7180 |
|
|
for previously declared variables.
|
7181 |
|
|
Fix external lib project example
|
7182 |
|
|
-gnatg: Indicate new VMS qualifier /GNAT_INTERNAL
|
7183 |
|
|
Indicate that "#if not X or Y then" is not allowed in input files to
|
7184 |
|
|
gnatprep.
|
7185 |
|
|
Document gnatw.x and gnatw.X warning flags
|
7186 |
|
|
Mention -Winline switch to activate warnings when back-end inlining is
|
7187 |
|
|
ineffective.
|
7188 |
|
|
Add gnatcheck rule descriptions
|
7189 |
|
|
Describe how to use the GNAT driver to call a tool on a closure.
|
7190 |
|
|
Describe how to run project-wide checks or metrics.
|
7191 |
|
|
Document gnatbind's -R option
|
7192 |
|
|
Updated to account for Ada 2005 support
|
7193 |
|
|
|
7194 |
|
|
* gnat_rm.texi (Case Construction): Allow variable declarations for
|
7195 |
|
|
previously declared variables.
|
7196 |
|
|
(Representation Clauses and Pragmas): Lift restriction on alignment
|
7197 |
|
|
clauses for record types.
|
7198 |
|
|
(Ada.Characters.*): Fix typo in reference to A.3.3(27).
|
7199 |
|
|
Document No_Exception_Propagation restriction
|
7200 |
|
|
Document No_Body pragma
|
7201 |
|
|
Updated to account for Ada 2005 support; corrected some typos
|
7202 |
|
|
(Implementation Defined Pragmas): Document pragma Universal_Aliasing.
|
7203 |
|
|
|
7204 |
|
|
* gnat-style.texi: Make it clear that we never use mode IN for
|
7205 |
|
|
procedures or functions
|
7206 |
|
|
|
7207 |
|
|
* ug_words: Add entries for -gnatw.x and -gnatw.X
|
7208 |
|
|
Add entries for -gnatw.c/.C
|
7209 |
|
|
|
7210 |
|
|
2007-06-06 Pascal Obry
|
7211 |
|
|
Vincent Celier
|
7212 |
|
|
|
7213 |
|
|
* makegpr.adb (Add_Archive_Path): Use untouched object and library
|
7214 |
|
|
dirs and library name.
|
7215 |
|
|
(Build_Global_Archive): Idem. Minor code clean-up. Removes duplicate
|
7216 |
|
|
comments.
|
7217 |
|
|
(Build_Library): Idem.
|
7218 |
|
|
(Compile_Individual_Sources): Idem.
|
7219 |
|
|
(Compile_Link_With_Gnatmake): Idem.
|
7220 |
|
|
(Compile_Sources): Idem.
|
7221 |
|
|
(Get_Imported_Directories): Idem.
|
7222 |
|
|
(Link_Executables): Idem. Same change for the executable dir.
|
7223 |
|
|
(Check_Compilation_Needed): C_Source_Path new variable containing
|
7224 |
|
|
the canonical form of Source_Path to check against the source names
|
7225 |
|
|
in the dependency file.
|
7226 |
|
|
(Build_Global_Archive, Compile_Individual_Sources, Compile_Sources): In
|
7227 |
|
|
verbose mode, display the name of the object directory we're changing
|
7228 |
|
|
to.
|
7229 |
|
|
(Saved_Switches): New name of table X_Switches
|
7230 |
|
|
(Scan_Arg): Recognize new switch -aP and save in table Saved_Switches
|
7231 |
|
|
(Usage): New line for switch -aP
|
7232 |
|
|
(Get_Imported_Directories.Add): Make sure that Add_Arg is True before
|
7233 |
|
|
testing if a directory should be added to the search path.
|
7234 |
|
|
|
7235 |
|
|
2007-06-06 Javier Miranda
|
7236 |
|
|
|
7237 |
|
|
* a-cidlli.ads, a-cdlili.ads, a-cohama.ads, a-coinve.ads,
|
7238 |
|
|
a-convec.ads (Empty_Vector, Empty_Map, Empty_List): Move this object
|
7239 |
|
|
declaration after freezing point of all its associated tagged types;
|
7240 |
|
|
otherwise such types are frozen too early.
|
7241 |
|
|
|
7242 |
|
|
2007-06-06 Robert Dewar
|
7243 |
|
|
|
7244 |
|
|
* a-reatim.adb: Documentation addition
|
7245 |
|
|
|
7246 |
|
|
* g-cgideb.adb: Minor code reorganization
|
7247 |
|
|
|
7248 |
|
|
* tree_io.adb, treepr.adb, cstand.adb, krunch.adb, par.adb,
|
7249 |
|
|
mdll-utl.adb, par-ch5.adb, par-tchk.adb, s-exctab.ads, s-memory.ads,
|
7250 |
|
|
s-osprim.ads, s-restri.ads, s-soflin.ads: Minor reformatting.
|
7251 |
|
|
|
7252 |
|
|
* debug.ads, debug.adb (Get_Debug_Flag_K): Remove unused obsolete
|
7253 |
|
|
function. Change name New_Scope to Push_Scope
|
7254 |
|
|
(Get_Debug_Flag_K): Remove unused obsolete function.
|
7255 |
|
|
|
7256 |
|
|
* exp_ch8.adb, inline.adb, sem_ch8.ads: Change name New_Scope to
|
7257 |
|
|
Push_Scope.
|
7258 |
|
|
|
7259 |
|
|
* makeusg.adb: Update Copyright notice
|
7260 |
|
|
Add line for switch -aP
|
7261 |
|
|
|
7262 |
|
|
* makeusg.adb: Fix wording of some usage messages
|
7263 |
|
|
|
7264 |
|
|
* s-assert.adb (Raise_Assert_Failure): Add call to
|
7265 |
|
|
Debug_Raise_Assert_Failure.
|
7266 |
|
|
|
7267 |
|
|
* s-unstyp.ads (type Packed_Bytes2): Change alignment to use 'Min
|
7268 |
|
|
(2, Standard'Alignment) for compatibility with AAMP (where alignment
|
7269 |
|
|
is restricted to 1).
|
7270 |
|
|
|
7271 |
|
|
* s-wchjis.adb: Remove use of System.Pure_Exceptions
|
7272 |
|
|
|
7273 |
|
|
* tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): Set the
|
7274 |
|
|
node location to No_Location when we're not debugging the expanded
|
7275 |
|
|
code.
|
7276 |
|
|
|
7277 |
|
|
2007-05-22 Alexandre Oliva
|
7278 |
|
|
|
7279 |
|
|
* misc.c (enumerate_modes): Consider log2_b to always be one.
|
7280 |
|
|
|
7281 |
|
|
2007-05-14 Rafael Ávila de Espíndola
|
7282 |
|
|
|
7283 |
|
|
* misc.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
|
7284 |
|
|
|
7285 |
|
|
2007-05-02 Pascal Obry
|
7286 |
|
|
|
7287 |
|
|
* gnatchop.adb (Write_Source_Reference_Pragma): Change implementation
|
7288 |
|
|
to use Stream_IO.File_Type. This is needed to make use of the UTF-8
|
7289 |
|
|
encoding support of Stream_IO.
|
7290 |
|
|
(Write_Unit): Idem.
|
7291 |
|
|
|
7292 |
|
|
* adaint.h, adaint.c (__gnat_os_filename): New routine. Returns the
|
7293 |
|
|
filename and corresponding encoding to match the OS requirement.
|
7294 |
|
|
(__gnat_file_exists): Do not call __gnat_stat() on Windows as this
|
7295 |
|
|
routine will fail on specific devices like CON: AUX: ...
|
7296 |
|
|
|
7297 |
|
|
PR ada/29856: Add missing braces
|
7298 |
|
|
|
7299 |
|
|
2007-04-22 Andrew Pinski
|
7300 |
|
|
|
7301 |
|
|
PR ada/31660
|
7302 |
|
|
* ada-tree.h (lang_tree_node): Fix typo in chain_next.
|
7303 |
|
|
|
7304 |
|
|
2007-04-21 Jan Hubicka
|
7305 |
|
|
|
7306 |
|
|
* misc.c (gnat_expand_body): Don't call target for destructors,
|
7307 |
|
|
avoid redundant check on syntax errors.
|
7308 |
|
|
|
7309 |
|
|
2007-04-21 Andrew Pinski
|
7310 |
|
|
|
7311 |
|
|
* ada-tree.h (lang_tree_node): Use GENERIC_NEXT
|
7312 |
|
|
instead of checking GIMPLE_STMT_P in chain_next.
|
7313 |
|
|
|
7314 |
|
|
2007-04-17 Andreas Krebbel
|
7315 |
|
|
|
7316 |
|
|
PR ada/31576
|
7317 |
|
|
* system-linux-alpha.ads: Disable constant condition warning for the
|
7318 |
|
|
Default_Bit_Order variable.
|
7319 |
|
|
* system-linux-s390.ads: Likewise.
|
7320 |
|
|
* system-linux-s390x.ads: Likewise.
|
7321 |
|
|
* system-linux-sparc.ads: Likewise.
|
7322 |
|
|
|
7323 |
|
|
2007-04-06 Javier Miranda
|
7324 |
|
|
Matt Heaney
|
7325 |
|
|
Robert Dewar
|
7326 |
|
|
|
7327 |
|
|
a-coprnu.ads, a-cohata.ads, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
|
7328 |
|
|
a-cgarso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads, a-chtgke.ads,
|
7329 |
|
|
a-chtgke.ads, a-coprnu.ads, a-contai.ads, a-chtgke.ads, a-chtgke.adb,
|
7330 |
|
|
a-stwiha.ads, a-strhas.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
|
7331 |
|
|
a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads, a-stzfix.ads,
|
7332 |
|
|
a-stzhas.ads, a-szuzha.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoio.ads,
|
7333 |
|
|
a-ztinio.ads, a-zttest.ads, a-zzunio.ads, a-astaco.ads, a-charac.ads,
|
7334 |
|
|
a-chlat1.ads, ada.ads, a-dynpri.ads, a-flteio.ads, a-fwteio.ads,
|
7335 |
|
|
a-inteio.ads, a-intnam.ads, a-ioexce.ads, a-iwteio.ads, a-lfteio.ads,
|
7336 |
|
|
a-lfwtio.ads, a-liteio.ads, a-liwtio.ads, a-llftio.ads, a-llfwti.ads,
|
7337 |
|
|
a-llitio.ads, a-lliwti.ads, a-ncelfu.ads, a-ngcefu.ads, a-ngelfu.ads,
|
7338 |
|
|
a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads, a-nllcty.ads,
|
7339 |
|
|
a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads, a-nucoty.ads,
|
7340 |
|
|
a-nuelfu.ads, a-numeri.ads, a-sfteio.ads, a-sfwtio.ads, a-siteio.ads,
|
7341 |
|
|
a-siwtio.ads, a-ssitio.ads, a-ssiwti.ads, a-storio.ads, a-strfix.ads,
|
7342 |
|
|
a-string.ads, a-stwifi.ads, a-titest.ads, a-unccon.ads, a-uncdea.ads,
|
7343 |
|
|
a-wtcoio.ads, a-wtinio.ads, a-wttest.ads, calendar.ads, directio.ads,
|
7344 |
|
|
i-c.ads, ioexcept.ads, machcode.ads, sequenio.ads, text_io.ads,
|
7345 |
|
|
unchconv.ads, unchdeal.ads, a-widcha.ads, a-zchara.ads, a-stboha.ads,
|
7346 |
|
|
a-stfiha.ads, a-coteio.ads, a-envvar.ads, a-lcteio.ads, a-llctio.ads,
|
7347 |
|
|
a-scteio.ads, a-swbwha.ads, a-swfwha.ads, a-szbzha.ads, a-szfzha.ads,
|
7348 |
|
|
a-tiboio.ads, a-wwboio.ads, a-zzboio.ads, a-dispat.ads, a-tgdico.ads,
|
7349 |
|
|
expander.adb, g-socket.ads, par-labl.adb, sinput-c.adb, s-tarest.ads,
|
7350 |
|
|
s-stchop.ads, g-expect-vms.adb, s-taprop-lynxos.adb,
|
7351 |
|
|
s-taprop-tru64.adb, s-taprop-irix.adb,
|
7352 |
|
|
s-taprop-hpux-dce.adb, s-traceb-hpux.adb,
|
7353 |
|
|
s-taprop-linux.adb, s-taprop-dummy.adb, s-osprim-unix.adb,
|
7354 |
|
|
s-osprim-solaris.adb, s-taprop-solaris.adb, s-taprop-vms.adb,
|
7355 |
|
|
s-osprim-mingw.adb, s-taprop-mingw.adb, s-osprim-posix.adb,
|
7356 |
|
|
s-taprop-posix.adb, a-exexpr-gcc.adb, a-ststio.adb, a-ststio.ads,
|
7357 |
|
|
a-textio.adb, a-textio.ads, a-tideau.adb, a-tideau.ads, a-witeio.adb,
|
7358 |
|
|
a-witeio.ads, a-wtdeau.adb, a-wtdeau.ads, g-calend.adb, g-calend.ads,
|
7359 |
|
|
g-dirope.adb, g-expect.ads, gnatchop.adb, g-spipat.adb, g-spipat.ads,
|
7360 |
|
|
s-direio.adb, s-direio.ads, s-fatgen.adb, s-fatgen.ads, s-parint.adb,
|
7361 |
|
|
s-sequio.adb, s-sequio.ads, s-taprop.ads, s-valdec.adb, s-valdec.ads,
|
7362 |
|
|
s-valint.adb, s-valint.ads, s-vallld.adb, s-vallld.ads, s-vallli.adb,
|
7363 |
|
|
s-vallli.ads, s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
|
7364 |
|
|
s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads, xref_lib.adb,
|
7365 |
|
|
s-stchop.adb, i-vxwork-x86.ads, a-crbtgo.ads, a-crbtgo.adb,
|
7366 |
|
|
a-coorse.ads, a-coorse.adb, a-cohama.ads, a-cohama.adb, a-ciorse.ads,
|
7367 |
|
|
a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-chtgop.ads, a-chtgop.ads,
|
7368 |
|
|
a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cihase.ads, a-cohase.adb,
|
7369 |
|
|
a-cohase.ads, a-swuwha.ads, a-ciormu.ads, a-coormu.ads, a-rbtgso.ads,
|
7370 |
|
|
a-stunha.ads, a-ciorma.adb, a-coorma.adb, a-ztdeau.adb, a-ztdeau.ads,
|
7371 |
|
|
a-ztexio.adb, a-ztexio.ads: Addition of null-exclusion to anonymous
|
7372 |
|
|
access types.
|
7373 |
|
|
Update documentation.
|
7374 |
|
|
Minor rewording.
|
7375 |
|
|
|
7376 |
|
|
2007-04-06 Robert Dewar
|
7377 |
|
|
|
7378 |
|
|
* system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
|
7379 |
|
|
system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
|
7380 |
|
|
system-vxworks-sparcv9.ads, system-solaris-x86.ads, system-irix-o32.ads,
|
7381 |
|
|
system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
|
7382 |
|
|
system-linux-x86.ads, system-vxworks-mips.ads, system-interix.ads,
|
7383 |
|
|
system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
|
7384 |
|
|
system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
|
7385 |
|
|
system-vxworks-alpha.ads, system-vms_64.ads, system-darwin-ppc.ads,
|
7386 |
|
|
system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads,
|
7387 |
|
|
system-hpux-ia64.ads, targparm.adb,
|
7388 |
|
|
targparm.ads (Functions_Return_By_DSP_On_Target): Removed
|
7389 |
|
|
|
7390 |
|
|
* system.ads: Move Functions_Return_By_DSP to obsolete section,
|
7391 |
|
|
kept for bootstrap purposes only.
|
7392 |
|
|
|
7393 |
|
|
2007-04-06 Arnaud Charlet
|
7394 |
|
|
|
7395 |
|
|
* s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
|
7396 |
|
|
s-osinte-freebsd.ads, s-osinte-aix.ads, s-osinte-darwin.ads,
|
7397 |
|
|
s-taprop-posix.adb (Create_Task): Fix handling of Task_Info.
|
7398 |
|
|
(PTHREAD_SCOPE_PROCESS, PTHREAD_SCOPE_SYSTEM): New constants.
|
7399 |
|
|
|
7400 |
|
|
2007-04-06 Robert Dewar
|
7401 |
|
|
|
7402 |
|
|
* a-except.adb, a-except.ads, a-except-2005.ads, a-except-2005.adb
|
7403 |
|
|
(Local_Raise): New dummy procedure called when a raise is converted
|
7404 |
|
|
to a local goto. Used for debugger to detect that the exception
|
7405 |
|
|
is raised.
|
7406 |
|
|
|
7407 |
|
|
* debug.adb: Document new d.g flag (expand local raise statements to
|
7408 |
|
|
gotos even if pragma Restriction (No_Exception_Propagation) is not set)
|
7409 |
|
|
|
7410 |
|
|
* exp_sel.adb: Use Make_Implicit_Exception_Handler
|
7411 |
|
|
|
7412 |
|
|
* exp_ch11.adb (Expand_Exception_Handlers): Use new flag -gnatw.x to
|
7413 |
|
|
suppress warnings for unused handlers.
|
7414 |
|
|
(Warn_If_No_Propagation): Use new flag -gnatw.x to suppress
|
7415 |
|
|
warnings for raise statements not handled locally.
|
7416 |
|
|
(Get_RT_Exception_Entity): New function
|
7417 |
|
|
(Get_Local_Call_Entity): New function
|
7418 |
|
|
(Find_Local_Handler): New function
|
7419 |
|
|
(Warn_If_No_Propagation): New procedure
|
7420 |
|
|
(Expand_At_End_Handler): Call Make_Implicit_Handler
|
7421 |
|
|
(Expand_Exception_Handlers): Major additions to deal with local handlers
|
7422 |
|
|
(Expand_N_Raise_Constraint_Error, Expand_N_Raise_Program_Error,
|
7423 |
|
|
Expand_N_Raise_Storage_Error, (Expand_N_Raise_Statement): Add handling
|
7424 |
|
|
for local raise
|
7425 |
|
|
|
7426 |
|
|
* exp_ch11.ads (Get_RT_Exception_Entity): New function
|
7427 |
|
|
(Get_Local_Call_Entity): New function
|
7428 |
|
|
|
7429 |
|
|
* gnatbind.adb (Restriction_List): Add No_Exception_Propagation to list
|
7430 |
|
|
of restrictions that the binder will never suggest adding.
|
7431 |
|
|
|
7432 |
|
|
* par-ch11.adb (P_Exception_Handler): Set Local_Raise_Statements field
|
7433 |
|
|
to No_Elist.
|
7434 |
|
|
|
7435 |
|
|
* restrict.adb (Check_Restricted_Unit): GNAT.Current_Exception may not
|
7436 |
|
|
be with'ed in the presence of pragma Restriction
|
7437 |
|
|
(No_Exception_Propagation).
|
7438 |
|
|
|
7439 |
|
|
* sem.adb (Analyze): Add entries for N_Push and N_Pop nodes
|
7440 |
|
|
|
7441 |
|
|
* sem_ch11.adb (Analyze_Exception_Handler): If there is a choice
|
7442 |
|
|
parameter, then the handler is not a suitable target for a local raise,
|
7443 |
|
|
and this is a violation of restriction No_Exception_Propagation.
|
7444 |
|
|
(Analyze_Handled_Statements): Analyze choice parameters in exception
|
7445 |
|
|
handlers before analyzing statement sequence (needed for proper
|
7446 |
|
|
detection of local raise statements).
|
7447 |
|
|
(Analyze_Raise_Statement): Reraise statement is a violation of the
|
7448 |
|
|
No_Exception_Propagation restriction.
|
7449 |
|
|
|
7450 |
|
|
* s-rident.ads: Add new restriction No_Exception_Propagation
|
7451 |
|
|
|
7452 |
|
|
* tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): New
|
7453 |
|
|
function, like Make_Exception_Handler but sets Local_Raise_Statements
|
7454 |
|
|
to No_List.
|
7455 |
|
|
(Add_Unique_Serial_Number): Deal with case where this is called during
|
7456 |
|
|
processing of configuration pragmas.
|
7457 |
|
|
|
7458 |
|
|
2007-04-06 Thomas Quinot
|
7459 |
|
|
Pat Rogers
|
7460 |
|
|
Pascal Obry
|
7461 |
|
|
|
7462 |
|
|
* g-stsifd-sockets.adb: New file.
|
7463 |
|
|
|
7464 |
|
|
* g-socthi.ads, g-socket.adb, g-socthi-vxworks.adb,
|
7465 |
|
|
g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi-vms.ads,
|
7466 |
|
|
g-socthi-vms.adb: Move signalling
|
7467 |
|
|
fd management to a nested package, so that they can conveniently be
|
7468 |
|
|
moved to a subunit that is shared across Windows, VMS, and VxWorks
|
7469 |
|
|
(Ada implementation) or completed with imported bodies from socket.c
|
7470 |
|
|
(UNIX case).
|
7471 |
|
|
(Read_Signalling_Fd, Write_Signalling_Fd, Create_Signalling_Fds): New
|
7472 |
|
|
subprograms.
|
7473 |
|
|
(Check_Selector): Use Read_Signalling_Fd to read and discard data from
|
7474 |
|
|
the signalling file descriptor.
|
7475 |
|
|
(Abort_Selector): Use Write_Signalling_Fd to write dummy data to the
|
7476 |
|
|
signalling file descriptor.
|
7477 |
|
|
(Create_Selector): Use new C-imported subprogram Create_Signalling_Fds
|
7478 |
|
|
instead of creating a pair of sockets for signalling here.
|
7479 |
|
|
|
7480 |
|
|
* g-socthi.adb: Ditto.
|
7481 |
|
|
Set the runtime process to ignore SIGPIPEs on platforms that support
|
7482 |
|
|
neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality.
|
7483 |
|
|
|
7484 |
|
|
* g-socthi-mingw.adb: Ditto.
|
7485 |
|
|
(WS_Version): Use Windows 2.2.
|
7486 |
|
|
Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API.
|
7487 |
|
|
|
7488 |
|
|
* g-soliop-mingw.ads: Link with ws2_32 for Windows 2.x support.
|
7489 |
|
|
Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API.
|
7490 |
|
|
|
7491 |
|
|
* Makefile.in: New libgnat pair g-stsifd.adb
|
7492 |
|
|
added GNAT byte swapping facility
|
7493 |
|
|
Update FreeBSD THREADSLIB from -lc_r to -lpthread, for FreeBSD 6.
|
7494 |
|
|
|
7495 |
|
|
* g-bytswa.adb, g-bytswa-x86.adb, g-bytswa.ads: New files.
|
7496 |
|
|
|
7497 |
|
|
* socket.c (__gnat_read_signalling_fd, __gnat_write_controlling_fd):
|
7498 |
|
|
New subprograms.
|
7499 |
|
|
(__gnat_create_signalling_fds): New subprogram.
|
7500 |
|
|
Set the runtime process to ignore SIGPIPEs on platforms that support
|
7501 |
|
|
neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality.
|
7502 |
|
|
|
7503 |
|
|
2007-04-06 Hristian Kirtchev
|
7504 |
|
|
Vincent Celier
|
7505 |
|
|
|
7506 |
|
|
* a-calend-vms.ads, a-calend.ads, a-calend.adb, a-calend-vms.adb:
|
7507 |
|
|
New version of Ada.Calendar which supports the new upper bound of Ada
|
7508 |
|
|
time (2399-12-31 86_399.999999999).
|
7509 |
|
|
The following modifications have been made to the package:
|
7510 |
|
|
- New representation of time as count of nanoseconds since the start of
|
7511 |
|
|
Ada time (1901-1-1 0.0).
|
7512 |
|
|
- Target independent Split and Time_Of routines which service both
|
7513 |
|
|
Ada 95 and Ada 2005 code.
|
7514 |
|
|
- Target independent interface to the Ada 2005 children of Calendar.
|
7515 |
|
|
- Integrated leap seconds into Ada 95 and Ada 2005 mode.
|
7516 |
|
|
- Handling of non-leap centenial years.
|
7517 |
|
|
- Updated clock function.
|
7518 |
|
|
- Updated arithmetic and comparison operators.
|
7519 |
|
|
|
7520 |
|
|
* a-caldel.adb (To_Duration): Add call to target independent routine in
|
7521 |
|
|
Ada.Calendar to handle the conversion of time to duration.
|
7522 |
|
|
|
7523 |
|
|
* sysdep.c (__gnat_localtime_tzoff): Test timezone before setting off
|
7524 |
|
|
(UTC Offset).
|
7525 |
|
|
If timezone is obviously incorrect (outside of -14 hours .. 14 hours),
|
7526 |
|
|
set off to 0.
|
7527 |
|
|
(__gnat_localtime_tzoff for Lynx and VxWorks): Even though these
|
7528 |
|
|
targets do not have a natural time zone, GMT is used as a default.
|
7529 |
|
|
(__gnat_get_task_options): New.
|
7530 |
|
|
|
7531 |
|
|
* a-direct.adb (Modification_Time): Add with and use clauses for
|
7532 |
|
|
Ada.Calendar and Ada.
|
7533 |
|
|
Calendar.Formatting. Remove with clause for Ada.Unchecked_Conversion
|
7534 |
|
|
since it is no longer needed.
|
7535 |
|
|
(Duration_To_Time): Removed.
|
7536 |
|
|
(OS_Time_To_Long_Integer): Removed.
|
7537 |
|
|
(Modification_Time): Rewritten to use Ada.Calendar and Ada.Calendar.
|
7538 |
|
|
Formatting Time_Of routines which automatically handle time zones,
|
7539 |
|
|
buffer periods and leap seconds.
|
7540 |
|
|
|
7541 |
|
|
* a-calari.ads, a-calari.adb ("+", "-", Difference): Add calls to
|
7542 |
|
|
target independent routines in Ada.Calendar.
|
7543 |
|
|
|
7544 |
|
|
* a-calfor.ads, a-calfor.adb:
|
7545 |
|
|
Code cleanup and addition of validity checks in various routines.
|
7546 |
|
|
(Day_Of_Week, Split, Time_Of): Add call to target independent routine in
|
7547 |
|
|
Ada.Calendar.
|
7548 |
|
|
|
7549 |
|
|
* a-catizo.ads, a-catizo.adb (UTC_Time_Offset): Add call to target
|
7550 |
|
|
independent routine in Ada.Calendar.
|
7551 |
|
|
|
7552 |
|
|
2007-04-06 Olivier Hainque
|
7553 |
|
|
|
7554 |
|
|
* adaint.c:
|
7555 |
|
|
(convert_addresses): Adjust prototype and dummy definition to expect an
|
7556 |
|
|
extra file_name argument.
|
7557 |
|
|
|
7558 |
|
|
* gmem.c (__gnat_convert_addresses): Wrapper to convert_addresses,
|
7559 |
|
|
filling the now expected file_name argument with the appropriate
|
7560 |
|
|
argv[0] expansion.
|
7561 |
|
|
(__gnat_gmem_a2l_initialize, __gnat_gmem_read_next_frame): Use it.
|
7562 |
|
|
(tracebk): Array of void * instead of char *, corresponding to what
|
7563 |
|
|
convert_addresses expects.
|
7564 |
|
|
(exename): New static global, to hold the executable file name to be
|
7565 |
|
|
used in all convert_addresses invocations.
|
7566 |
|
|
(gmem_read_backtrace, __gnat_gmem_symbolic): Account for tracebk type
|
7567 |
|
|
change.
|
7568 |
|
|
(__gnat_gmem_a2l_initialize): Resolve exename.
|
7569 |
|
|
(__gnat_convert_addresses): Use exename as the convert_addresses
|
7570 |
|
|
file_name argument.
|
7571 |
|
|
|
7572 |
|
|
* g-trasym.adb (Symbolic_Traceback): Adjust signature of imported
|
7573 |
|
|
"convert_addresses", now expecting a filename argument. Import the
|
7574 |
|
|
necessary entities to compute the filename to use and pass it to
|
7575 |
|
|
convert_addresses.
|
7576 |
|
|
|
7577 |
|
|
2007-04-06 Matt Gingell
|
7578 |
|
|
|
7579 |
|
|
* system-aix.ads: Back out previous change.
|
7580 |
|
|
(Functions_Return_By_DSP): Removed
|
7581 |
|
|
|
7582 |
|
|
2007-04-06 Pascal Obry
|
7583 |
|
|
|
7584 |
|
|
* s-osprim-mingw.adb (Timed_Delay): Use the right clock (standard one
|
7585 |
|
|
or the monotonic used by Ada.Real_Time) to compute the sleep duration
|
7586 |
|
|
on Windows.
|
7587 |
|
|
|
7588 |
|
|
2007-04-06 Jose Ruiz
|
7589 |
|
|
|
7590 |
|
|
* s-osinte-vxworks.ads, s-osinte-vxworks.adb (VX_FP_TASK): Remove this
|
7591 |
|
|
function. Its value changes in different VxWorks versions, and it is
|
7592 |
|
|
now handled by the function __gnat_get_task_options.
|
7593 |
|
|
|
7594 |
|
|
* s-taprop-vxworks.adb (Create_Task): Call the function
|
7595 |
|
|
__gnat_get_task_options to get the required options for creating a task.
|
7596 |
|
|
|
7597 |
|
|
2007-04-06 Pascal Obry
|
7598 |
|
|
Thomas Quinot
|
7599 |
|
|
|
7600 |
|
|
* adaint.c: Replace all occurences of S2WS to S2WSU (Unicode) when
|
7601 |
|
|
dealing with filename.
|
7602 |
|
|
(__gnat_fopen): Call the proper macro (8bits or UTF8) to convert the
|
7603 |
|
|
filename from a standard string to a wide-string depending on the
|
7604 |
|
|
encoding value.
|
7605 |
|
|
(__gnat_freopen): Idem.
|
7606 |
|
|
(__gnat_current_time): New function (wrapper for time(3) standard C
|
7607 |
|
|
function).
|
7608 |
|
|
|
7609 |
|
|
* g-os_lib.ads (Current_Time): New function. Returns the current
|
7610 |
|
|
system time as an OS_Time value.
|
7611 |
|
|
|
7612 |
|
|
* s-osprim.ads (Clock): Add more precise definition of UNIX epoch.
|
7613 |
|
|
(Monotonic_Clock): Same.
|
7614 |
|
|
|
7615 |
|
|
2007-04-06 Quentin Ochem
|
7616 |
|
|
|
7617 |
|
|
* ali.ads, ali.adb (Get_Nat): Raise an exception if the file cursor is
|
7618 |
|
|
not on a natural.
|
7619 |
|
|
(Scan_ALI): Cancel the xref line if there has been a reading ALI error.
|
7620 |
|
|
|
7621 |
|
|
2007-04-06 Jose Ruiz
|
7622 |
|
|
|
7623 |
|
|
* a-retide.adb: Add elaboration code to ensure that the tasking run
|
7624 |
|
|
time is initialized when using delay operations even when no task is
|
7625 |
|
|
created.
|
7626 |
|
|
|
7627 |
|
|
2007-04-06 Javier Miranda
|
7628 |
|
|
|
7629 |
|
|
* a-tags.ads, a-tags.adb (Object_Specific_Data): Remove
|
7630 |
|
|
component Num_Prim_Ops.
|
7631 |
|
|
(Set_Num_Prim_Ops): Removed.
|
7632 |
|
|
Remove all the assertions because all the routines of this
|
7633 |
|
|
package are inline always.
|
7634 |
|
|
(Get_Offset_Index): Add support to primary dispatch tables.
|
7635 |
|
|
Move the documentation about the dispatch table to a-tags.ads
|
7636 |
|
|
(Set_External_Tag): Removed
|
7637 |
|
|
(Inherit_TSD): Removed.
|
7638 |
|
|
(Interface_Data_Element, Interfaces_Array, Interface_Data): Declarations
|
7639 |
|
|
moved to a-tags.ads
|
7640 |
|
|
(Displace, IW_Membership, Inherit_TSD, Interface_Ancestor_Tags,
|
7641 |
|
|
Register_Interface_Tag, Set_Offset_To_Top): Update all the occurrences
|
7642 |
|
|
of the TSD field "Table" because this field has been renamed to
|
7643 |
|
|
"Ifaces_Table".
|
7644 |
|
|
(Inherit_CPP_DT): Removed.
|
7645 |
|
|
(K_Typeinfo, K_Offset_To_Top, K_Tagged_Kind, K_Signature,
|
7646 |
|
|
Cstring, Tag_Table, Type_Specific_Data, Dispatch_Table): These
|
7647 |
|
|
declarations have been moved to a-tags.ads
|
7648 |
|
|
(Check_Size): Removed.
|
7649 |
|
|
(Expanded_Name): Updated to get access to the new field of TSD
|
7650 |
|
|
containing the address of the expanded name.
|
7651 |
|
|
(Get_Access_Level/Set_Access_Level): Removed.
|
7652 |
|
|
(Get_Predefined_Prim_Op_Address): Removed.
|
7653 |
|
|
(Set_Predefined_Prim_Op_Address): Removed.
|
7654 |
|
|
(Get_Prim_Op_Address/Set_Prim_Op_Address): Removed.
|
7655 |
|
|
(Get_Remotely_Callable/Set_Remotely_Callable): Removed.
|
7656 |
|
|
(Set_Expanded_Name): Removed.
|
7657 |
|
|
(Inherit_DT): Removed.
|
7658 |
|
|
(Inherit_CPP_DT): Removed.
|
7659 |
|
|
(Set_RC_Offset): Removed.
|
7660 |
|
|
(Set_TSD): Removed.
|
7661 |
|
|
(Base_Address): New function that displaces "this" to point to the base
|
7662 |
|
|
of the object (that is, to point to the primary tag of the object).
|
7663 |
|
|
|
7664 |
|
|
2007-04-06 Ed Schonberg
|
7665 |
|
|
Javier Miranda
|
7666 |
|
|
|
7667 |
|
|
* exp_ch3.ads, exp_ch3.adb (Analyze_N_Full_Type_Declaration): For an
|
7668 |
|
|
anonymous access component, do not create a master_id if type already
|
7669 |
|
|
has one, as may happen if the type is a subcomponent of a packed array
|
7670 |
|
|
type.
|
7671 |
|
|
(Build_Init_Procedure, Component_Needs_Simple_Initialization,
|
7672 |
|
|
Initialize_Tag): Remove code associated with the old CPP pragmas.
|
7673 |
|
|
CPP_Virtual and CPP_Vtable are no longer supported.
|
7674 |
|
|
(Build_Offset_To_Top_Internal): Add support for concurrent record types
|
7675 |
|
|
(Build_Offset_To_Top_Functions): Add support for concurrent record types
|
7676 |
|
|
(Freeze_Record_Type): Remove call to
|
7677 |
|
|
Init_Predefined_Interface_Primitives.
|
7678 |
|
|
(Init_Secondary_Tags.Initialize_Tag): New subprogram containing all the
|
7679 |
|
|
code required to initialize the tags of the secondary dispatch tables.
|
7680 |
|
|
This leaves the algoritm more clear.
|
7681 |
|
|
(Init_Secondary_Tags): Add support for concurrent record types
|
7682 |
|
|
(Make_Predefined_Primitive_Specs): Code cleanup.
|
7683 |
|
|
(Predefined_Primitive_Bodies): Code cleanup.
|
7684 |
|
|
(Build_Master_Renaming): New local subprogram.
|
7685 |
|
|
(Expand_N_Full_Type_Declaration): Build the master_id associated with
|
7686 |
|
|
anonymous access to task type components.
|
7687 |
|
|
(Expand_N_Subtype_Indication): The bounds of a range constraint in a
|
7688 |
|
|
subtype indication are resolved during analysis, and must not be done
|
7689 |
|
|
here.
|
7690 |
|
|
(Stream_Operation_OK): Check Restriction_Active before RTE_Available.
|
7691 |
|
|
|
7692 |
|
|
2007-04-06 Geert Bosch
|
7693 |
|
|
Ed Schonberg
|
7694 |
|
|
Javier Miranda
|
7695 |
|
|
Bob Duff
|
7696 |
|
|
|
7697 |
|
|
* exp_ch4.adb (Expand_N_Type_Conversion): Remove special processing
|
7698 |
|
|
for conversion of a Float_Type'Truncation to integer.
|
7699 |
|
|
|
7700 |
|
|
* exp_attr.adb (Is_Inline_Floating_Point_Attribute): New function to
|
7701 |
|
|
check if a node is an attribute that can be handled directly by the
|
7702 |
|
|
back end.
|
7703 |
|
|
(Expand_N_Attribute_Reference): Suppress expansion of floating-point
|
7704 |
|
|
attributes that can be handled directly by the back end.
|
7705 |
|
|
(Expand_N_Attribute_Reference, case 'Access and 'Unchecked_Access):
|
7706 |
|
|
use new predicate Is_Access_Protected_Subprogram_Type.
|
7707 |
|
|
(Expand_N_Attribute_Reference, case 'Write): The reference is legal for
|
7708 |
|
|
and Unchecked_Union if it is generated as part of the default Output
|
7709 |
|
|
procedure for a type with default discriminants.
|
7710 |
|
|
(Expand_N_Attribute_Reference): Avoid the expansion of dispatching calls
|
7711 |
|
|
if we are compiling under restriction No_Dispatching_Calls.
|
7712 |
|
|
(Constrained): Use Underlying_Type, in case the type is private without
|
7713 |
|
|
discriminants, but the full type has discriminants.
|
7714 |
|
|
(Expand_N_Attribute_Reference): Replace call to Get_Access_Level by
|
7715 |
|
|
call to Build_Get_Access_Level.
|
7716 |
|
|
(Expand_N_Attribute_Reference): The use of 'Address with class-wide
|
7717 |
|
|
interface objects requires a call to the run-time subprogram that
|
7718 |
|
|
returns the base address of the object.
|
7719 |
|
|
(Valid_Conversion): Improve error message on illegal attempt to store
|
7720 |
|
|
an anonymous access to subprogram value into a record component.
|
7721 |
|
|
|
7722 |
|
|
* sem_res.adb (Resolve_Equality_Op): Detect ambiguity for "X'Access =
|
7723 |
|
|
null".
|
7724 |
|
|
(Simplify_Type_Conversion): New procedure that performs simplification
|
7725 |
|
|
of Int_Type (Float_Type'Truncation (X)).
|
7726 |
|
|
(Resolve_Type_Conversion): Call above procedure after resolving operand
|
7727 |
|
|
and before performing checks. This replaces the existing ineffective
|
7728 |
|
|
code in Exp_Ch4.
|
7729 |
|
|
(Set_String_Literal_Subtype): When creating the internal static lower
|
7730 |
|
|
bound subtype for a string literal, use a newly created copy of the
|
7731 |
|
|
subtree representing the lower bound.
|
7732 |
|
|
(Resolve_Call): Exclude build-in-place function calls from transient
|
7733 |
|
|
scope treatment. Update comments to describe this exception.
|
7734 |
|
|
(Resolve_Equality_Op): In case of dispatching call check violation of
|
7735 |
|
|
restriction No_Dispatching_Calls.
|
7736 |
|
|
(Resolve_Call): If the call returns an array, the context imposes the
|
7737 |
|
|
component type of the array, and the function has one non-defaulted
|
7738 |
|
|
parameter, rewrite the call as the indexing of a call with a single
|
7739 |
|
|
parameter, to handle an Ada 2005 syntactic ambiguity for calls written
|
7740 |
|
|
in prefix form.
|
7741 |
|
|
(Resolve_Actuals): If an actual is an allocator for an access parameter,
|
7742 |
|
|
the master of the created object is the innermost enclosing statement.
|
7743 |
|
|
(Remove_Conversions): For a binary operator, check if type of second
|
7744 |
|
|
formal is numeric, to check if an abstract interpretation is present
|
7745 |
|
|
in the case of exponentiation as well.
|
7746 |
|
|
|
7747 |
|
|
2007-04-06 Ed Schonberg
|
7748 |
|
|
Bob Duff
|
7749 |
|
|
|
7750 |
|
|
* atree.h, atree.ads, atree.adb (Copy_Node_With_Replacement): When
|
7751 |
|
|
copying a parameter list in a call, set properly the First_Named_Formal
|
7752 |
|
|
and Next_Named_Formal fields in the new list and in the enclosing call.
|
7753 |
|
|
(Watch_Node,New_Node_Breakpoint,New_Node_Debugging_Output): Shorten
|
7754 |
|
|
names, to ease typing in the debugger. Improve comments.
|
7755 |
|
|
(Watch_Node): New variable, intended to be set in the debugger.
|
7756 |
|
|
(New_Node_Breakpoint): New do-nothing procedure to set a breakpoint on,
|
7757 |
|
|
called when the watched node is created.
|
7758 |
|
|
(New_Node_Debugging_Output): Combined version of local procedures
|
7759 |
|
|
New_Node_Debugging_Output and New_Entity_Debugging_Output, now global,
|
7760 |
|
|
with a parameter so that conditional breakpoints like "if Node = 12345"
|
7761 |
|
|
work.
|
7762 |
|
|
(New_Node, New_Entity): Call the global New_Node_Debugging_Output.
|
7763 |
|
|
Add Elist1 function
|
7764 |
|
|
|
7765 |
|
|
2007-04-06 Thomas Quinot
|
7766 |
|
|
Ed Schonberg
|
7767 |
|
|
Gary Dismukes
|
7768 |
|
|
|
7769 |
|
|
* checks.ads, checks.adb (Selected_Range_Checks): No range check is
|
7770 |
|
|
required for a conversion between two access-to-unconstrained-array
|
7771 |
|
|
types.
|
7772 |
|
|
(Expr_Known_Valid): Validity checks do not apply to discriminants, but
|
7773 |
|
|
to discriminant constraints on discriminant objects. This rule must
|
7774 |
|
|
apply as well to discriminants of protected types in private components.
|
7775 |
|
|
(Null_Exclusion_Static_Checks): If No_Initialization is set on an
|
7776 |
|
|
object of a null-excluding access type then don't require the
|
7777 |
|
|
the object declaration to have an expression and don't emit a
|
7778 |
|
|
run-time check.
|
7779 |
|
|
|
7780 |
|
|
2007-04-06 Arnaud Charlet
|
7781 |
|
|
Eric Botcazou
|
7782 |
|
|
|
7783 |
|
|
* gnatvsn.ads, comperr.adb (Get_Gnat_build_Type): Renamed Build_Type
|
7784 |
|
|
and made constant.
|
7785 |
|
|
|
7786 |
|
|
* comperr.ads, comperr.adb (Compiler_Abort): Add third parameter
|
7787 |
|
|
Fallback_Loc. Use it as the sloc info when Current_Error_Node doesn't
|
7788 |
|
|
carry any.
|
7789 |
|
|
|
7790 |
|
|
* fe.h (Compiler_Abort): Add third parameter.
|
7791 |
|
|
|
7792 |
|
|
* misc.c (internal_error_function): Build third argument from current
|
7793 |
|
|
input location and pass it to Compiler_Abort.
|
7794 |
|
|
|
7795 |
|
|
2007-04-06 Gary Dismukes
|
7796 |
|
|
|
7797 |
|
|
* cstand.adb (Create_Standard): When the target's storage unit size is
|
7798 |
|
|
greater than a byte, set Has_Non_Standard_Rep and Has_Pragma_Pack on
|
7799 |
|
|
Standard_String.
|
7800 |
|
|
|
7801 |
|
|
2007-04-06 Nicolas Roche
|
7802 |
|
|
|
7803 |
|
|
* cstreams.c (__gnat_full_name): Fix issues on VxWorks 6.x for which
|
7804 |
|
|
absolute path can have the following form: device:/a/b. In this case
|
7805 |
|
|
'/' should be inserted between the path and the filename.
|
7806 |
|
|
|
7807 |
|
|
2007-04-06 Olivier Hainque
|
7808 |
|
|
Eric Botcazou
|
7809 |
|
|
|
7810 |
|
|
* decl.c (gnat_to_gnu_entity) : Associate an external
|
7811 |
|
|
VAR_DECL to a CONST_DECL we make for a public constant when we know the
|
7812 |
|
|
corresponding definition has created the so made visible variable.
|
7813 |
|
|
Handle anonymous access to protected subprogram.
|
7814 |
|
|
(gnat_to_gnu_entity) : Do not make the underlying type of an
|
7815 |
|
|
object with an address clause volatile. Re-enable original fix.
|
7816 |
|
|
: Set TYPE_REF_CAN_ALIAS_ALL on the reference type
|
7817 |
|
|
too.
|
7818 |
|
|
(gnat_to_gnu_entity) : Retrieve the TYPE_DECL
|
7819 |
|
|
associated with either the Equivalent or Root type, instead of the
|
7820 |
|
|
naked type node.
|
7821 |
|
|
(gnat_to_gnu_entity): Manually mark the top of the DECL_FIELD_OFFSET
|
7822 |
|
|
subtree for every field of a global record type.
|
7823 |
|
|
(gnat_to_gnu_entity) : If the subtype has
|
7824 |
|
|
discriminants, invoke again variable_size on its newly computed sizes.
|
7825 |
|
|
|
7826 |
|
|
2007-04-06 Robert Dewar
|
7827 |
|
|
Thomas Quinot
|
7828 |
|
|
Ed Schonberg
|
7829 |
|
|
Bob Duff
|
7830 |
|
|
|
7831 |
|
|
* einfo.ads, einfo.adb: (First_Component_Or_Discriminant): New function
|
7832 |
|
|
(Next_Component_Or_Discriminant): New function and procedure
|
7833 |
|
|
(First_Index, First_Literal, Master_Id,
|
7834 |
|
|
Set_First_Index, Set_First_Literal, Set_Master_Id):
|
7835 |
|
|
Add missing Ekind assertions.
|
7836 |
|
|
(Is_Access_Protected_Subprogram_Type): New predicate.
|
7837 |
|
|
(Has_RACW): New entity flag, set on package entities to indicate that
|
7838 |
|
|
the package contains the declaration of a remote accecss-to-classwide
|
7839 |
|
|
type.
|
7840 |
|
|
(E_Return_Statement): This node type has the Finalization_Chain_Entity
|
7841 |
|
|
attribute, in case the result type has controlled parts.
|
7842 |
|
|
(Requires_Overriding): Add this new flag, because "requires
|
7843 |
|
|
overriding" is subtly different from "is abstract" (see AI-228).
|
7844 |
|
|
(Is_Abstract): Split Is_Abstract flag into Is_Abstract_Subprogram and
|
7845 |
|
|
Is_Abstract_Type. Make sure these are called only when appropriate.
|
7846 |
|
|
(Has_Pragma_Unreferenced_Objects): New flag
|
7847 |
|
|
|
7848 |
|
|
* exp_ch5.adb (Expand_N_Assignment_Statement): If the left-hand side is
|
7849 |
|
|
class-wide, the tag of the right-hand side must be an exact match, not
|
7850 |
|
|
an ancestor of that of the object on left-hand side.
|
7851 |
|
|
(Move_Activation_Chain): New procedure to create the call to
|
7852 |
|
|
System.Tasking.Stages.Move_Activation_Chain.
|
7853 |
|
|
(Expand_N_Extended_Return_Statement): Generate code to call
|
7854 |
|
|
System.Finalization_Implementation.Move_Final_List at the end of a
|
7855 |
|
|
return statement if the function's result type has controlled parts.
|
7856 |
|
|
Move asserts to Build_In_Place_Formal.
|
7857 |
|
|
(Move_Final_List): New function to create the call statement.
|
7858 |
|
|
(Expand_N_Assignment_Statement): In case of assignment to a class-wide
|
7859 |
|
|
tagged type, replace generation of call to the run-time subprogram
|
7860 |
|
|
CW_Membership by call to Build_CW_Membership.
|
7861 |
|
|
(Expand_N_Return_Statement): Replace generation of call to the run-time
|
7862 |
|
|
subprogram Get_Access_Level by call to Build_Get_Access_Level.
|
7863 |
|
|
(Expand_N_Simple_Function_Return): Replace generation of call to the
|
7864 |
|
|
run-time subprogram Get_Access_Level by call to Build_Get_Access_Level.
|
7865 |
|
|
|
7866 |
|
|
* exp_ch6.ads, exp_ch6.adb (Expand_Call): Use new predicate
|
7867 |
|
|
Is_Access_Protected_Subprogram_Type, to handle both named and anonymous
|
7868 |
|
|
access to protected operations.
|
7869 |
|
|
(Add_Task_Actuals_To_Build_In_Place_Call): New procedure to add the
|
7870 |
|
|
master and chain actual parameters to a build-in-place function call
|
7871 |
|
|
involving tasks.
|
7872 |
|
|
(BIP_Formal_Suffix): Add new enumeration literals to complete the case
|
7873 |
|
|
statement.
|
7874 |
|
|
(Make_Build_In_Place_Call_In_Allocator,
|
7875 |
|
|
Make_Build_In_Place_Call_In_Anonymous_Context,
|
7876 |
|
|
Make_Build_In_Place_Call_In_Assignment,
|
7877 |
|
|
Make_Build_In_Place_Call_In_Object_Declaration): Call
|
7878 |
|
|
Add_Task_Actuals_To_Build_In_Place_Call with the appropriate master.
|
7879 |
|
|
(Expand_Inlined_Call): If the subprogram is a null procedure, or a
|
7880 |
|
|
stubbed procedure with a null body, replace the call with a null
|
7881 |
|
|
statement without using the full inlining machinery, for efficiency
|
7882 |
|
|
and to avoid invalid values in source file table entries.
|
7883 |
|
|
|
7884 |
|
|
* exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Add support for
|
7885 |
|
|
renamings of calls to build-in-place functions.
|
7886 |
|
|
|
7887 |
|
|
* rtsfind.adb (RTE_Record_Component_Available): New subprogram that
|
7888 |
|
|
provides the functionality of RTE_Available to record components.
|
7889 |
|
|
(RTU_Entity): The function Entity has been renamed to RTU_Entity
|
7890 |
|
|
to avoid undesired overloading.
|
7891 |
|
|
(Entity): New subprogram that returns the entity for the referened
|
7892 |
|
|
unit. If this unit has not been loaded, it returns Empty.
|
7893 |
|
|
(RE_Activation_Chain_Access, RE_Move_Activation_Chain): New entities.
|
7894 |
|
|
Remove no longer used entities.
|
7895 |
|
|
(RE_Finalizable_Ptr_Ptr, RE_Move_Final_List): New entities.
|
7896 |
|
|
(RE_Type_Specific_Data): New entity.
|
7897 |
|
|
(RE_Move_Any_Value): New entity.
|
7898 |
|
|
(RE_TA_A, RE_Get_Any_Type): New entities.
|
7899 |
|
|
(RE_Access_Level, RE_Dispatch_Table, E_Default_Prim_Op_Count,
|
7900 |
|
|
RE_Prims_Ptr, RE_RC_Offset, RE_Remotely_Callable,
|
7901 |
|
|
RE_DT_Typeinfo_Ptr_Size, RE_Cstring_Ptr, RE_DT_Expanded_Name): Added.
|
7902 |
|
|
(Entity): New subprogram that returns the entity for the referened
|
7903 |
|
|
unit. If this unit has not been loaded, it returns Empty.
|
7904 |
|
|
(RTE): Addition of a new formal that extends the search to the scopes
|
7905 |
|
|
of the record types found in the chain of the package.
|
7906 |
|
|
|
7907 |
|
|
* sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Print
|
7908 |
|
|
"abstract subprograms must be visible" message, whether or not the type
|
7909 |
|
|
is an interface; that is, remove the special case for interface types.
|
7910 |
|
|
(Analyze_Function_Return): Remove error message "return of task objects
|
7911 |
|
|
is not yet implemented" because this is now implemented.
|
7912 |
|
|
(Create_Extra_Formals): Add the extra master and activation chain
|
7913 |
|
|
formals in case the result type has tasks.
|
7914 |
|
|
Remove error message "return of limited controlled objects is not yet
|
7915 |
|
|
implemented".
|
7916 |
|
|
(Create_Extra_Formals): Add the extra caller's finalization list formal
|
7917 |
|
|
in case the result type has controlled parts.
|
7918 |
|
|
(Process_Formals): In case of access formal types there is no need
|
7919 |
|
|
to continue with the analysis of the formals if we already notified
|
7920 |
|
|
errors.
|
7921 |
|
|
(Check_Overriding_Indicator): Add code to check overriding of predefined
|
7922 |
|
|
operators.
|
7923 |
|
|
(Create_Extra_Formals): Prevent creation of useless Extra_Constrained
|
7924 |
|
|
flags for formals that do not require them,.
|
7925 |
|
|
(Enter_Overloaded_Entity): Do not give -gnatwh warning message unless
|
7926 |
|
|
hidden entity is use visible or directly visible.
|
7927 |
|
|
(Analyze_Abstract_Subprogram_Declaration,Analyze_Subprogram_Body,
|
7928 |
|
|
Analyze_Subprogram_Declaration,Analyze_Subprogram_Specification,
|
7929 |
|
|
Check_Conventions,Check_Delayed_Subprogram,Make_Inequality_Operator,
|
7930 |
|
|
New_Overloaded_Entity): Split Is_Abstract flag into
|
7931 |
|
|
Is_Abstract_Subprogram and Is_Abstract_Type.
|
7932 |
|
|
|
7933 |
|
|
* s-finimp.ads, s-finimp.adb (Move_Final_List): New procedure to move
|
7934 |
|
|
a return statement's finalization list to the caller's list, used for
|
7935 |
|
|
build-in-place functions with result type with controlled parts.
|
7936 |
|
|
Remove no longer used entities.
|
7937 |
|
|
|
7938 |
|
|
* s-taskin.ads (Activation_Chain): Remove pragma Volatile. It is no
|
7939 |
|
|
longer needed, because the full type is now limited, and therefore a
|
7940 |
|
|
pass-by-reference type.
|
7941 |
|
|
(Foreign_Task_Level): New constant.
|
7942 |
|
|
|
7943 |
|
|
* s-tassta.ads, s-tassta.adb (Move_Activation_Chain): New procedure to
|
7944 |
|
|
move tasks from the activation chain belonging to a return statement to
|
7945 |
|
|
the one passed in by the caller, and update the master to the one
|
7946 |
|
|
passed in by the caller.
|
7947 |
|
|
(Vulnerable_Complete_Master, Check_Unactivated_Tasks): Check the master
|
7948 |
|
|
of unactivated tasks, so we don't kill the ones that are being returned
|
7949 |
|
|
by a build-in-place function.
|
7950 |
|
|
(Create_Task): Ignore AI-280 for foreign threads.
|
7951 |
|
|
|
7952 |
|
|
2007-04-06 Ed Schonberg
|
7953 |
|
|
Robert Dewar
|
7954 |
|
|
Bob Duff
|
7955 |
|
|
Gary Dismukes
|
7956 |
|
|
|
7957 |
|
|
* errout.adb (Unwind_Internal_Type): Use predicate
|
7958 |
|
|
Is_Access__Protected_Subprogram_Type.
|
7959 |
|
|
|
7960 |
|
|
* freeze.adb (Size_Known): Use First/Next_Component_Or_Discriminant
|
7961 |
|
|
(Freeze_Entity, packed array case): Do not override explicitly set
|
7962 |
|
|
alignment and size clauses.
|
7963 |
|
|
(Freeze_Entity): An entity declared in an outer scope can be frozen if
|
7964 |
|
|
the enclosing subprogram is a child unit body that acts as a spec.
|
7965 |
|
|
(Freeze_Entity): Use new predicate Is_Access_Protected_Subprogram_Type.
|
7966 |
|
|
(Freeze_Record_Type): New Ada 2005 processing for reverse bit order
|
7967 |
|
|
Remove all code for DSP option
|
7968 |
|
|
|
7969 |
|
|
* layout.adb (Layout_Record_Type): Use First/
|
7970 |
|
|
Next_Component_Or_Discriminant
|
7971 |
|
|
(Layout_Type): Use new predicate Is_Access_Protected_Subprogram_Type,
|
7972 |
|
|
to handle properly the anonymous access case.
|
7973 |
|
|
|
7974 |
|
|
* sem_attr.adb (Build_Access_Object_Type): Use E_Access_Attribute_Type
|
7975 |
|
|
for all access attributes, because overload resolution should work the
|
7976 |
|
|
same for 'Access, 'Unchecked_Access, and 'Unrestricted_Access. This
|
7977 |
|
|
causes the error message for the ambiguous "X'Access = Y'Access" and
|
7978 |
|
|
"X'Unrestricted_Access = Y'Access" and so forth to match.
|
7979 |
|
|
(Resolve_Attribute, case 'Access): Remove use of Original_Access_Type,
|
7980 |
|
|
now that anonymous access to protected operations have their own kind.
|
7981 |
|
|
(Resolve_Attribute): In case of dispatching call check the violation of
|
7982 |
|
|
restriction No_Dispatching_Calls.
|
7983 |
|
|
(Check_Array_Type): Check new -gnatyA array index style option
|
7984 |
|
|
|
7985 |
|
|
* sem_ch3.ads, sem_ch3.adb (Derived_Type_Declaration): Reject an
|
7986 |
|
|
attempt to derive from a synchronized tagged type.
|
7987 |
|
|
(Analyze_Type_Declaration): If there is a incomplete tagged view of the
|
7988 |
|
|
type, inherit the class-wide type already created, because it may
|
7989 |
|
|
already have been used in a self-referential anonymous access component.
|
7990 |
|
|
(Mentions_T): Recognize self-referential anonymous access components
|
7991 |
|
|
that use (a subtype of) the class-wide type of the enclosing type.
|
7992 |
|
|
(Build_Derived_Record_Type): Add earlier setting of Is_Tagged_Type. Pass
|
7993 |
|
|
Derived_Type for Prev formal on call to
|
7994 |
|
|
Check_Anonymous_Access_Components rather than Empty.
|
7995 |
|
|
(Make_Incomplete_Type_Declaration): Add test for case where the type has
|
7996 |
|
|
a record extension in deciding whether to create a class-wide type,
|
7997 |
|
|
rather than just checking Tagged_Present.
|
7998 |
|
|
(Replace_Anonymous_Access_To_Protected_Subprogram): Procedure applies
|
7999 |
|
|
to stand-alone object declarations as well as component declarations.
|
8000 |
|
|
(Array_Type_Declaration): Initialize Packed_Array_Type to Empty, to
|
8001 |
|
|
prevent accidental overwriting when enclosing package appears in
|
8002 |
|
|
a limited_with_clause.
|
8003 |
|
|
(Array_Type_Declaration): If the component type is an anonymous access,
|
8004 |
|
|
the associated_node for the itype is the type declaration itself.
|
8005 |
|
|
(Add_Interface_Tag_Components): Modified to support concurrent
|
8006 |
|
|
types with abstract interfaces.
|
8007 |
|
|
(Check_Abstract_Interfaces): New subprogram that verifies the ARM
|
8008 |
|
|
rules 3.9.4 (15/2), 9.1 (9.d/2) and 9.4 (11.d/2).
|
8009 |
|
|
(Build_Derived_Record_Type): Add call to Analyze_Interface_Declaration
|
8010 |
|
|
to complete the decoration of synchronized interface types. Add also
|
8011 |
|
|
a call to Check_Abstract_Interfaces to verify the ARM rules.
|
8012 |
|
|
(Derive_Interface_Subprograms): Modified to support concurrent types
|
8013 |
|
|
with abstract interfaces.
|
8014 |
|
|
(Analyze_Subtype_Indication): Resolve the range with the given subtype
|
8015 |
|
|
mark, rather than delaying the full resolution depending on context.
|
8016 |
|
|
(Analyze_Component_Declaration,Analyze_Interface_Declaration,
|
8017 |
|
|
Analyze_Object_Declaration,Analyze_Subtype_Declaration,
|
8018 |
|
|
Array_Type_Declaration,Build_Derived_Record_Type,
|
8019 |
|
|
Build_Discriminated_Subtype,Check_Abstract_Overriding,Check_Completion,
|
8020 |
|
|
Derive_Interface_Subprograms,Derive_Subprogram,Make_Class_Wide_Type,
|
8021 |
|
|
Process_Full_View,Record_Type_Declaration): Split Is_Abstract flag into
|
8022 |
|
|
Is_Abstract_Subprogram and Is_Abstract_Type. Make sure these are
|
8023 |
|
|
called only when appropriate.
|
8024 |
|
|
(Copy_And_Swap): Copy Has_Unreferenced_Objects flag from full type
|
8025 |
|
|
to private type.
|
8026 |
|
|
(Analyze_Subtype_Declaration): For an access subtype declaration, create
|
8027 |
|
|
an itype reference for the anonymous designated subtype, to prevent
|
8028 |
|
|
scope anonmalies in gigi.
|
8029 |
|
|
(Build_Itype_Reference): New utility, to simplify construction of such
|
8030 |
|
|
references.
|
8031 |
|
|
|
8032 |
|
|
2007-04-06 Vincent Celier
|
8033 |
|
|
|
8034 |
|
|
* errutil.adb (Initialize): Initialize warnings table, if all warnings
|
8035 |
|
|
are suppressed, supply an initial dummy entry covering all possible
|
8036 |
|
|
source locations.
|
8037 |
|
|
|
8038 |
|
|
* make.adb (Scan_Make_Arg): Reject options that should start with "--"
|
8039 |
|
|
and start with only one, such as "-RTS=none".
|
8040 |
|
|
(Collect_Arguments): Do not check for sources outside of projects.
|
8041 |
|
|
Do not collect arguments if project is externally built.
|
8042 |
|
|
(Compile_Sources): Do nothing, not even check if the source is up to
|
8043 |
|
|
date, if its project is externally built.
|
8044 |
|
|
(Compile): When compiling a predefined source, add -gnatpg
|
8045 |
|
|
as the second switch, after -c.
|
8046 |
|
|
(Compile_Sources): Allow compilation of Annex J renames without -a
|
8047 |
|
|
(Is_In_Object_Directory): Check if the ALI file is in the object
|
8048 |
|
|
even if there is no project extension.
|
8049 |
|
|
(Create_Binder_Mapping_File): Only put a unit in the mapping file for
|
8050 |
|
|
gnatbind if the ALI file effectively exists.
|
8051 |
|
|
(Initialize): Add the directory where gnatmake is invoked in front of
|
8052 |
|
|
the path if it is invoked from a bin directory, even without directory
|
8053 |
|
|
information, so that the correct GNAT tools will be used when spawned
|
8054 |
|
|
without directory information.
|
8055 |
|
|
|
8056 |
|
|
* makeusg.adb: Change switch -S to -eS
|
8057 |
|
|
Add lines for new switches -we, -wn and -ws
|
8058 |
|
|
Add line for new switch -p
|
8059 |
|
|
|
8060 |
|
|
* prj-proc.adb (Process): Set Success to False when Warning_Mode is
|
8061 |
|
|
Treat_As_Error and there are warnings.
|
8062 |
|
|
|
8063 |
|
|
* switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Do not skip
|
8064 |
|
|
-gnatww Change gnatmake switch -S to -eS
|
8065 |
|
|
(Scan_Make_Switches): Code reorganisation. Process separately multi
|
8066 |
|
|
character switches and single character switches.
|
8067 |
|
|
(Scan_Make_Switches): New Boolean out parameter Success. Set Success to
|
8068 |
|
|
False when switch is not recognized by gnatmake.
|
8069 |
|
|
(Scan_Make_Switches): Set Setup_Projects True when -p or
|
8070 |
|
|
--create-missing-dirs is specified.
|
8071 |
|
|
|
8072 |
|
|
* fname.adb (Is_Predefined_File_Name): Return True for annex J
|
8073 |
|
|
renamings Calendar, Machine_Code, Unchecked_Conversion and
|
8074 |
|
|
Unchecked_Deallocation only when Renamings_Included is True.
|
8075 |
|
|
|
8076 |
|
|
* par.adb: Allow library units Calendar, Machine_Code,
|
8077 |
|
|
Unchecked_Conversion and Unchecked_Deallocation to be recompiled even
|
8078 |
|
|
when -gnatg is not specified.
|
8079 |
|
|
(P_Interface_Type_Definition): Remove the formal Is_Synchronized because
|
8080 |
|
|
there is no need to generate always a record_definition_node in case
|
8081 |
|
|
of synchronized interface types.
|
8082 |
|
|
(SIS_Entry_Active): Initialize global variable to False
|
8083 |
|
|
(P_Null_Exclusion): For AI-447: Add parameter Allow_Anonymous_In_95 to
|
8084 |
|
|
indicate cases where AI-447 says "not null" is legal.
|
8085 |
|
|
|
8086 |
|
|
* makeutl.ads, makeutil.adb (Executable_Prefix_Path): New function
|
8087 |
|
|
|
8088 |
|
|
* makegpr.adb (Check_Compilation_Needed): Take into account dependency
|
8089 |
|
|
files with with several lines starting with the object fileb name.
|
8090 |
|
|
(Scan_Arg): Set Setup_Projects True when -p or --create-missing-dirs
|
8091 |
|
|
is specified.
|
8092 |
|
|
(Initialize): Add the directory where gprmake is invoked in front of the
|
8093 |
|
|
path, if it is invoked from a bin directory or with directory
|
8094 |
|
|
information, so that the correct GNAT tools will be used when invoked
|
8095 |
|
|
directly.
|
8096 |
|
|
(Check_Compilation_Needed): Process correctly backslashes on Windows.
|
8097 |
|
|
|
8098 |
|
|
* vms_data.ads: Update switches/qualifiers
|
8099 |
|
|
|
8100 |
|
|
2007-04-06 Ed Schonberg
|
8101 |
|
|
Thomas Quinot
|
8102 |
|
|
|
8103 |
|
|
* exp_aggr.adb:
|
8104 |
|
|
If the array component is a discriminated record, the array aggregate
|
8105 |
|
|
is non-static even if the component is given by an aggregate with
|
8106 |
|
|
static components.
|
8107 |
|
|
(Expand_Record_Aggregate): Use First/Next_Component_Or_Discriminant
|
8108 |
|
|
(Convert_Aggr_In_Allocator): If the allocator is for an access
|
8109 |
|
|
discriminant and the type is controlled. do not place on a finalization
|
8110 |
|
|
list at this point. The proper list will be determined from the
|
8111 |
|
|
enclosing object.
|
8112 |
|
|
(Build_Record_Aggr_Code): If aggregate has box-initialized components,
|
8113 |
|
|
initialize record controller if needed, before the components, to ensure
|
8114 |
|
|
that they are properly finalized.
|
8115 |
|
|
(Build_Record_Aggr_Code): For the case of an array component that has a
|
8116 |
|
|
corresponding array aggregate in the record aggregate, perform sliding
|
8117 |
|
|
if required.
|
8118 |
|
|
|
8119 |
|
|
2007-04-06 Javier Miranda
|
8120 |
|
|
Gary Dismukes
|
8121 |
|
|
Ed Schonberg
|
8122 |
|
|
|
8123 |
|
|
* exp_ch13.adb (Expand_External_Tag_Definition): Replace call to the
|
8124 |
|
|
run-time subprogram Set_External_Tag by call to Build_Set_External_Tag.
|
8125 |
|
|
|
8126 |
|
|
* exp_ch4.adb (Expand_Allocator_Expression): Don't perform a run-time
|
8127 |
|
|
accessibility on class-wide allocators if the allocator occurs at the
|
8128 |
|
|
same scope level as the allocator's type. The check is guaranteed to
|
8129 |
|
|
succeed in that case, even when the expression originates from a
|
8130 |
|
|
parameter of the containing subprogram.
|
8131 |
|
|
(Expand_N_Op_Eq): Do nothing in case of dispatching call if compiling
|
8132 |
|
|
under No_Dispatching_Calls restriction. During the semantic analysis
|
8133 |
|
|
we already notified such violation.
|
8134 |
|
|
(Tagged_Membership): Constant folding. There is no need to check
|
8135 |
|
|
the tag at run-time if the type of the right operand is non
|
8136 |
|
|
class-wide abstract.
|
8137 |
|
|
Replace call to Is_Ancestor by call to Is_Parent
|
8138 |
|
|
to support concurrent types with interface types.
|
8139 |
|
|
(Expand_N_Allocator): Add an assertion associated with the generation
|
8140 |
|
|
of the master_id.
|
8141 |
|
|
(Expand_N_Slice): Do not enable range check to nodes associated
|
8142 |
|
|
with the frontend expansion of the dispatch table.
|
8143 |
|
|
(Is_Local_Access_Discriminant): Subsidiary function to
|
8144 |
|
|
Expand_N_Allocator.
|
8145 |
|
|
(Tagged_Membership): Replace generation of call to the run-time
|
8146 |
|
|
subprogram CW_Membership by call to Build_CW_Membership.
|
8147 |
|
|
(Expand_Allocator_Expression): Replace generation of call to the
|
8148 |
|
|
run-time subprogram Get_Access_Level by call to Build_Get_Access_Level.
|
8149 |
|
|
|
8150 |
|
|
* exp_disp.ads, exp_disp.adb (Make_DT): Code reorganization to
|
8151 |
|
|
initialize most the TSD components by means of an aggregate.
|
8152 |
|
|
Modify the declaration of the object containing the TSD
|
8153 |
|
|
because we now expand code that has a higher level of abstraction.
|
8154 |
|
|
The TSD has a discriminant containing the Inheritance Depth Level,
|
8155 |
|
|
value that is used in the membership test but also to fix the size
|
8156 |
|
|
of the table of ancestors.
|
8157 |
|
|
(Expand_Interface_Conversion): Insert function body at the closest place
|
8158 |
|
|
to the conversion expression, to prevent access-before-elaboration
|
8159 |
|
|
errors in the backend.
|
8160 |
|
|
Code improved to reduce the size of the dispatch table if
|
8161 |
|
|
compiling under restriction No_Dispatching_Calls plus code cleanup.
|
8162 |
|
|
Code reorganization plus removal of calls to Set_Num_Prim_Ops
|
8163 |
|
|
(Make_Secondary_DT): Remove call to Set_Num_Prim_Ops.
|
8164 |
|
|
(Expand_Dispatching_Call): Minor code reorganization plus addition of
|
8165 |
|
|
code to return immediately if compiling under No_Dispatching_Calls
|
8166 |
|
|
restriction.
|
8167 |
|
|
(Set_All_DT_Position): Remove code associated with the old CPP pragmas.
|
8168 |
|
|
CPP_Virtual and CPP_Vtable are no longer supported.
|
8169 |
|
|
(Expand_Interface_Conversion): Add missing support for interface type
|
8170 |
|
|
derivations.
|
8171 |
|
|
(Expand_Interface_Actuals): Replace calls to Is_Ancestor by calls to
|
8172 |
|
|
Is_Parent to support concurrent types with interfaces.
|
8173 |
|
|
(Init_Predefined_Interface_Primitives): Removed.
|
8174 |
|
|
(Make_Secondary_DT): Modified to support concurrent record types.
|
8175 |
|
|
(Set_All_DT_Position): Modified to support concurrent record types.
|
8176 |
|
|
(Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entries associated
|
8177 |
|
|
with Get_External_Tag, Inherit_TSD, Set_External_Tag.
|
8178 |
|
|
(Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entry associated
|
8179 |
|
|
with CW_Membership.
|
8180 |
|
|
(Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entries associated
|
8181 |
|
|
with Get_Access_Level, Get_Predefined_Prim_Op_Address,
|
8182 |
|
|
Get_Prim_Op_Address Get_RC_Offset, Get_Remotely_Callable, Inherit_DT,
|
8183 |
|
|
Set_Access_Level, Set_Expanded_Name, Set_Predefined_Prim_Op_Address,
|
8184 |
|
|
Set_Prim_Op_Address, Set_RC_Offset, Set_Remotely_Callable, Set_TSD.
|
8185 |
|
|
(Expand_Dispatching_Call): Replace generation of call to the run-time
|
8186 |
|
|
subprograms Get_Predefined_Prim_Op_Address and Get_Prim_Op_Address by
|
8187 |
|
|
calls to Build_Get_Predefined_Prim_Op_Address, and Build_Get_Prim_Op_
|
8188 |
|
|
Address.
|
8189 |
|
|
(Fill_DT_Entry, Fill_Secondary_DT_Entry): Replace generation of call to
|
8190 |
|
|
the run-time subprograms Set_Predefined_Prim_Op_Address and Set_Prim_
|
8191 |
|
|
Op_Address by calls to Build_Set_Predefined_Prim_Op_Address, and
|
8192 |
|
|
Build_Set_Prim_Op_Address.
|
8193 |
|
|
(Get_Remotely_Callable): Subprogram removed.
|
8194 |
|
|
(Init_Predefined_Interface_Primitives): Replace generation of call to
|
8195 |
|
|
the run-time subprograms Inherit_DT by call to Build_Inherit_Predefined_
|
8196 |
|
|
Prims.
|
8197 |
|
|
|
8198 |
|
|
* sem_elab.adb (Set_Elaboration_Constraint): Replace the call to
|
8199 |
|
|
First (Parameter_Associations ()) with the call to First_Actual that
|
8200 |
|
|
returns an actual parameter expression for both named and positional
|
8201 |
|
|
associations.
|
8202 |
|
|
|
8203 |
|
|
* sem_disp.adb (Check_Dispatching_Call): In case of dispatching call
|
8204 |
|
|
check violation of restriction No_Dispatching_Calls.
|
8205 |
|
|
(Check_Controlling_Type): A formal of a tagged incomplete type is a
|
8206 |
|
|
controlling argument.
|
8207 |
|
|
|
8208 |
|
|
* exp_util.ads, exp_util.adb (Type_May_Have_Bit_Aligned_Components): Use
|
8209 |
|
|
First/Next_Component_Or_Discriminant
|
8210 |
|
|
(Insert_Actions): Add entries for new N_Push and N_Pop nodes
|
8211 |
|
|
(Find_Implemented_Interface): Removed. All the calls to this subprogram
|
8212 |
|
|
specify Any_Limited_Interface, and this functionality is already
|
8213 |
|
|
provided by the function Has_Abstract_Interfaces.
|
8214 |
|
|
(Find_Interface, Find_Interface_Tag, Find_Interface_ADT): Modified to
|
8215 |
|
|
support concurrent types implementing interfaces.
|
8216 |
|
|
(Find_Implemented_Interface): Removed. All the calls to this subprogram
|
8217 |
|
|
specify kind Any_Limited_Interface, and this functionality is already
|
8218 |
|
|
provided by the function Has_Abstract_Interfaces.
|
8219 |
|
|
(Remove_Side_Effects): replace Controlled_Type by
|
8220 |
|
|
CW_Or_Controlled_Type whenever the issue is related to
|
8221 |
|
|
using or not the secondary stack.
|
8222 |
|
|
|
8223 |
|
|
* par-ch12.adb (P_Formal_Type_Definition): Update calls to
|
8224 |
|
|
P_Interface_Type_Definition to fulfill the new interface (the formal
|
8225 |
|
|
Is_Synchronized is no longer required).
|
8226 |
|
|
|
8227 |
|
|
* Make-lang.in (GNAT_ADA_OBJS): Addition of exp_atag.o
|
8228 |
|
|
Update dependencies.
|
8229 |
|
|
|
8230 |
|
|
* exp_atag.ads, exp_atag.adb: New file
|
8231 |
|
|
|
8232 |
|
|
2007-04-06 Ed Schonberg
|
8233 |
|
|
Bob Duff
|
8234 |
|
|
Cyrille Comar
|
8235 |
|
|
|
8236 |
|
|
* exp_ch7.ads, exp_ch7.adb (Find_Final_List): If the access type is
|
8237 |
|
|
anonymous, use finalization list of enclosing dynamic scope.
|
8238 |
|
|
(Expand_N_Package_Declaration): For a library package declaration
|
8239 |
|
|
without a corresponding body, generate RACW subprogram bodies in the
|
8240 |
|
|
spec (just as we do for the task activation call).
|
8241 |
|
|
(Convert_View): Split Is_Abstract flag into Is_Abstract_Subprogram and
|
8242 |
|
|
Is_Abstract_Type. Make sure these are called only when appropriate.
|
8243 |
|
|
Remove all code for DSP option
|
8244 |
|
|
(CW_Or_Controlled_Type): new subprogram.
|
8245 |
|
|
|
8246 |
|
|
2007-04-06 Eric Botcazou
|
8247 |
|
|
Ed Schonberg
|
8248 |
|
|
Gary Dismukes
|
8249 |
|
|
|
8250 |
|
|
* exp_ch9.ads, exp_ch9.adb (Family_Offset): Add new 'Cap' boolean
|
8251 |
|
|
parameter. If it is set to true, return a result capped according to
|
8252 |
|
|
the global upper bound for the index of an entry family.
|
8253 |
|
|
(Family_Size): Add new 'Cap' boolean parameter. Pass it to Family_Offset
|
8254 |
|
|
(Build_Find_Body_Index): Adjust for above change.
|
8255 |
|
|
(Entry_Index_Expression): Likewise.
|
8256 |
|
|
(Is_Potentially_Large_Family): New function extracted from...
|
8257 |
|
|
(Collect_Entry_Families): ...here. Call it to detect whether the family
|
8258 |
|
|
is potentially large.
|
8259 |
|
|
(Build_Entry_Count_Expression): If the family is potentially large, call
|
8260 |
|
|
Family_Size with 'Cap' set to true.
|
8261 |
|
|
(Expand_N_Protected_Type_Declaration, Expand_N_Protected_Body): Generate
|
8262 |
|
|
a protected version of an operation declared in the private part of
|
8263 |
|
|
a protected object, because they may be invoked through a callback.
|
8264 |
|
|
(Set_Privals): If the type of a private component is an anonymous access
|
8265 |
|
|
type, do not create a new itype for each protected body.
|
8266 |
|
|
If the body of a protected operation creates
|
8267 |
|
|
controlled types (including allocators for class-widetypes), the
|
8268 |
|
|
body of the corresponding protected subprogram must include a
|
8269 |
|
|
finalization list.
|
8270 |
|
|
(Build_Activation_Chain_Entity): Build the chain entity for extended
|
8271 |
|
|
return statements.
|
8272 |
|
|
(Type_Conformant_Parameters): Use common predicate Conforming_Types
|
8273 |
|
|
to determine whether operation overrides an inherited primitive.
|
8274 |
|
|
(Build_Wrapper_Spec): Add code to examine the parents while looking
|
8275 |
|
|
for a possible overriding candidate.
|
8276 |
|
|
(Build_Simple_Entry_Call): Set No_Initialization on the object used to
|
8277 |
|
|
hold an actual parameter value since its initialization is separated
|
8278 |
|
|
from the the declaration. Prevents errors on null-excluding access
|
8279 |
|
|
formals.
|
8280 |
|
|
|
8281 |
|
|
2007-04-06 Thomas Quinot
|
8282 |
|
|
Pablo Oliveira
|
8283 |
|
|
|
8284 |
|
|
* exp_dist.ads, exp_dist.adb (Build_To_Any_Call, Build_From_Any_Call):
|
8285 |
|
|
Do an Unchecked_Conversion to handle the passage from the Underlying
|
8286 |
|
|
Type to the Base Type when calling Build_To_Any_Call and
|
8287 |
|
|
Build_From_Any_Call.
|
8288 |
|
|
(Build_Actual_Object_Declaration): Set Object's Ekind to E_Variable or
|
8289 |
|
|
E_Constant, depending upon Variable formal.
|
8290 |
|
|
(GARLIC_Support.Build_Subprogram_Receiving_Stubs,
|
8291 |
|
|
PolyORB_Support.Build_Subprogram_Receiving_Stubs): For a formal
|
8292 |
|
|
parameter that requires an extra constrained parameter, declare
|
8293 |
|
|
temporary for actual as a variable, not a constant.
|
8294 |
|
|
(Add_RACW_Primitive_Declarations_And_Bodies): Generate bodies only when
|
8295 |
|
|
the unit being compiled is the one that contains the stub type.
|
8296 |
|
|
Change primitive operation name for the RACW associated with a RAS
|
8297 |
|
|
from Call to _Call so it cannot clash with any legal identifier.
|
8298 |
|
|
(PolyORB_Support.Add_RACW_Write_Attribute): Remove unused constant
|
8299 |
|
|
Is_RAS.
|
8300 |
|
|
(Append_RACW_Bodies): New subprogram.
|
8301 |
|
|
(Expand_Receiving_Stubs_Bodies): Pass a 'Stmts' list to
|
8302 |
|
|
Add_Receiving_Stubs_To_Declarations functions.
|
8303 |
|
|
When expanding a package body, this list correspond to the
|
8304 |
|
|
statements in the HSS at the end of the pacakge.
|
8305 |
|
|
When expanding a package spec, this list correspond to the
|
8306 |
|
|
spec declarations.
|
8307 |
|
|
(Add_Receiving_Stubs_To_Declarations): Append the function
|
8308 |
|
|
registering the receiving stubs at the end of the 'Stmts' list.
|
8309 |
|
|
(RCI_Package_Locator): Pass the new Version generic formal when
|
8310 |
|
|
instantiating a RCI_Locator package.
|
8311 |
|
|
(Build_From_Any_Function): To compute the High bound for an
|
8312 |
|
|
unconstrained array actual, we add the Low bound with the length.
|
8313 |
|
|
Thus we must convert the low bound and the length to an appropriate
|
8314 |
|
|
type before doing the sum.
|
8315 |
|
|
(Build_Subprogram_Receiving_Stubs, PolyORB):
|
8316 |
|
|
* Retrieve the extra formals parameters at the
|
8317 |
|
|
end of the parameter stream.
|
8318 |
|
|
* Use Move_Any_Value to write back out parameters
|
8319 |
|
|
after executing the request as it is more efficient
|
8320 |
|
|
than Copy_Any_Value.
|
8321 |
|
|
* Build the any containing Extra Formals with the
|
8322 |
|
|
appropriate typecode.
|
8323 |
|
|
(PolyORB_Support.Helpers.Append_Record_Traversal): Nothing to do for an
|
8324 |
|
|
empty Component_List.
|
8325 |
|
|
(Build_Actual_Object_Declaration): New subprogram. Build and insert into
|
8326 |
|
|
the tree the declaration for an object that serves as actual parameter
|
8327 |
|
|
in server-side stubs.
|
8328 |
|
|
(GARLIC_Support.Build_Subprogram_Receiving_Stubs,
|
8329 |
|
|
PolyORB_Support.Build_Subprogram_Receiving_Stubs):
|
8330 |
|
|
Use Build_Actual_Object_Declaration to prepare the actuals.
|
8331 |
|
|
(Add_Parameter_To_NVList): Set the parameter mode to In for
|
8332 |
|
|
Extra Constrained Parameters.
|
8333 |
|
|
(Build_General_Calling_Stubs): Set the parameter type to boolean for
|
8334 |
|
|
Extra Constrained parameters.
|
8335 |
|
|
(Build_To_Any_Function, Build_From_Any_Function,
|
8336 |
|
|
Built_TypeCode_Function): When Typ is implicit, call the correct
|
8337 |
|
|
function with the first not implicit parent type.
|
8338 |
|
|
(TC_Rec_Add_Process_Element, FA_Rec_Add_Process_Element,
|
8339 |
|
|
(FA_Ary_Add_Process_Element): When Datum is an Any, we cannot infer the
|
8340 |
|
|
typecode from the Etype. Therefore we retrieve the correct typecode
|
8341 |
|
|
with a call to Get_Any_Type.
|
8342 |
|
|
(Copy_Specification): Do controlling formal type substitution based on
|
8343 |
|
|
Is_Controlling_Formal flag, instead of caller-provided object type.
|
8344 |
|
|
(Build_Subprogram_Calling_Stubs): When retrieveing the original spec for
|
8345 |
|
|
a RACW primitive operation, we might get a subprogram declaration for an
|
8346 |
|
|
ancestor of the RACW designated type (not for the designated type
|
8347 |
|
|
itself), in the case where this operation is inherited. In this case we
|
8348 |
|
|
have no easy means of determining the original tagged type for which
|
8349 |
|
|
the primitive was declared, so instead we now rely on
|
8350 |
|
|
Copy_Specification to use the Is_Controlling_Formal flag to determine
|
8351 |
|
|
which formals require type substitution.
|
8352 |
|
|
|
8353 |
|
|
2007-04-06 Robert Dewar
|
8354 |
|
|
Ed Schonberg
|
8355 |
|
|
|
8356 |
|
|
* exp_intr.adb (Expand_Exception_Call): Calls to subprograms in
|
8357 |
|
|
GNAT.Current_Exception are not allowed if pragma Restrictions
|
8358 |
|
|
(No_Exception_Propagation) is set and in any case make the associated
|
8359 |
|
|
handler unsuitable as a target for a local raise statement.
|
8360 |
|
|
(Expand_Dispatching_Constructor_Call): Replace generation of call to the
|
8361 |
|
|
run-time subprogram CW_Membership by call to Build_CW_Membership.
|
8362 |
|
|
(Expand_Dispatching_Constructor_Call): If the dispatching tag is given
|
8363 |
|
|
by a function call, a temporary must be created before expanding the
|
8364 |
|
|
Constructor_Call itself, to prevent out-of-order elaboration in the
|
8365 |
|
|
back-end when stack checking is enabled..
|
8366 |
|
|
|
8367 |
|
|
2007-04-06 Ed Schonberg
|
8368 |
|
|
|
8369 |
|
|
* exp_pakd.adb (Expand_Packed_Boolean_Operator): The bounds of the
|
8370 |
|
|
result are the bounds of the left operand, not the right.
|
8371 |
|
|
|
8372 |
|
|
2007-04-06 Ed Schonberg
|
8373 |
|
|
|
8374 |
|
|
* exp_strm.adb
|
8375 |
|
|
(Build_Mutable_Record_Write_Procedure): For an Unchecked_Union type, use
|
8376 |
|
|
discriminant defaults.
|
8377 |
|
|
(Build_Record_Or_Elementary_Output_Procedure): Ditto.
|
8378 |
|
|
(Make_Component_List_Attributes): Ditto.
|
8379 |
|
|
|
8380 |
|
|
2007-04-06 Ed Schonberg
|
8381 |
|
|
Bob Duff
|
8382 |
|
|
|
8383 |
|
|
* sem_aggr.adb (Resolve_Record_Aggregate): In semantics-only mode treat
|
8384 |
|
|
an association with a box as providing a value even though the
|
8385 |
|
|
initialization procedure for the type is not available.
|
8386 |
|
|
(Resolve_Record_Aggregate): Check that a choice of an association with a
|
8387 |
|
|
box corresponds to a component of the type.
|
8388 |
|
|
(Resolve_Record_Aggregate): Split Is_Abstract flag into
|
8389 |
|
|
Is_Abstract_Subprogram and Is_Abstract_Type.
|
8390 |
|
|
|
8391 |
|
|
* exp_tss.adb (Base_Init_Proc): Use Is_Type instead of Type_Kind for
|
8392 |
|
|
assert.
|
8393 |
|
|
|
8394 |
|
|
* inline.adb (Add_Inlined_Body): Split Is_Abstract flag into
|
8395 |
|
|
Is_Abstract_Subprogram and Is_Abstract_Type. Make sure these are
|
8396 |
|
|
called only when appropriate.
|
8397 |
|
|
|
8398 |
|
|
2007-04-06 Olivier Hainque
|
8399 |
|
|
|
8400 |
|
|
* g-alleve.ads (Low Level Vector type definitions): Map each to the
|
8401 |
|
|
associated vector view instead of all to the unsigned char view.
|
8402 |
|
|
|
8403 |
|
|
* g-altcon.adb (Generic_Conversions): New internal generic package,
|
8404 |
|
|
offering facilities for all the Vector/View conversion routines
|
8405 |
|
|
implemented by this unit.
|
8406 |
|
|
(To_View/To_Vector - all versions): Reimplemented in a systematic
|
8407 |
|
|
manner, using the internal Generic_Conversions facilities.
|
8408 |
|
|
|
8409 |
|
|
2007-04-06 Pascal Obry
|
8410 |
|
|
|
8411 |
|
|
* g-arrspl.adb (Free) [Element_Access]: New routine to free the source
|
8412 |
|
|
string.
|
8413 |
|
|
(Create): Free the source string before storing the new one.
|
8414 |
|
|
|
8415 |
|
|
2007-04-06 Vincent Celier
|
8416 |
|
|
|
8417 |
|
|
* g-debpoo.adb (Validity): New package with a complete new
|
8418 |
|
|
implementation of subprograms Is_Valid and Set_Valid.
|
8419 |
|
|
(Is_Valid): Move to local package Validity
|
8420 |
|
|
(Set_Valid): Move to local package Validity
|
8421 |
|
|
|
8422 |
|
|
2007-04-06 Arnaud Charlet
|
8423 |
|
|
Pablo Oliveira
|
8424 |
|
|
|
8425 |
|
|
* g-expect.adb (Get_Command_Output): When expanding the output buffer
|
8426 |
|
|
we must ensure that there is enough place for the new data we are going
|
8427 |
|
|
to copy in.
|
8428 |
|
|
|
8429 |
|
|
2007-04-06 Thomas Quinot
|
8430 |
|
|
|
8431 |
|
|
* g-md5.ads, g-md5.adb (Digest): Fix off-by-one error in padding
|
8432 |
|
|
computation.
|
8433 |
|
|
|
8434 |
|
|
2007-04-06 Jose Ruiz
|
8435 |
|
|
Vincent Celier
|
8436 |
|
|
|
8437 |
|
|
* gnatcmd.adb (B_Start): Add prefix of binder generated file.
|
8438 |
|
|
(Stack_String): Add this String that contains the name of the Stack
|
8439 |
|
|
package in the project file.
|
8440 |
|
|
(Packages_To_Check_By_Stack): Add this list that contains the packages
|
8441 |
|
|
to be checked by gnatstack, which are the naming and the stack packages.
|
8442 |
|
|
(Check_Files): If no .ci files were specified for gnatstack we add all
|
8443 |
|
|
the .ci files belonging to the projects, including binder generated
|
8444 |
|
|
files.
|
8445 |
|
|
(Non_VMS_Usage): Document that gnatstack accept project file switches.
|
8446 |
|
|
(GNATCmd): Update the B_Start variable if we are in a VMS environment.
|
8447 |
|
|
Add gnatstack to the list of commands that use project file related
|
8448 |
|
|
switches, and get the single attribute Switches from the stack package
|
8449 |
|
|
in a project file when calling gnatstack. Parse the -U flag for
|
8450 |
|
|
processing files belonging to all projects in the project tree.
|
8451 |
|
|
Remove all processing for command Setup
|
8452 |
|
|
|
8453 |
|
|
* prj-attr.adb: Add new package Stack with single attribute Switches
|
8454 |
|
|
|
8455 |
|
|
* vms_conv.ads (Command_Type): Add command Stack.
|
8456 |
|
|
Move to body declarations that are only used in the body: types Item_Id,
|
8457 |
|
|
Translation_Type, Item_Ptr, Item and its subtypes.
|
8458 |
|
|
|
8459 |
|
|
* vms_conv.adb: (Initialize): Add data for new command Stack.
|
8460 |
|
|
Add declarations moved from the spec: types Item_Id, Translation_Type,
|
8461 |
|
|
Item_Ptr, Item and its subtypes.
|
8462 |
|
|
(Cargs_Buffer): New table
|
8463 |
|
|
(Cargs): New Boolean global variable
|
8464 |
|
|
(Process_Buffer): New procedure to create arguments
|
8465 |
|
|
(Place): Put character in table Buffer or Cargs_Buffer depending on the
|
8466 |
|
|
value of Cargs.
|
8467 |
|
|
(Process_Argument): Set Cargs when processing qualifiers for GNAT
|
8468 |
|
|
COMPILE
|
8469 |
|
|
(VMS_Conversion): Call Process_Buffer for table Buffer and, if it is not
|
8470 |
|
|
empty, for table Cargs_Buffer.
|
8471 |
|
|
(Initialize): Remove component Setup in Command_List
|
8472 |
|
|
|
8473 |
|
|
2007-04-06 Vincent Celier
|
8474 |
|
|
|
8475 |
|
|
* gprep.adb (Process_Files.Process_One_File): Use full file name when
|
8476 |
|
|
issuing pragma Source_Reference.
|
8477 |
|
|
|
8478 |
|
|
2007-04-06 Emmanuel Briot
|
8479 |
|
|
|
8480 |
|
|
* g-regpat.adb (Parse_Posix_Character_Class): Fix handling of
|
8481 |
|
|
[[:xdigit:]] character class.
|
8482 |
|
|
Also raise an exception when an invalid character class is used.
|
8483 |
|
|
|
8484 |
|
|
2007-04-06 Pascal Obry
|
8485 |
|
|
|
8486 |
|
|
* i-cstrea.ads: (fopen): Add encoding parameter.
|
8487 |
|
|
(freopen): Idem.
|
8488 |
|
|
Change reference from a-sysdep.c to sysdep.c in comment.
|
8489 |
|
|
Update copyright notice.
|
8490 |
|
|
This set of patch add support for the encoding form parameter.
|
8491 |
|
|
|
8492 |
|
|
* mingw32.h (S2WSU): New macro to convert from a string to a
|
8493 |
|
|
wide-string using the UTF-8 encoding. The S2WS macro supports now only
|
8494 |
|
|
standard 8bits encoding.
|
8495 |
|
|
(WS2SU): As above but converting from wide-sring to string.
|
8496 |
|
|
This is needed as it is necessary to have access to both versions in the
|
8497 |
|
|
runtime for the form parameter encoding support.
|
8498 |
|
|
This set of patch add support for the encoding form parameter.
|
8499 |
|
|
(S2WS): Improve implementation to handle cases where the filename is not
|
8500 |
|
|
UTF-8 encoded. In this case we default to using the current code page
|
8501 |
|
|
for the conversion.
|
8502 |
|
|
|
8503 |
|
|
* s-crtl-vms64.ads, s-crtl.ads (Filename_Encoding): New enumeration
|
8504 |
|
|
type (UTF8, ASCII_8bits). This enumeration has a rep clause to match
|
8505 |
|
|
the constants defined in adaint.h.
|
8506 |
|
|
(fopen): Add encoding parameter.
|
8507 |
|
|
(freopen): Idem.
|
8508 |
|
|
|
8509 |
|
|
* s-ficobl.ads (AFCB): Add Encoding field to record the filename
|
8510 |
|
|
encoding. This is needed for the Reset routine (freopen low level-call).
|
8511 |
|
|
|
8512 |
|
|
* s-fileio.adb (Open): Decode encoding form parameter and set the
|
8513 |
|
|
corresponding encoding value into AFCB structure.
|
8514 |
|
|
(Reset): Pass the encoding value to freopen.
|
8515 |
|
|
(Close): Move the call to Lock_Task to the beginning of the procedure.
|
8516 |
|
|
|
8517 |
|
|
2007-04-06 Geert Bosch
|
8518 |
|
|
Robert Dewar
|
8519 |
|
|
|
8520 |
|
|
* i-fortra.ads: Add Double_Complex type.
|
8521 |
|
|
|
8522 |
|
|
* impunit.adb: (Is_Known_Unit): New function
|
8523 |
|
|
Add Gnat.Byte_Swapping
|
8524 |
|
|
Add GNAT.SHA1
|
8525 |
|
|
Add new Ada 2005 units
|
8526 |
|
|
Ada.Numerics.Generic_Complex_Arrays, Ada.Numerics.Generic_Real_Arrays,
|
8527 |
|
|
Ada.Numerics.Complex_Arrays, Ada.Numerics.Real_Arrays,
|
8528 |
|
|
Ada.Numerics.Long_Complex_Arrays, Ada.Numerics.Long_Long_Complex_Arrays,
|
8529 |
|
|
Ada.Numerics.Long_Long_Real_Arrays and Ada.Numerics.Long_Real_Arrays
|
8530 |
|
|
|
8531 |
|
|
* impunit.ads (Is_Known_Unit): New function
|
8532 |
|
|
|
8533 |
|
|
* a-ngcoar.adb, a-ngcoar.ads, a-ngrear.adb,
|
8534 |
|
|
a-ngrear.ads, a-nlcoar.ads, a-nllcar.ads, a-nllrar.ads, a-nlrear.ads,
|
8535 |
|
|
a-nucoar.ads, a-nurear.ads, g-bytswa.adb, g-bytswa-x86.adb,
|
8536 |
|
|
g-bytswa.ads, g-sha1.adb, g-sha1.ads, i-forbla.ads, i-forlap.ads,
|
8537 |
|
|
s-gearop.adb, s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb,
|
8538 |
|
|
s-gecola.ads, s-gerebl.adb, s-gerebl.ads, s-gerela.adb, s-gerela.ads:
|
8539 |
|
|
New files.
|
8540 |
|
|
|
8541 |
|
|
* Makefile.rtl: Add g-bytswa, g-sha1, a-fzteio and a-izteio
|
8542 |
|
|
|
8543 |
|
|
* a-fzteio.ads, a-izteio.ads: New Ada 2005 run-time units.
|
8544 |
|
|
|
8545 |
|
|
2007-04-06 Eric Botcazou
|
8546 |
|
|
Arnaud Charlet
|
8547 |
|
|
|
8548 |
|
|
* init.c: Reuse PA/HP-UX code for IA-64/HP-UX, except
|
8549 |
|
|
__gnat_adjust_context_for_raise.
|
8550 |
|
|
(__gnat_init_float): on x86 vxworks 5.x and 6.x, we use the same
|
8551 |
|
|
implementation of floating point operations as native x86 targets.
|
8552 |
|
|
So the FPU should be initialized in the same way using finit. Fix
|
8553 |
|
|
floating point operations accuracy issues.
|
8554 |
|
|
(__gnat_install_handler, case FreeBSD): Use proper type for sa_sigaction
|
8555 |
|
|
member in struct sigaction, so as to avoid warning for incompatible
|
8556 |
|
|
pointer types.
|
8557 |
|
|
|
8558 |
|
|
2007-04-06 Serguei Rybin
|
8559 |
|
|
|
8560 |
|
|
* lib.ads, lib.adb (Tree_Read): Release the memory occupied by the
|
8561 |
|
|
switches from previously loaded tree
|
8562 |
|
|
|
8563 |
|
|
2007-04-06 Thomas Quinot
|
8564 |
|
|
|
8565 |
|
|
* lib-writ.adb (Write_With_Lines): Factor duplicated code between the
|
8566 |
|
|
cases where a given dependency has a body or not.
|
8567 |
|
|
(Write_With_File_Names): New subprogram, common code for the two cases
|
8568 |
|
|
above.
|
8569 |
|
|
|
8570 |
|
|
2007-04-06 Ed Schonberg
|
8571 |
|
|
Javier Miranda
|
8572 |
|
|
|
8573 |
|
|
* lib-xref.ads, lib-xref.adb:
|
8574 |
|
|
Modify the loop that collects type references, to include interface
|
8575 |
|
|
types that the type implements. List each of these interfaces when
|
8576 |
|
|
building the entry for the type.
|
8577 |
|
|
(Generate_Definition): Initialize component Def and Typ of new entry
|
8578 |
|
|
in table Xrefs, to avoid to have these components unitialized.
|
8579 |
|
|
(Output_References): Split Is_Abstract flag into
|
8580 |
|
|
Is_Abstract_Subprogram and Is_Abstract_Type.
|
8581 |
|
|
(Generate_Reference): Add barrier to do not generate the warning
|
8582 |
|
|
associated with Ada 2005 entities with entities generated by the
|
8583 |
|
|
expander.
|
8584 |
|
|
|
8585 |
|
|
2007-04-06 Robert Dewar
|
8586 |
|
|
Arnaud Charlet
|
8587 |
|
|
Vincent Celier
|
8588 |
|
|
|
8589 |
|
|
* gnat_rm.texi, gnat_ugn.texi: Add -gnatyl documentation
|
8590 |
|
|
Update 'Exception Handling Control' chapter which was outdated.
|
8591 |
|
|
Minor fix to documentation of -gnatwq
|
8592 |
|
|
Remove section "Adapting the Run Time to a New C++ Compiler" because
|
8593 |
|
|
it is now obsolete.
|
8594 |
|
|
Add passage on need of -nostart-files in some non-ada-main cases.
|
8595 |
|
|
Document new switch -eS (/STANDARD_OUTPUT_FOR_COMMANDS) for gnatmake
|
8596 |
|
|
Update documentation about Interfacing with C++
|
8597 |
|
|
Add documentation for new gnatmake switch -p
|
8598 |
|
|
Add missing protocol part in URLs.
|
8599 |
|
|
Document -gnatyA
|
8600 |
|
|
Document pragma Compile_Time_Error
|
8601 |
|
|
Add documentation for Object_Size indicating that stand alone
|
8602 |
|
|
objects can have a larger size in some cases.
|
8603 |
|
|
Add node for GNAT.Byte_Swapping, GNAT.SHA1
|
8604 |
|
|
Update reference to the Ravenscar profile.
|
8605 |
|
|
Document pragma Unreferenced_Objects
|
8606 |
|
|
|
8607 |
|
|
* gnat-style.texi: Fix typo
|
8608 |
|
|
|
8609 |
|
|
2007-04-06 Vincent Celier
|
8610 |
|
|
|
8611 |
|
|
* mlib.adb (Building_Library): Only output "building a library..." in
|
8612 |
|
|
verbose mode
|
8613 |
|
|
|
8614 |
|
|
* mlib-prj.adb (Build_Library): Only output lists of object and ALI
|
8615 |
|
|
files in verbose mode.
|
8616 |
|
|
|
8617 |
|
|
* mlib-utl.adb (Ar): Only output the first object files when not in
|
8618 |
|
|
verbose mode.
|
8619 |
|
|
(Gcc): Do not display all the object files if not in verbose mode, only
|
8620 |
|
|
the first one.
|
8621 |
|
|
|
8622 |
|
|
2007-04-06 Robert Dewar
|
8623 |
|
|
|
8624 |
|
|
* namet.ads, namet.adb (wn): Improve this debugging routine. Calling
|
8625 |
|
|
it no longer destroys the contents of Name_Buffer or Name_Len and
|
8626 |
|
|
non-standard and invalid names are handled better.
|
8627 |
|
|
(Get_Decoded_Name_String): Improve performance by using
|
8628 |
|
|
Name_Has_No_Encodings flag in the name table.
|
8629 |
|
|
(Is_Valid_Name): New function to determine whether a Name_Id is valid.
|
8630 |
|
|
Used for debugging printouts.
|
8631 |
|
|
|
8632 |
|
|
2007-04-06 Robert Dewar
|
8633 |
|
|
Javier Miranda
|
8634 |
|
|
Bob Duff
|
8635 |
|
|
|
8636 |
|
|
* par-ch3.adb: (P_Type_Declaration): Set Type_Token_Location
|
8637 |
|
|
(P_Interface_Type_Definition): Remove the formal Is_Synchronized because
|
8638 |
|
|
there is no need to generate always a record_definition_node in case
|
8639 |
|
|
of synchronized interface types.
|
8640 |
|
|
(P_Type_Declaration): Update calls to P_Interface_Type_Definition.
|
8641 |
|
|
(P_Null_Exclusion): For AI-447: Remove warnings about "not null" being
|
8642 |
|
|
illegal in Ada 95, in cases where it is legal. Change the warnings to
|
8643 |
|
|
errors in other cases. Don't give the error unless the "not null"
|
8644 |
|
|
parses properly. Correct the source position at which the error occurs.
|
8645 |
|
|
(P_Known_Discriminant_Part_Opt): Pass Allow_Anonymous_In_95 => True to
|
8646 |
|
|
P_Null_Exclusion, to suppress "not null" warnings.
|
8647 |
|
|
(P_Identifier_Declarations): Code cleanup. Removed unrequired label and
|
8648 |
|
|
associated goto statements.
|
8649 |
|
|
|
8650 |
|
|
* par-endh.adb (Pop_End_Context): Allow more flexibility in placement
|
8651 |
|
|
of END RECORD
|
8652 |
|
|
|
8653 |
|
|
* scans.ads (Type_Token_Location): New flag
|
8654 |
|
|
|
8655 |
|
|
* par-ch6.adb (P_Mode): Check specifically for case of IN ACCESS
|
8656 |
|
|
(P_Formal_Part): Pass Allow_Anonymous_In_95 => True to
|
8657 |
|
|
P_Null_Exclusion, to suppress "not null" warnings.
|
8658 |
|
|
|
8659 |
|
|
2007-04-06 Robert Dewar
|
8660 |
|
|
Javier Miranda
|
8661 |
|
|
Bob Duff
|
8662 |
|
|
Vincent Celier
|
8663 |
|
|
|
8664 |
|
|
* par-prag.adb (Prag): Add dummy entry for pragma Compile_Time_Error
|
8665 |
|
|
(Extensions_Allowed): No longer sets Ada_Version
|
8666 |
|
|
Entry for pragma Unreferenced_Objects
|
8667 |
|
|
|
8668 |
|
|
* sem_prag.adb (Analyze_Pragma, case Priority): Force with of
|
8669 |
|
|
system.tasking if pragma priority used in a procedure
|
8670 |
|
|
(Analyze_Pragma, case Warning): Handle dot warning switches
|
8671 |
|
|
(Process_Compile_Time_Warning_Or_Error): New procedure
|
8672 |
|
|
(Analyze_Pragma): Add processing for Compile_Time_Error
|
8673 |
|
|
Add support for extra arguments External_Name and Link_Name.
|
8674 |
|
|
Remove code associated with pragmas CPP_Virtual and CPP_Vtable.
|
8675 |
|
|
(Process_Import_Or_Interface): Add support for the use of pragma Import
|
8676 |
|
|
with tagged types.
|
8677 |
|
|
(Extensions_Allowed): No longer affects Ada_Version
|
8678 |
|
|
(Analyze_Pragma): Split Is_Abstract flag into Is_Abstract_Subprogram and
|
8679 |
|
|
Is_Abstract_Type. Make sure these are called only when appropriate.
|
8680 |
|
|
Add processing for pragma Unreferenced_Objects
|
8681 |
|
|
|
8682 |
|
|
* snames.h, snames.ads, snames.adb: Add entry for pragma
|
8683 |
|
|
Compile_Time_Error
|
8684 |
|
|
Add new standard name Minimum_Binder_Options for new gprmake
|
8685 |
|
|
Add new standard names for gprmake: Archive_Suffix,
|
8686 |
|
|
Library_Auto_Init_Supported, Library_Major_Minor_Id_Supported,
|
8687 |
|
|
Library_Support, Library_Version_Options,
|
8688 |
|
|
Shared_Library_Minimum_Options,
|
8689 |
|
|
Shared_Library_Prefix, Shared_Library_Suffix, Symbolic_Link_Supported.
|
8690 |
|
|
Change Name_Call to Name_uCall so that it cannot clash with a legal
|
8691 |
|
|
subprogram name.
|
8692 |
|
|
Add new standard names Mapping_Spec_Suffix and Mapping_Body_Suffix
|
8693 |
|
|
Append C_Plus_Plus to convention identifiers as synonym for CPP
|
8694 |
|
|
Add new standard names Stack and Builder_Switches
|
8695 |
|
|
Add new standard names: Compiler_Minimum_Options, Global_Config_File,
|
8696 |
|
|
Library_Builder, Local_Config_File, Objects_Path, Objects_Path_File,
|
8697 |
|
|
Run_Path_Option, Toolchain_Version.
|
8698 |
|
|
Entry for pragma Unreferenced_Objects
|
8699 |
|
|
|
8700 |
|
|
* switch-c.adb (Scan_Front_End_Switches): Store correct -gnateD
|
8701 |
|
|
switches, without repetition of "eD". Make sure that last character of
|
8702 |
|
|
-gnatep= switch is not taken as -gnat switch character.
|
8703 |
|
|
Complete rewrite of circuit for handling saving compilation options
|
8704 |
|
|
Occasioned by need to support dot switchs for -gnatw, but cleans up
|
8705 |
|
|
things in general.
|
8706 |
|
|
-gnatX does not affect Ada_Version
|
8707 |
|
|
Include -gnatyA in -gnatg style switches
|
8708 |
|
|
|
8709 |
|
|
* sem_warn.ads, sem_warn.adb (Output_Unreferenced_Messages): Exclude
|
8710 |
|
|
warnings on return objects.
|
8711 |
|
|
(Warn_On_Useless_Assignment): Exclude warnings on return objects
|
8712 |
|
|
(Set_Dot_Warning_Switch): New procedure
|
8713 |
|
|
(Check_References): Add missing case of test for
|
8714 |
|
|
Has_Pragma_Unreferenced_Objects
|
8715 |
|
|
(Output_Unreferenced_Messages): Implement effect of new pragma
|
8716 |
|
|
Unreferenced_Objects, remove special casing of limited controlled
|
8717 |
|
|
variables.
|
8718 |
|
|
|
8719 |
|
|
2007-04-06 Vincent Celier
|
8720 |
|
|
|
8721 |
|
|
* prj-ext.adb (Initialize_Project_Path): New procedure that initialize
|
8722 |
|
|
the default project path, initially done during elaboration of the
|
8723 |
|
|
package.
|
8724 |
|
|
If the prefix returned by Sdefault is null, get the prefix from a call
|
8725 |
|
|
to Executable_Prefix_Path.
|
8726 |
|
|
(Project_Path): Call Initialize_Project_Path if Current_Project_Path is
|
8727 |
|
|
null.
|
8728 |
|
|
|
8729 |
|
|
* prj-nmsc.adb (Get_Path_Names_And_Record_Sources): Use the non
|
8730 |
|
|
canonical directory name to open the directory from which files are
|
8731 |
|
|
retrieved.
|
8732 |
|
|
(Record_Other_Sources): Idem.
|
8733 |
|
|
(Locate_Directory): Add the possibility to create automatically missing
|
8734 |
|
|
directories when Setup_Projects is True.
|
8735 |
|
|
Call Locate_Directory so that the directory will be created when
|
8736 |
|
|
Setup_Projects is True, for object dir, library dir, library ALI dir,
|
8737 |
|
|
library source copy dir and exec dir.
|
8738 |
|
|
|
8739 |
|
|
* prj-pp.adb (Max_Line_Length): Set to 255 for compatibility with older
|
8740 |
|
|
versions of GNAT.
|
8741 |
|
|
|
8742 |
|
|
2007-04-06 Robert Dewar
|
8743 |
|
|
|
8744 |
|
|
* sem_ch13.ads, sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order):
|
8745 |
|
|
Use First/Next_Component_Or_Discriminant
|
8746 |
|
|
(Analyze_Record_Representation_Clause):
|
8747 |
|
|
Use First/Next_Component_Or_Discriminant
|
8748 |
|
|
(Check_Component_Overlap): Use First/Next_Component_Or_Discriminant
|
8749 |
|
|
(Analyze_Attribute_Definition_Clause, case Value_Size): Reject
|
8750 |
|
|
definition if type is unconstrained.
|
8751 |
|
|
(Adjust_Record_For_Reverse_Bit_Order): New procedure
|
8752 |
|
|
(Analyze_Attribute_Definition_Clause): Split Is_Abstract flag into
|
8753 |
|
|
Is_Abstract_Subprogram and Is_Abstract_Type.
|
8754 |
|
|
(Adjust_Record_For_Reverse_Bit_Order): New procedure
|
8755 |
|
|
|
8756 |
|
|
* repinfo.adb (List_Record_Info): Use First/
|
8757 |
|
|
Next_Component_Or_Discriminant.
|
8758 |
|
|
|
8759 |
|
|
* style.ads, styleg-c.adb, styleg-c.ads (Check_Array_Attribute_Index):
|
8760 |
|
|
New procedure.
|
8761 |
|
|
|
8762 |
|
|
* stylesw.ads, stylesw.adb: Recognize new -gnatyA style switch
|
8763 |
|
|
Include -gnatyA in default switches
|
8764 |
|
|
|
8765 |
|
|
* opt.ads: (Warn_On_Non_Local_Exception): New flag
|
8766 |
|
|
(Warn_On_Reverse_Bit_Order): New flag
|
8767 |
|
|
(Extensions_Allowed): Update the documentation.
|
8768 |
|
|
(Warn_On_Questionable_Missing_Parens): Now on by default
|
8769 |
|
|
|
8770 |
|
|
* usage.adb: Add documentation of -gnatw.x/X switches
|
8771 |
|
|
Document new -gnatyA style switch
|
8772 |
|
|
-gnatq warnings are on by default
|
8773 |
|
|
|
8774 |
|
|
2007-04-06 Ed Falis
|
8775 |
|
|
|
8776 |
|
|
* s-carun8.adb, s-carsi8.adb (Compare_Array_?8): modify so that last
|
8777 |
|
|
full word is no longer compared twice.
|
8778 |
|
|
|
8779 |
|
|
2007-04-06 Ed Schonberg
|
8780 |
|
|
|
8781 |
|
|
* sem_ch10.adb (Install_Limited_Context_Clauses.
|
8782 |
|
|
Expand_Limited_With_Clause): Use a new copy of selector name in the
|
8783 |
|
|
call to Make_With_Clause. This fixes the tree structure for ASIS
|
8784 |
|
|
purposes. Nothing is changed in the compiler behaviour.
|
8785 |
|
|
(Process_Body_Clauses): Handle properly use clauses whose prefix is
|
8786 |
|
|
a package renaming.
|
8787 |
|
|
(Install_Limited_With_Clauses): Do not install non-limited view when it
|
8788 |
|
|
is still incomplete.
|
8789 |
|
|
|
8790 |
|
|
2007-04-06 Ed Schonberg
|
8791 |
|
|
Gary Dismukes
|
8792 |
|
|
|
8793 |
|
|
* sem_ch12.adb (Check_Generic_Actuals): Use first subtype of actual
|
8794 |
|
|
when capturing size information, instead of base type, which for a
|
8795 |
|
|
formal array type will be the unconstrained type.
|
8796 |
|
|
(Analyze_Formal_Object_Declaration): Add check for illegal default
|
8797 |
|
|
expressions for a formal in object of a limited type.
|
8798 |
|
|
(Instantiate_Object): Ditto.
|
8799 |
|
|
(Check_Formal_Package_Instance): Skip entities that are formal objects,
|
8800 |
|
|
because they were defaulted in the formal package and no check applies
|
8801 |
|
|
to them.
|
8802 |
|
|
(Check_Formal_Package_Instance): Extend conformance check to other
|
8803 |
|
|
discrete types beyond Integer.
|
8804 |
|
|
(Process_Default): Copy directly the unmatched formal. A generic copy
|
8805 |
|
|
has already been performed in Analyze_Formal_Package.
|
8806 |
|
|
(Analyze_Associations): If a formal subprogram has no match, check for
|
8807 |
|
|
partial parametrization before looking for a default, to prevent
|
8808 |
|
|
spurious errors.
|
8809 |
|
|
(Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation): Do
|
8810 |
|
|
not set the instantiation environment before analyzing the actuals.
|
8811 |
|
|
Fixes regression on 8515-003 with implementation of AI-133.
|
8812 |
|
|
Set_Instance_Env checks whether the generic unit is a predefined
|
8813 |
|
|
unit, in which case the instance must be analyzed with the latest Ada
|
8814 |
|
|
mode. This setting must take place after analysis of the actuals,
|
8815 |
|
|
because the actuals must be analyzed and frozen in the Ada mode extant
|
8816 |
|
|
outside of the current instantiation.
|
8817 |
|
|
(Save_Env, Restore_Env): Preserve and restore the configuration
|
8818 |
|
|
parameters so that predefined units can be compiled in the proper Ada
|
8819 |
|
|
mode.
|
8820 |
|
|
(Analyze_Formal_Object_Declaration,Analyze_Formal_Subprogram,
|
8821 |
|
|
Instantiate_Type): Split Is_Abstract flag into Is_Abstract_Subprogram
|
8822 |
|
|
and Is_Abstract_Type.
|
8823 |
|
|
(Analyze_Formal_Package): For better error recovery, Add exception
|
8824 |
|
|
handler to catch Instantion_Error, which can be raised in
|
8825 |
|
|
Analyze_Associations
|
8826 |
|
|
|
8827 |
|
|
2007-04-06 Ed Schonberg
|
8828 |
|
|
Bob Duff
|
8829 |
|
|
Gary Dismukes
|
8830 |
|
|
|
8831 |
|
|
* sem_ch4.adb (Try_Primitive_Operation): The call is legal if the
|
8832 |
|
|
prefix type is a discriminated subtype of the type of the formal.
|
8833 |
|
|
(Analyze_Allocator): Collect all coextensions regardless of the context.
|
8834 |
|
|
Whether they can be allocated statically is determined in exp_ch4.
|
8835 |
|
|
(Analyze_Selected_Component): If the prefix is a limited view and the
|
8836 |
|
|
non-limited view is available, use the non-limited one.
|
8837 |
|
|
(Operator_Check): For "X'Access = Y'Access" (which is ambiguous, and
|
8838 |
|
|
therefore illegal), suggest a qualified expression rather than a type
|
8839 |
|
|
conversion, because a type conversion would be illegal in this context.
|
8840 |
|
|
(Anayze_Allocator): Trace recursively all nested allocators so that all
|
8841 |
|
|
coextensions are on the corresponding list for the root. Do no mark
|
8842 |
|
|
coextensions if the root allocator is within a declaration for a stack-
|
8843 |
|
|
allocated object, because the access discriminants will be allocated on
|
8844 |
|
|
the stack as well.
|
8845 |
|
|
(Analyze_Call): Remove restriction on calls to limited functions for the
|
8846 |
|
|
cases of generic actuals for formal objects, defaults for formal objects
|
8847 |
|
|
and defaults for record components.
|
8848 |
|
|
(Analyze_Allocator): Before analysis, chain coextensions on the proper
|
8849 |
|
|
element list. Their expansion is delayed until the enclosing allocator
|
8850 |
|
|
is processed and its finalization list constructed.
|
8851 |
|
|
(Try_Primitive_Operation): If the prefix is a concurrent type, looks
|
8852 |
|
|
for an operation with the given name among the primitive operations of
|
8853 |
|
|
the corresponding record type.
|
8854 |
|
|
(Analyze_Selected_Component): If the prefix is a task type that
|
8855 |
|
|
implements an interface, and there is no entry with the given name,
|
8856 |
|
|
check whether there is another primitive operation (e.g. a function)
|
8857 |
|
|
with that name.
|
8858 |
|
|
(Try_Object_Operation, Analyze_One_Call, Try_Indexed_Call): Handle
|
8859 |
|
|
properly the indexing of a function call written in prefix form, where
|
8860 |
|
|
the function returns an array type, and all parameters of the function
|
8861 |
|
|
except the first have defaults.
|
8862 |
|
|
(Analyze_Equality_Op): If this is a call to an implicit inequality, keep
|
8863 |
|
|
the original operands, rather than relocating them, for efficiency and
|
8864 |
|
|
to work properly when an operand is overloaded.
|
8865 |
|
|
(Analyze_Allocator,Operator_Check,Remove_Abstract_Operations): Split
|
8866 |
|
|
Is_Abstract flag into Is_Abstract_Subprogram and Is_Abstract_Type.
|
8867 |
|
|
(Analyze_Selected_Component): If the prefix is a private extension, only
|
8868 |
|
|
scan the visible components, not those of the full view.
|
8869 |
|
|
(Try_Primitive_Operation): If the operation is a procedure, collect all
|
8870 |
|
|
possible interpretations, as for a function, because in the presence of
|
8871 |
|
|
classwide parameters several primitive operations of the type can match
|
8872 |
|
|
the given arguments.
|
8873 |
|
|
|
8874 |
|
|
2007-04-06 Ed Schonberg
|
8875 |
|
|
Robert Dewar
|
8876 |
|
|
|
8877 |
|
|
* sem_ch5.adb (Analyze_Assignment): Reject a right-hand side that is a
|
8878 |
|
|
tag-indeterminate call to an abstract function, when the left-hand side
|
8879 |
|
|
is not classwide.
|
8880 |
|
|
(Analyze_Loop_Statement): Improve detection of infinite loops
|
8881 |
|
|
|
8882 |
|
|
2007-04-06 Ed Schonberg
|
8883 |
|
|
Thomas Quinot
|
8884 |
|
|
|
8885 |
|
|
* sem_ch7.ads, sem_ch7.adb (Inspect_Deferred_Constant_Completion): Move
|
8886 |
|
|
out of Analyze_Package_Declaration, because processing must be applied
|
8887 |
|
|
to package bodies as well, for deferred constants completed by pragmas.
|
8888 |
|
|
(Analyze_Package_Declaration): When the package declaration being
|
8889 |
|
|
analyzed does not require an explicit body, call Check_Completion.
|
8890 |
|
|
(May_Need_Implicit_Body): An implicit body is required when a package
|
8891 |
|
|
spec contains the declaration of a remote access-to-classwide type.
|
8892 |
|
|
(Analyze_Package_Body): If the package contains RACWs, append the
|
8893 |
|
|
pending subprogram bodies generated by exp_dist at the end of the body.
|
8894 |
|
|
(New_Private_Type,Unit_Requires_Body): Split Is_Abstract flag into
|
8895 |
|
|
Is_Abstract_Subprogram and Is_Abstract_Type.
|
8896 |
|
|
(Preserve_Full_Attributes): The full entity list is not an attribute
|
8897 |
|
|
that must be preserved from full to partial view.
|
8898 |
|
|
|
8899 |
|
|
* sem_dist.adb (Add_RAS_Dereference_TSS):
|
8900 |
|
|
Change primitive name to _Call so it cannot clash with any legal
|
8901 |
|
|
identifier, and be special-cased in Check_Completion.
|
8902 |
|
|
Mark the full view of the designated type for the RACW associated with
|
8903 |
|
|
a RAS as Comes_From_Source to get proper view switching when installing
|
8904 |
|
|
private declarations.
|
8905 |
|
|
Provite a placeholder nested package body along with the nested spec
|
8906 |
|
|
to have a place for Append_RACW_Bodies to generate the calling stubs
|
8907 |
|
|
and stream attributes.
|
8908 |
|
|
|
8909 |
|
|
2007-04-06 Ed Schonberg
|
8910 |
|
|
Robert Dewar
|
8911 |
|
|
|
8912 |
|
|
* sem_ch8.adb (Has_Components): If the argument is an incomplete type
|
8913 |
|
|
that is a limited view, check the non-limited view if available.
|
8914 |
|
|
(Undefined): Refine error message for missing with of Text_IO
|
8915 |
|
|
(Find_Expanded_Name): Use Is_Known_Unit for more accurate error message
|
8916 |
|
|
to distinguish real missing with cases.
|
8917 |
|
|
Fix format of all missing with messages
|
8918 |
|
|
(Analyze_Subprogram_Renaming): Emit proper error message on illegal
|
8919 |
|
|
renaming as body when renamed entity is abstract.
|
8920 |
|
|
|
8921 |
|
|
2007-04-06 Ed Schonberg
|
8922 |
|
|
Javier Miranda
|
8923 |
|
|
|
8924 |
|
|
* sem_type.ads, sem_type.adb (Has_Abstract_Interpretation): Make
|
8925 |
|
|
predicate recursive, to handle complex expressions on literals whose
|
8926 |
|
|
spurious ambiguity comes from the abstract interpretation of some
|
8927 |
|
|
subexpression.
|
8928 |
|
|
(Interface_Present_In_Ancestor): Add support to concurrent record
|
8929 |
|
|
types.
|
8930 |
|
|
(Add_One_Interp,Disambiguate): Split Is_Abstract flag into
|
8931 |
|
|
Is_Abstract_Subprogram and Is_Abstract_Type.
|
8932 |
|
|
|
8933 |
|
|
2007-04-06 Ed Schonberg
|
8934 |
|
|
Javier Miranda
|
8935 |
|
|
|
8936 |
|
|
* sem_util.ads, sem_util.adb (Object_Access_Level): If the object is a
|
8937 |
|
|
dereference of a local object R created as a reference to another
|
8938 |
|
|
object O, use the access level of O.
|
8939 |
|
|
(Matches_Prefixed_View_Profile): Use common predicate Conforming_Types,
|
8940 |
|
|
rather than local Same_Formal_Type, to check whether protected operation
|
8941 |
|
|
overrides an inherited one.
|
8942 |
|
|
(Same_Formal_Type): New predicate, used when matching signatures of
|
8943 |
|
|
overriding synchronized operations, to handle the case when a formal
|
8944 |
|
|
has a type that is a generic actual.
|
8945 |
|
|
(Is_Aliased_View): Replace check on E_Task_Type and E_Protected_Type by
|
8946 |
|
|
predicate Is_Concurrent_Type. This ensures supportin case of subtypes.
|
8947 |
|
|
(Needs_One_Actual): New predicate, for Ada 2005 use, to resolve
|
8948 |
|
|
syntactic ambiguities involving indexing of function calls that return
|
8949 |
|
|
arrays.
|
8950 |
|
|
(Abstract_Interface_List): New subprogram that returns the list of
|
8951 |
|
|
abstract interfaces associated with a concurrent type or a
|
8952 |
|
|
concurrent record type.
|
8953 |
|
|
(Interface_Present_In_Parent): New subprogram used to check if a
|
8954 |
|
|
given type or some of its parents implement a given interface.
|
8955 |
|
|
(Collect_Abstract_Interfaces): Add support for concurrent types
|
8956 |
|
|
with interface types.
|
8957 |
|
|
(Has_Abstract_Interfaces): Add support for concurrent types with
|
8958 |
|
|
interface types.
|
8959 |
|
|
(Is_Parent): New subprogram that determines whether E1 is a parent
|
8960 |
|
|
of E2. For a concurrent type its parent is the first element of its
|
8961 |
|
|
list of interface types; for other types this function provides the
|
8962 |
|
|
same result than Is_Ancestor.
|
8963 |
|
|
(Enclosing_Subprogram): Add test for N_Extended_Return_Statement.
|
8964 |
|
|
(Collect_Synchronized_Interfaces): Removed because the subprogram
|
8965 |
|
|
Collect_Abstract_Interfaces provides this functionality.
|
8966 |
|
|
(Collect_Abstract_Interfaces): Minor update to give support to
|
8967 |
|
|
concurrent types and thus avoid undesired code duplication.
|
8968 |
|
|
(Get_Subprogram_Entity): Handle entry calls.
|
8969 |
|
|
(May_Be_Lvalue): Include actuals that appear as in-out parameters in
|
8970 |
|
|
entry calls.
|
8971 |
|
|
(Enter_Name): Do not give -gnatwh hiding warning for record component
|
8972 |
|
|
entities, they never result in hiding.
|
8973 |
|
|
|
8974 |
|
|
2007-04-06 Ed Schonberg
|
8975 |
|
|
Robert Dewar
|
8976 |
|
|
|
8977 |
|
|
* sinfo.ads, sinfo.adb (Coextensions): New element list for allocators,
|
8978 |
|
|
to chain nested components that are allocators for access discriminants
|
8979 |
|
|
of the enclosing object.
|
8980 |
|
|
Add N_Push and N_Pop nodes
|
8981 |
|
|
New field Exception_Label added
|
8982 |
|
|
(Local_Raise_Statements): New field in N_Exception_Handler_Node
|
8983 |
|
|
(Local_Raise_Not_OK): New flag in N_Exception_Handler_Node
|
8984 |
|
|
(Is_Coextension): New flag for allocators, to mark allocators that
|
8985 |
|
|
correspond to access discriminants of dynamically allocated objects.
|
8986 |
|
|
(N_Block_Statement): Document the fact that the corresponding entity
|
8987 |
|
|
can be an E_Return_Statement.
|
8988 |
|
|
(Is_Coextension): New flag for allocators.
|
8989 |
|
|
Remove all code for DSP option
|
8990 |
|
|
|
8991 |
|
|
* sprint.ads, sprint.adb: Display basic information for class_wide
|
8992 |
|
|
subtypes. Add handling of N_Push and N_Pop nodes
|
8993 |
|
|
|
8994 |
|
|
2007-04-06 Arnaud Charlet
|
8995 |
|
|
|
8996 |
|
|
* s-tpobop.adb (Exceptional_Complete_Entry_Body): Undefer abortion
|
8997 |
|
|
before propagating exception.
|
8998 |
|
|
|
8999 |
|
|
2007-04-06 Olivier Hainque
|
9000 |
|
|
|
9001 |
|
|
* tracebak.c (PC_ADJUST - ia64): -4 instead of -16, expected to yield
|
9002 |
|
|
an address always within the call instruction from a return address.
|
9003 |
|
|
|
9004 |
|
|
2007-04-06 Olivier Hainque
|
9005 |
|
|
Eric Botcazou
|
9006 |
|
|
|
9007 |
|
|
* trans.c (call_to_gnu) : Return an
|
9008 |
|
|
expression with a COMPOUND_EXPR including the call instead of emitting
|
9009 |
|
|
the call directly here.
|
9010 |
|
|
(gnat_to_gnu) : Do not return a non-constant low bound if the
|
9011 |
|
|
high bound is constant and the slice is empty. Tidy.
|
9012 |
|
|
(tree_transform, case N_Op_Not): Handle properly the case where the
|
9013 |
|
|
operation applies to a private type whose full view is a modular type.
|
9014 |
|
|
(Case_Statement_To_gnu): If an alternative is an E_Constant with an
|
9015 |
|
|
Address_Clause, use the associated Expression as the GNAT tree
|
9016 |
|
|
representing the choice value to ensure the corresponding GCC tree is
|
9017 |
|
|
of the proper kind.
|
9018 |
|
|
(maybe_stabilize_reference): Stabilize COMPOUND_EXPRs as a whole
|
9019 |
|
|
instead of just the operands, as the base GCC stabilize_reference does.
|
9020 |
|
|
: New case. Directly stabilize the call if an lvalue is not
|
9021 |
|
|
requested; otherwise fail.
|
9022 |
|
|
(addressable_p) : Do not test DECL_NONADDRESSABLE_P.
|
9023 |
|
|
|
9024 |
|
|
2007-04-06 Thomas Quinot
|
9025 |
|
|
|
9026 |
|
|
* uintp.ads, uintp.adb (UI_Div_Rem): New subprogram, extending previous
|
9027 |
|
|
implementation of UI_Div.
|
9028 |
|
|
(UI_Div): Reimplement as a call to UI_Div_Rem.
|
9029 |
|
|
(UI_Rem): Take advantage of the fact that UI_Div_Rem provides the
|
9030 |
|
|
remainder, avoiding the cost of a multiplication and a subtraction.
|
9031 |
|
|
(UI_Modular_Inverse): Take advantage of the fact that UI_Div_Rem
|
9032 |
|
|
provides both quotient and remainder in a single computation.
|
9033 |
|
|
(UI_Modular_Exponentiation, UI_Modular_Inverse): New modular arithmetic
|
9034 |
|
|
functions for uint.
|
9035 |
|
|
(UI_Modular_Inverse): Add a note that the behaviour of this subprogram
|
9036 |
|
|
is undefined if the given n is not inversible.
|
9037 |
|
|
|
9038 |
|
|
2007-04-06 Olivier Hainque
|
9039 |
|
|
|
9040 |
|
|
* utils2.c (known_alignment): Handle COMPOUND_EXPR, COND_EXPR and
|
9041 |
|
|
BIT_AND_EXPR. Handle also VIEW_CONVERT_EXPR, as the other conversion
|
9042 |
|
|
opcodes.
|
9043 |
|
|
|
9044 |
|
|
2007-04-06 Eric Botcazou
|
9045 |
|
|
Olivier Hainque
|
9046 |
|
|
|
9047 |
|
|
* utils.c (update_pointer_to): Make a copy of the couple of FIELD_DECLs
|
9048 |
|
|
when updating the contents of the old pointer to an unconstrained array.
|
9049 |
|
|
(end_subprog_body): Set error_gnat_node to Empty.
|
9050 |
|
|
(write_record_type_debug_info): Do not be unduly sparing with our bytes.
|
9051 |
|
|
(unchecked_convert): For subtype to base type conversions, require that
|
9052 |
|
|
the source be a subtype if it is an integer type.
|
9053 |
|
|
(builtin_decls): New global, vector of available builtin functions.
|
9054 |
|
|
(gnat_pushdecl): Add global builtin function declaration nodes to the
|
9055 |
|
|
builtin_decls list.
|
9056 |
|
|
(gnat_install_builtins): Adjust comments.
|
9057 |
|
|
(builtin_function): Set DECL_BUILTIN_CLASS and DECL_FUNCTION_CODE before
|
9058 |
|
|
calling gnat_pushdecl, so that it knows when it handed a builtin
|
9059 |
|
|
function declaration node.
|
9060 |
|
|
(builtin_decl_for): Search the builtin_decls list.
|
9061 |
|
|
|
9062 |
|
|
2007-04-06 Eric Botcazou
|
9063 |
|
|
|
9064 |
|
|
* s-stchop-vxworks.adb:
|
9065 |
|
|
(Stack_Check): Raise Storage_Error if the argument has wrapped around.
|
9066 |
|
|
|
9067 |
|
|
2007-04-06 Robert Dewar
|
9068 |
|
|
Arnaud Charlet
|
9069 |
|
|
|
9070 |
|
|
* a-diroro.ads: Inserted the pragma Unimplemented_Unit
|
9071 |
|
|
|
9072 |
|
|
* bindgen.adb (Gen_Output_File_Ada): Generate pragma Ada_95 at start
|
9073 |
|
|
of files
|
9074 |
|
|
Add mention of -Sev (set initialize_scalars option from environment
|
9075 |
|
|
variable at run time) in gnatbind usage message.
|
9076 |
|
|
|
9077 |
|
|
* elists.ads, elists.adb: (Append_Unique_Elmt): New procedure
|
9078 |
|
|
|
9079 |
|
|
* fname-uf.ads: Minor comment fix
|
9080 |
|
|
|
9081 |
|
|
* osint.ads: Change pragma Elaborate to Elaborate_All
|
9082 |
|
|
|
9083 |
|
|
* par-load.adb: Add documentation.
|
9084 |
|
|
|
9085 |
|
|
* sem_cat.ads, sem_cat.adb: Minor code reorganization
|
9086 |
|
|
|
9087 |
|
|
* s-parint.ads (RCI_Locator) : Add 'Version' generic formal
|
9088 |
|
|
|
9089 |
|
|
* s-secsta.ads: Extra comments
|
9090 |
|
|
|
9091 |
|
|
* s-soflin.ads: Minor comment fixes
|
9092 |
|
|
|
9093 |
|
|
* s-stratt.ads (Block_Stream_Ops_OK): Removed.
|
9094 |
|
|
|
9095 |
|
|
* s-wchcon.ads: Minor comment addition
|
9096 |
|
|
|
9097 |
|
|
* treepr.adb: Minor change in message
|
9098 |
|
|
(Print_Name,Print_Node): Make these debug printouts more robust: print
|
9099 |
|
|
"no such..." instead of crashing on bad input.
|
9100 |
|
|
|
9101 |
|
|
2007-03-30 Rafael Ávila de Espíndola
|
9102 |
|
|
|
9103 |
|
|
* trans.c (Attribute_to_gnu): Use get_signed_or_unsigned_type
|
9104 |
|
|
instead of gnat_signed_or_unsigned_type.
|
9105 |
|
|
* utils.c (gnat_signed_or_unsigned_type): Remove.
|
9106 |
|
|
* misc.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove
|
9107 |
|
|
* gigi.h (gnat_signed_or_unsigned_type): Remove
|
9108 |
|
|
|
9109 |
|
|
2007-03-09 Roger Sayle
|
9110 |
|
|
|
9111 |
|
|
* cuintp.c (UI_To_gnu): Use fold_buildN calls instead of calling
|
9112 |
|
|
fold with the result of buildN.
|
9113 |
|
|
* decl.c (gnat_to_gnu_entity): Likewise.
|
9114 |
|
|
* trans.c (Attribute_to_gnu, gnat_to_gnu, emit_check): Likewise.
|
9115 |
|
|
* utils.c (finish_record_type, merge_sizes, max_size, convert):
|
9116 |
|
|
Likewise.
|
9117 |
|
|
* utils2.c (gnat_truthvalue_conversion, compare_arrays,
|
9118 |
|
|
nonbinary_modular_operation, build_binary_op, build_unary_op,
|
9119 |
|
|
build_cond_expr): Likewise.
|
9120 |
|
|
|
9121 |
|
|
* utils.c (convert): Use fold_build1 when casting values to void.
|
9122 |
|
|
* utils2.c (gnat_truthvalue_conversion): Use build_int_cst and
|
9123 |
|
|
fold_convert instead of convert when appropriate.
|
9124 |
|
|
|
9125 |
|
|
2007-03-01 Brooks Moses
|
9126 |
|
|
|
9127 |
|
|
* Make-lang.in: Add install-pdf target as copied from
|
9128 |
|
|
automake v1.10 rules.
|
9129 |
|
|
|
9130 |
|
|
2007-02-28 Andreas Schwab
|
9131 |
|
|
|
9132 |
|
|
* Make-lang.in (doc/gnat_ugn_unw.texi): Depend on
|
9133 |
|
|
$(gcc_docdir)/include/gcc-common.texi and gcc-vers.texi.
|
9134 |
|
|
(doc/gnat-style.info): Likewise.
|
9135 |
|
|
|
9136 |
|
|
2007-02-26 Brooks Moses
|
9137 |
|
|
|
9138 |
|
|
* gnat-style.texi: Standardize title page.
|
9139 |
|
|
* gnat_rm.texi: Likewise.
|
9140 |
|
|
* gnat_ugn.texi: Likewise.
|
9141 |
|
|
|
9142 |
|
|
2007-02-25 Mark Mitchell
|
9143 |
|
|
|
9144 |
|
|
* decl.c (annotate_value): Adjust for refactoring of tree_map
|
9145 |
|
|
hierarchy.
|
9146 |
|
|
|
9147 |
|
|
2007-02-24 Mark Mitchell
|
9148 |
|
|
|
9149 |
|
|
* decl.c (annotate_value): Adjust for refactoring of tree_map
|
9150 |
|
|
hierarchy.
|
9151 |
|
|
|
9152 |
|
|
2007-02-21 Ed Schonberg
|
9153 |
|
|
|
9154 |
|
|
PR ada/18819
|
9155 |
|
|
* sem_ch3.adb (Create_Constrained_Components): for a subtype of an
|
9156 |
|
|
untagged derived type, add hidden components to keep discriminant
|
9157 |
|
|
layout consistent, when a given discriminant of the derived type
|
9158 |
|
|
constraints several discriminants of the parent type.
|
9159 |
|
|
|
9160 |
|
|
2007-02-16 Eric Botcazou
|
9161 |
|
|
Sandra Loosemore
|
9162 |
|
|
|
9163 |
|
|
* trans.c (call_to_gnu): Use build_call_list instead of build3 to
|
9164 |
|
|
build the call expression.
|
9165 |
|
|
(gnat_stabilize_reference_1): Handle tcc_vl_exp.
|
9166 |
|
|
* utils.c (max_size) : Delete.
|
9167 |
|
|
: New case.
|
9168 |
|
|
: Delete CALL_EXPR subcase.
|
9169 |
|
|
(build_global_cdtor): Use build_call_nary instead of build3.
|
9170 |
|
|
* utils2.c (build_call_1_expr): Likewise.
|
9171 |
|
|
(build_call_2_expr): Likewise.
|
9172 |
|
|
(build_call_0_expr): Likewise.
|
9173 |
|
|
(build_call_alloc_dealloc): Likewise.
|
9174 |
|
|
|
9175 |
|
|
2007-02-07 Andreas Krebbel
|
9176 |
|
|
|
9177 |
|
|
* raise-gcc.c (get_region_description_for, get_call_site_action_for,
|
9178 |
|
|
get_action_description_for): Replace _Unwind_Word with _uleb128_t
|
9179 |
|
|
and _Unwind_SWord with _sleb128_t.
|
9180 |
|
|
|
9181 |
|
|
2007-02-06 Paolo Bonzini
|
9182 |
|
|
|
9183 |
|
|
* Make-lang.in (ada/decl.o): Add gt-ada-decl.h dependency.
|
9184 |
|
|
* decl.c: Include gt-ada-decl.h.
|
9185 |
|
|
(annotate_value_cache): New.
|
9186 |
|
|
(annotate_value): Use it instead of TREE_COMPLEXITY.
|
9187 |
|
|
|
9188 |
|
|
2007-02-03 Kazu Hirata
|
9189 |
|
|
|
9190 |
|
|
* misc.c, utils2.c: Fix comment typos.
|
9191 |
|
|
|
9192 |
|
|
2007-01-24 Roger Sayle
|
9193 |
|
|
|
9194 |
|
|
* decl.c (gnat_to_gnu_entity): Use TREE_OVERFLOW instead of
|
9195 |
|
|
TREE_CONSTANT_OVERFLOW.
|
9196 |
|
|
(allocatable_size_p, annotate_value): Likewise.
|
9197 |
|
|
* trans.c (gnat_to_gnu): Likewise.
|
9198 |
|
|
* utils.c (unchecked_convert): Likewise.
|
9199 |
|
|
* utils2.c (build_simple_component_ref): Likewise.
|
9200 |
|
|
|
9201 |
|
|
2007-01-23 Richard Guenther
|
9202 |
|
|
|
9203 |
|
|
PR bootstrap/30541
|
9204 |
|
|
* Make-lang.in: Replace invocations of gnatmake with $(GNATMAKE).
|
9205 |
|
|
(gnatboot2): Pass staged GNATMAKE instead of STAGE_PREFIX.
|
9206 |
|
|
(gnatboot3): Likewise.
|
9207 |
|
|
(GNATBIND): Do not define.
|
9208 |
|
|
* Makefile.in (GNATBIND): Do not define.
|
9209 |
|
|
|
9210 |
|
|
2007-01-08 Richard Guenther
|
9211 |
|
|
|
9212 |
|
|
* cuintp.c (build_cst_from_int): Use built_int_cst_type.
|
9213 |
|
|
* trans.c (gnat_to_gnu): Likewise.
|
9214 |
|
|
|
9215 |
|
|
|
9216 |
|
|
|
9217 |
|
|
Copyright (C) 2007 Free Software Foundation, Inc.
|
9218 |
|
|
|
9219 |
|
|
Copying and distribution of this file, with or without modification,
|
9220 |
|
|
are permitted in any medium without royalty provided the copyright
|
9221 |
|
|
notice and this notice are preserved.
|