OSDN Git Service

bc5002581c31472dc5e693c282e450ec4442ecb3
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2
3         * sinfo.ads, sinfo.adb (Inherited_Discriminant): New flag on
4         N_Component_Association nodes, to indicate that a component association
5         of an extension aggregate denotes the value of a discriminant of an
6         ancestor type that has been constrained by the derivation.
7         * sem_aggr.adb (Discr_Present): use Inherited_Discriminant to prevent a
8         double expansion of the aggregate appearing in a context that delays
9         expansion, to prevent double insertion of discriminant values when the
10         aggregate is reanalyzed.
11
12 2010-06-17  Arnaud Charlet  <charlet@adacore.com>
13
14         * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Do not use
15         Allocator as the Related_Node of Return_Obj_Access in call to
16         Make_Temporary below as this would create a sort of infinite
17         "recursion".
18
19 2010-06-17  Ben Brosgol  <brosgol@adacore.com>
20
21         * gnat_ugn.texi: Update gnatcheck doc.
22
23 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
24
25         * sem_ch3.adb (Build_Incomplete_Type_Declaration): If there is an
26         incomplete view of the type that is not tagged, and the full type is a
27         tagged extension, create class_wide type now, and warn that the
28         incomplete view should be tagged as well.
29
30 2010-06-17  Vincent Celier  <celier@adacore.com>
31
32         * gnatcmd.adb (Non_VMS_Usage): Do not issue usage for gnat sync.
33         Update the last line of the usage, indicating what commands do not
34         accept project file switches.
35         * vms_conv.adb: Do not issue usage line for GNAT SYNC
36         * vms_data.ads: Fix errors in the qualifiers /LOGFILE and /MAIN of
37         GNAT ELIM.
38         * gnat_ugn.texi: Document the relaxed rules for library directories in
39         externally built library projects.
40
41 2010-06-17  Doug Rupp  <rupp@adacore.com>
42
43         * s-auxdec-vms_64.ads: Make boolean and arithmetic operations intrinsic
44         where possible.
45         * s-auxdec-vms-alpha.adb: Remove kludges for aforemention.
46         * gcc-interface/Makefile.in: Update VMS target pairs.
47
48 2010-06-17  Vasiliy Fofanov  <fofanov@adacore.com>
49
50         * adaint.c: Reorganized in order to avoid use of GetProcessId to stay
51         compatible with Windows NT 4.0 which doesn't provide this function.
52
53 2010-06-17  Vincent Celier  <celier@adacore.com>
54
55         * ali-util.adb (Time_Stamp_Mismatch): In Verbose mode, if there is
56         different timestamps but the checksum is the same, issue a short
57         message saying so.
58
59 2010-06-17  Arnaud Charlet  <charlet@adacore.com>
60
61         * s-interr.adb (Finalize): If the Abort_Task signal is set to system,
62         it means that we cannot reset interrupt handlers since this would
63         require potentially sending the abort signal to the Server_Task.
64
65 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
66
67         * exp_ch4.adb: expand NOT for VMS types.
68         * sem_util.adb: Use OpenVMS_On_Target for IS_VMS_Operator.
69
70 2010-06-17  Sergey Rybin  <rybin@adacore.com>
71
72         * vms_data.ads: Add qualifier for '--no-elim-dispatch' gnatelim option.
73         * gnat_ugn.texi (gnatelim): add description for --no-elim-dispatch
74         option.
75
76 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
77
78         * exp_ch6.adb (Expand_Call): Do not expand a call to an internal
79         protected operation if the subprogram has been eliminated.
80
81 2010-06-17  Vincent Celier  <celier@adacore.com>
82
83         * prj-nmsc.adb (Check_Library_Attributes): Allow the different
84         directories associated with a library to be any directory when the
85         library project is externally built.
86
87 2010-06-17  Vincent Celier  <celier@adacore.com>
88
89         * make.adb (Check): If switch -m is used, deallocate the memory that
90         may be allocated when computing the checksum.
91
92 2010-06-17  Eric Botcazou  <ebotcazou@adacore.com>
93
94         * g-socthi-mingw.adb (C_Recvmsg): Add 'use type' clause for C.size_t;
95         (C_Sendmsg): Likewise.
96
97 2010-06-17  Thomas Quinot  <quinot@adacore.com>
98
99         * sem_res.adb: Update comments.
100
101 2010-06-17  Vincent Celier  <celier@adacore.com>
102
103         * back_end.adb (Scan_Compiler_Arguments): Process last argument
104
105 2010-06-17  Robert Dewar  <dewar@adacore.com>
106
107         * exp_ch3.adb, exp_ch6.adb, exp_smem.adb, exp_util.adb: Use Ekind_In.
108         * layout.adb, freeze.adb: Use Make_Temporary.
109
110 2010-06-17  Jerome Lambourg  <lambourg@adacore.com>
111
112         * exp_ch11.adb (Expand_N_Raise_Statement): Expand raise statements in
113         .NET/JVM normally as this is now perfectly supported by the backend.
114
115 2010-06-17  Pascal Obry  <obry@adacore.com>
116
117         * gnat_rm.texi: Fix minor typo, remove duplicate blank lines.
118
119 2010-06-17  Vincent Celier  <celier@adacore.com>
120
121         * make.adb (Collect_Arguments_And_Compile): Create include path file
122         only when -x is specified.
123         (Gnatmake): Ditto
124         * opt.ads (Use_Include_Path_File): New Boolean flag, initialized to
125         False.
126         * prj-env.adb (Set_Ada_Paths): New Boolean parameters Include_Path and
127         Objects_Path, defaulted to True. Only create include path file if
128         Include_Path is True, only create objects path file if Objects_Path is
129         True.
130         * prj-env.ads (Set_Ada_Paths): New Boolean parameters Include_Path and
131         Objects_Path, defaulted to True.
132         * switch-m.adb (Scan_Make_Switches): Set Use_Include_Path_File to True
133         when -x is used.
134
135 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
136
137         * exp_disp.adb (Build_Interface_Thunk): Use base type of formal to
138         determine whether it has the controlling type, when the formal is an
139         access parameter.
140
141 2010-06-17  Eric Botcazou  <ebotcazou@adacore.com>
142
143         * s-crtl.ads (ssize_t): New type.
144         (read): Fix signature.
145         (write): Likewise.
146         * g-socthi.ads: Add 'with System.CRTL' clause.  Remove ssize_t and
147         'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
148         (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
149         (C_Sendmsg): Likewise.
150         * g-socthi.adb (Syscall_Recvmsg): Likewise.
151         (Syscall_Sendmsg): Likewise.
152         (C_Recvmsg): Likewise.
153         (C_Sendmsg): Likewise.
154         * g-socthi-mingw.ads: Add 'with System.CRTL' clause.  Remove ssize_t
155         and 'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
156         (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
157         (C_Sendmsg): Likewise.
158         * g-socthi-mingw.adb (C_Recvmsg): Likewise.
159         (C_Sendmsg): Likewise.
160         * g-socthi-vms.ads: Add 'with System.CRTL' clause.  Remove ssize_t and
161         'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
162         (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
163         (C_Sendmsg): Likewise.
164         * g-socthi-vms.adb (C_Recvmsg): Likewise.
165         (C_Sendmsg): Likewise.
166         * g-socthi-vxworks.ads Add 'with System.CRTL' clause.  Remove ssize_t
167         and 'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
168         (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
169         (C_Sendmsg): Likewise.
170         * g-socthi-vxworks.adb (C_Recvmsg): Likewise.
171         (C_Sendmsg): Likewise.
172         * g-sercom-linux.adb (Read): Use correct types to call 'read'.
173         (Write): Likewise to call 'write'.
174         * s-os_lib.adb (Read): Use correct type to call System.CRTL.read.
175         (Write): Use correct type to call System.CRTL.write.
176         * s-tasdeb.adb (Write): Likewise.
177
178 2010-06-17  Vincent Celier  <celier@adacore.com>
179
180         * prj-proc.adb (Copy_Package_Declarations): Change argument name
181         Naming_Restricted to Restricted. If Restricted is True, do not copy the
182         value of attribute Linker_Options.
183
184 2010-06-17  Eric Botcazou  <ebotcazou@adacore.com>
185
186         * gcc-interface/trans.c (push_stack, pop_stack): Delete.
187         (Case_Statement_to_gnu): Adjust.
188         (Loop_Statement_to_gnu): Likewise.
189         (Subprogram_Body_to_gnu): Likewise.
190         (Handled_Sequence_Of_Statements_to_gnu): Likewise.
191         (Compilation_Unit_to_gnu): Likewise.
192
193 2010-06-17  Robert Dewar  <dewar@adacore.com>
194
195         * exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb, exp_prag.adb,
196         exp_sel.adb, exp_util.adb, sem_ch10.adb, sem_ch12.adb, sem_ch13.adb,
197         sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch8.adb, sem_ch9.adb,
198         sem_dist.adb, sem_util.adb: Use Make_Temporary
199         * itypes.ads, tbuild.ads: Minor comment update
200         * exp_ch9.adb, exp_dist.adb: Minor reformatting
201
202 2010-06-17  Thomas Quinot  <quinot@adacore.com>
203
204         * exp_imgv.adb, exp_ch7.ads: Minor reformatting.
205
206 2010-06-17  Robert Dewar  <dewar@adacore.com>
207
208         * exp_ch9.adb, exp_disp.adb, exp_dist.adb: Use Make_Temporary.
209
210 2010-06-17  Thomas Quinot  <quinot@adacore.com>
211
212         * sprint.adb (pg): Set Dump_Freeze_Null, to be consistent with -gnatdg.
213
214 2010-06-17  Robert Dewar  <dewar@adacore.com>
215
216         * exp_ch6.adb, exp_ch7.adb, exp_ch5.adb: Use Make_Temporary
217         * tbuild.ads (Make_Temporary): More comment updates
218         * tbuild.adb: Minor reformatting
219
220 2010-06-17  Robert Dewar  <dewar@adacore.com>
221
222         * checks.adb, exp_aggr.adb, exp_atag.adb, exp_attr.adb, exp_ch11.adb,
223         exp_ch3.adb, exp_ch4.adb: Minor code reorganization.
224         Use Make_Temporary.
225         * tbuild.ads, tbuild.adb (Make_Temporary): Clean up, use Entity_Id
226         instead of Node_Id.
227         (Make_Temporary): Add more extensive documentation
228
229 2010-06-17  Robert Dewar  <dewar@adacore.com>
230
231         * sem_intr.adb, sem_prag.adb, sem_res.adb, sem_type.adb, sem_util.adb,
232         sem_warn.adb, sem_eval.adb: Minor reformatting.  Use Ekind_In.
233         (Set_Slice_Subtype): Explicitly freeze the slice's itype at the point
234         where the slice's actions are inserted.
235         (Decompose_Expr): Account for possible rewriting of slice bounds
236         resulting from side effects suppression caused by the above freezing,
237         so that folding of bounds is preserved by such rewriting.
238
239 2010-06-17  Robert Dewar  <dewar@adacore.com>
240
241         * einfo.ads, einfo.adb (Get_Record_Representation_Clause): New function.
242         * freeze.adb (Freeze_Record_Type): Add call to
243         Check_Record_Representation_Clause.
244         * sem_ch13.adb (Check_Record_Representation_Clause): New function
245         (Analyze_Record_Representation_Clause): Split out overlap code into this
246         new function.
247         (Check_Component_Overlap): Moved inside
248         Check_Record_Representation_Clause.
249         * sem_ch13.ads (Check_Record_Representation_Clause): New function.
250
251 2010-06-17  Robert Dewar  <dewar@adacore.com>
252
253         * back_end.adb, sem_res.adb, switch-c.adb, sem_scil.adb: Minor
254         reformatting.
255         * sem_attr.adb, sem_cat.adb, sem_disp.adb, sem_elab.adb, sem_elim.adb,
256         sem_eval.adb: Use Ekind_In
257
258 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
259
260         * sem_ch8.adb: better error message for illegal inherited discriminant
261
262 2010-06-17  Vincent Celier  <celier@adacore.com>
263
264         * bindusg.adb: Remove lines for -A and -C
265         * gnat_ugn.texi: Remove all documentation and examples of switches -A
266         and -C for gnatbind and gnatlink.
267         * gnatlink.adb (Usage): Remove lines for -A and -C
268         * switch-b.adb (Scan_Binder_Switches): Issue warning when switch -C is
269         specified.
270         * gcc-interface/Make-lang.in: Update dependencies.
271
272 2010-06-17  Vincent Celier  <celier@adacore.com>
273
274         * back_end.adb (Scan_Compiler_Arguments): Put all arguments in new
275         local Argument_List variable Args.
276         * switch-c.adb (Scan_Front_End_Switches): New Argument_List argument
277         Args.
278         (Switch_Subsequently_Cancelled): New Argument_List argument Args. Look
279         for subsequent switches in Args.
280         * switch-c.ads (Scan_Front_End_Switches): New Argument_List argument
281         Args.
282         * gcc-interface/Make-lang.in: Update dependencies.
283
284 2010-06-17  Robert Dewar  <dewar@adacore.com>
285
286         * einfo.adb: Minor code fix, allow E_Class_Wide_Type for
287         Equivalent_Type to match documentation.
288
289 2010-06-17  Robert Dewar  <dewar@adacore.com>
290
291         * sem_ch6.adb, sem_ch7.adb: Minor reformatting.
292         * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_ch10.adb, sem_ch12.adb,
293         sem_ch4.adb, sem_ch8.adb, sem_ch13.adb: Make use of Ekind_In.
294
295 2010-06-17  Thomas Quinot  <quinot@adacore.com>
296
297         * sem_res.adb (Set_Slice_Subtype): Always freeze the slice's itype.
298
299 2010-06-17  Thomas Quinot  <quinot@adacore.com>
300
301         * freeze.adb (Freeze_Expression): Short circuit operators are valid
302         freeze node insertion points.
303
304 2010-06-17  Robert Dewar  <dewar@adacore.com>
305
306         * switch-c.ads, switch-c.adb, sem_ch13.adb: Minor reformatting.
307         * sem_ch12.adb: Add pragmas Assert and Check to previous change.
308
309 2010-06-17  Gary Dismukes  <dismukes@adacore.com>
310
311         * layout.adb (Layout_Type): Broaden test for setting an array type's
312         Component_Size to include all scalar types, not just discrete types
313         (components of real types were missed).
314         * sem_ch3.adb (Constrain_Index): Add missing setting of First_Literal
315         on the itype created for an index (consistent with Make_Index and
316         avoids possible Assert_Failures).
317
318 2010-06-17  Robert Dewar  <dewar@adacore.com>
319
320         * atree.ads, atree.adb: Add 6-parameter version of Ekind_In
321         * einfo.adb: Minor code reformatting (use Ekind_In)
322
323 2010-06-17  Robert Dewar  <dewar@adacore.com>
324
325         * sem_warn.adb (Test_Ref): Abandon scan if access subprogram parameter
326         found.
327
328 2010-06-17  Vincent Celier  <celier@adacore.com>
329
330         * back_end.adb: Minor comment updates
331         * switch-c.adb: Remove dependencies on gcc C sources
332         * gcc-interface/Make-lang.in: Add a-comlin.o to the object file list
333         for the compiler.
334
335 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
336
337         * sem_ch12.adb: propagate Pragma_Enabled flag to generic.
338         * get_scos.adb: Set C2 flag in decision entry of pragma to 'e' (enabled)
339         * par_sco.ads, par_sco.adb (Set_SCO_Pragma_Enabled): New procedure
340         Remove use of Node field in SCOs table
341         (Output_Header): Set 'd' to initially disable pragma entry
342         * put_scos.adb (Put_SCOs): New flag indicating if pragma is enabled
343         * scos.ads, scos.adb: Remove Node field from internal SCOs table.
344         Use C2 field of pragma decision header to indicate enabled.
345         * sem_prag.adb: Add calls to Set_SCO_Pragma_Enabled.
346         * gcc-interface/Make-lang.in: Update dependencies.
347
348 2010-06-17  Vincent Celier  <celier@adacore.com>
349
350         * back_end.adb (Next_Arg): Moved to procedure Scan_Compiler_Arguments
351         (Scan_Compiler_Arguments): Call Scan_Front_End_Switches with Next_Arg
352         (Switch_Subsequently_Cancelled): Function moved to the body of Switch.C
353         * back_end.ads (Scan_Front_End_Switches): Function moved to the body of
354         Switch.C.
355         * switch-c.adb: Copied a number of global declarations from back_end.adb
356         (Len_Arg): New function copied from back_end.adb
357         (Switch_Subsequently_Cancelled): New function moved from back_end.adb
358         (Scan_Front_End_Switches): New parameter Arg_Rank used to call
359         Switch_Subsequently_Cancelled.
360         * switch-c.ads (Scan_Front_End_Switches): New parameter Arg_Rank.
361         * gcc-interface/Makefile.in: Add line so that shared libgnat is linked
362         with -lexc on Tru64.
363
364 2010-06-17  Robert Dewar  <dewar@adacore.com>
365
366         * prj.ads, prj.adb: Minor reformatting
367
368 2010-06-17  Thomas Quinot  <quinot@adacore.com>
369
370         * put_scos.adb: Do not generate a blank line in SCOs when omitting the
371         CP line for a disabled pragma.
372
373 2010-06-17  Emmanuel Briot  <briot@adacore.com>
374
375         * prj-proc.adb, prj.adb, prj.ads (Check_Or_Set_Typed_Variable): New
376         subprogram.
377         (Process_Declarative_Item): An invalid value in an typed variable
378         declaration is no longer always fatal.
379
380 2010-06-16  Arnaud Charlet  <charlet@adacore.com>
381
382         * get_scos.adb, par_sco.adb, par_sco.ads, put_scos.adb, scos.adb,
383         scos.ads, exp_ch4.adb, sem_warn.adb: Code clean up, update
384         documentation.
385
386 2010-06-16  Javier Miranda  <miranda@adacore.com>
387
388         * exp_disp.adb (Expand_Dispatching_Call): Adjust the decoration of the
389         node referenced by the SCIL node of dispatching "=" to skip the tags
390         comparison.
391
392 2010-06-16  Ed Schonberg  <schonberg@adacore.com>
393
394         * sem_ch5.adb (Analyze_Exit_Statement): Return if no enclosing loop,
395         to prevent cascaded errors and compilation aborts.
396
397 2010-06-16  Robert Dewar  <dewar@adacore.com>
398
399         * back_end.adb (Switch_Subsequently_Cancelled): New function
400         Move declarations to package body level to support this change
401         * back_end.ads (Switch_Subsequently_Cancelled): New function
402         * gnat_ugn.texi: Document -gnat-p switch
403         * switch-c.adb (Scan_Front_End_Switches): Implement -gnat-p switch
404         * ug_words: Add entry for -gnat-p (UNSUPPRESS_ALL)
405         * usage.adb: Add line for -gnat-p switch
406         * vms_data.ads: Add entry for UNSUPPRESS_ALL (-gnat-p)
407
408 2010-06-16  Robert Dewar  <dewar@adacore.com>
409
410         * sem_warn.adb (Check_Infinite_Loop_Warning): Declaration counts as
411         modification.
412
413 2010-06-16  Robert Dewar  <dewar@adacore.com>
414
415         * exp_disp.adb: Minor reformatting
416
417 2010-06-16  Ed Schonberg  <schonberg@adacore.com>
418
419         * sem_ch3.adb (Complete_Private_Subtype): Inherit class_wide type from
420         base type only if it was not previously created for the partial view.
421
422 2010-06-16  Thomas Quinot  <quinot@adacore.com>
423
424         * tbuild.ads: Minor comment fix
425
426 2010-06-15  Nathan Froyd  <froydnj@codesourcery.com>
427
428         * gcc-interface/trans.c (gnu_stack_free_list): Delete.
429         (gnu_except_ptr_stack): Change type to VEC.  Update comment.
430         (gnu_elab_proc_stack): Likewise.
431         (gnu_return_label_stack): Likewise.
432         (gnu_loop_label_stack): Likewise.
433         (gnu_switch_label_stack): Likewise.
434         (gnu_constraint_label_stack): Likewise.
435         (gnu_storage_error_label_stack): Likewise.
436         (gnu_program_error_label_stack): Likewise.
437         (push_exception_label_stack): Take a VEC ** instead of a tree *.
438         (push_stack): Likewise.  Remove unused second parameter.  Update
439         callers.
440         (pop_stack): Take a VEC * instead of a tree *.  Update callers.
441         (gigi): Initialize stacks as VECs.
442         (Identifier_to_gnu): Use VEC_last instead of TREE_VALUE.
443         (Case_Statement_to_gnu): Likewise.
444         (Subprogram_Body_to_gnu): Likewise.
445         (call_to_gnu): Likewise.
446         (Exception_Handler_to_gnu_sjlj): Likewise.
447         (gnat_to_gnu): Likewise.
448         (get_exception_label): Likewise.
449
450 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
451
452         * sem_ch3.adb (Build_Derived_Record_Type): if derived type is an
453         anonymous base generated when the parent is a constrained discriminated
454         type, propagate interface list to first subtype because it may appear
455         in a current instance within the extension part of the derived type
456         declaration, and its own subtype declaration has not been elaborated
457         yet.
458         * exp_disp.adb (Build_Interface_Thunk): Use base type of formal to
459         determine whether it has the controlling type.
460
461 2010-06-14  Jerome Lambourg  <lambourg@adacore.com>
462
463         * exp_ch11.adb (Expand_N_Raise_Statement): Make sure that the explicit
464         raise of CE, SE and PE have the reason correctly set and are properly
465         expanded before stopping the expansions of .NET/JVM exceptions.
466
467 2010-06-14  Robert Dewar  <dewar@adacore.com>
468
469         * opt.ads (Check_Policy_List): Add some clarifying comments
470         * sem_prag.adb (Analyze_Pragma, case Check): Set Pragma_Enabled flag
471         on rewritten Assert pragma.
472
473 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
474
475         * sem_ch6.adb (Check_Overriding_Indicator): Add a special check for
476         controlled operations, so that they will be treated as overriding even
477         if the overridden subprogram is marked Is_Hidden, as long as the
478         overridden subprogram's parent subprogram is not hidden.
479
480 2010-06-14  Robert Dewar  <dewar@adacore.com>
481
482         * debug.adb: Entry for gnatw.d no longer specific for while loops
483         * einfo.adb (First_Exit_Statement): New attribute for E_Loop
484         * einfo.ads (First_Exit_Statement): New attribute for E_Loop
485         * sem_ch5.adb (Analyze_Loop_Statement): Check_Infinite_Loop_Warning has
486         new calling sequence to include test for EXIT WHEN.
487         (Analyze_Exit_Statement): Chain EXIT statement into exit statement chain
488         * sem_warn.ads, sem_warn.adb (Check_Infinite_Loop_Warning): Now handles
489         EXIT WHEN case.
490         * sinfo.adb (Next_Exit_Statement): New attribute of N_Exit_Statement
491         node.
492         * sinfo.ads (N_Pragma): Correct comment on Sloc field (points to
493         PRAGMA, not to pragma identifier).
494         (Next_Exit_Statement): New attribute of N_Exit_Statement node
495
496 2010-06-14  Robert Dewar  <dewar@adacore.com>
497
498         * sem_res.adb (Resolve_Short_Circuit): Fix sloc of "assertion/check
499         would fail" msg.
500
501 2010-06-14  Robert Dewar  <dewar@adacore.com>
502
503         * par-ch2.adb (Scan_Pragma_Argument_Association): Clarify message for
504         missing pragma argument identifier.
505
506 2010-06-14  Robert Dewar  <dewar@adacore.com>
507
508         * atree.ads, atree.adb (Ekind_In): New functions.
509
510 2010-06-14  Robert Dewar  <dewar@adacore.com>
511
512         * exp_ch4.adb (Expand_N_Op_Expon): Optimize 2**N in stand alone context
513
514 2010-06-14  Robert Dewar  <dewar@adacore.com>
515
516         * usage.adb (Usage): Redo documentation of -gnatwa.
517
518 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
519
520         * sem_ch8.adb (Find_Type): The attribute 'class cannot be applied to
521         an untagged incomplete type that is a limited view.
522
523 2010-06-14  Sergey Rybin  <rybin@adacore.com>
524
525         * gnat_ugn.texi: Add description of '-cargs gcc_switches' to gnatstub
526         and gnatppa.
527
528 2010-06-14  Thomas Quinot  <quinot@adacore.com>
529
530         * exp_ch4.adb (Expand_Short_Circuit_Operator): New subprogram,
531         factoring duplicated code between...
532         (Expand_N_And_Than, Expand_N_Or_Else): Remove duplicated code.
533         * a-envvar.ads: Minor reformatting
534
535 2010-06-14  Arnaud Charlet  <charlet@adacore.com>
536
537         * ali.adb, ali.ads, lib-xref.ads: Document new '+' letter for C/C++
538         static entities.
539         (Scan_ALI): Take into account new Visibility field.
540         (Visibility_Kind): New type.
541         (Xref_Entity_Record): Replace Lib field by Visibility.
542
543         * gcc-interface/Make-lang.in: Update dependencies.
544
545 2010-06-14  Pascal Obry  <obry@adacore.com>
546
547         * raise.h: Remove unused defintions.
548
549 2010-06-14  Bob Duff  <duff@adacore.com>
550
551         * par-ch10.adb (P_Subunit): If the next token after "separate(X)" is
552         Tok_Not or Tok_Overriding, call P_Subprogram. We had previously given
553         the incorrect error "proper body expected".
554         * par-ch6.adb (P_Subprogram): Suppress "overriding indicator not
555         allowed here" error in case of subunits, which was triggered by the
556         above change to P_Subunit.
557
558 2010-06-14  Sergey Rybin  <rybin@adacore.com>
559
560         * gnat_ugn.texi, vms_data.ads: Update gnatelim doc.
561
562 2010-06-14  Thomas Quinot  <quinot@adacore.com>
563
564         * lib-util.adb: Minor code reorganization.
565
566 2010-06-14  Robert Dewar  <dewar@adacore.com>
567
568         * ali.adb (Scan_ALI): Implement reading and storing of N lines
569         (Known_ALI_Lines): Add entry for 'N' (notes)
570         * ali.ads (Notes): New table to store Notes information
571         * alloc.ads: Add entries for Notes table
572         * lib-util.adb (Write_Info_Int): New procedure
573         (Write_Info_Slit): New procedure
574         (Write_Info_Uint): New procedure
575         * lib-util.ads (Write_Info_Int): New procedure
576         (Write_Info_Slit): New procedure
577         (Write_Info_Uint): New procedure
578         * lib-writ.adb (Write_Unit_Information): Output N (notes) lines
579         * lib-writ.ads: Update documentation for N (Notes) lines
580         * lib.adb (Store_Note): New procedure
581         * lib.ads (Notes): New table
582         (Store_Note): New procedure
583         * sem_prag.adb: Call Store_Note for affected pragmas
584
585 2010-06-14  Thomas Quinot  <quinot@adacore.com>
586
587         * socket.c: Fix wrong condition in #ifdef
588         * g-socket.adb, g-sothco.ads: Functions imported from socket.c that
589         take or return char* values can't use Interfaces.C.Strings.chars_ptr,
590         because on VMS this type is a 32-bit pointer which is not compatible
591         with the default for C pointers for code compiled with gcc on that
592         platform.
593
594 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
595
596         * sem_util (Is_VMS_Operator): New predicate to determine whether an
597         operator is an intrinsic operator declared in the DEC system extension.
598         * sem_res.adb (Resolve_Logical_Op): operation is legal on signed types
599         if the operator is a VMS intrinsic.
600         * sem_eval.adb (Eval_Logical_Op): Operation is legal and be
601         constant-folded if the operands are signed and the operator is a VMS
602         intrinsic.
603
604 2010-06-14  Robert Dewar  <dewar@adacore.com>
605
606         * g-socket.adb, gnatcmd.adb: Minor reformatting.
607
608 2010-06-14  Pascal Obry  <obry@adacore.com>
609
610         * s-finimp.adb: Fix typo.
611         * raise.h: Remove duplicate blank line.
612
613 2010-06-14  Vincent Celier  <celier@adacore.com>
614
615         * prj-nmsc.adb (Add_Sources): Always set the object file and the
616         switches file names, as the configuration of the language may change
617         in an extending project.
618         (Process_Naming_Scheme): For sources of projects that are extended, set
619         the configuration of the language from the highest extending project
620         where the language is declared.
621
622 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
623
624         * sem_res.adb (Resolve_Call): For infinite recursion check, test
625         whether the called subprogram is inherited from a containing subprogram.
626         (Same_Or_Aliased_Subprograms): New function
627
628 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
629
630         * sem_ch8.adb (End_Use_Type): Before indicating that an operator is not
631         use-visible, check whether it is a primitive for more than one type.
632
633 2010-06-14  Robert Dewar  <dewar@adacore.com>
634
635         * sem_ch3.adb (Copy_And_Swap): Copy Has_Pragma_Unmodified flag.
636
637         * sem_ch7.adb (Preserve_Full_Attributes): Preserve
638         Has_Pragma_Unmodified flag.
639
640 2010-06-14  Thomas Quinot  <quinot@adacore.com>
641
642         * g-sttsne-locking.adb, g-sttsne-locking.ads, g-sttsne.ads,
643         g-sttsne-vxworks.adb, g-sttsne-dummy.ads: Removed. Mutual exclusion is
644         now done in GNAT.Sockets if necessary.
645         * gsocket.h, g-socket.adb, g-sothco.ads (GNAT.Sockets.Get_XXX_By_YYY):
646         Ensure mutual exclusion for netdb operations if the target platform
647         requires it.
648         (GNAT.Sockets.Thin_Common): New binding for getXXXbyYYY, treating struct
649         hostent as an opaque type to improve portability.
650         * s-oscons-tmplt.c, socket.c: For the case of Vxworks, emulate
651         gethostbyYYY using proprietary VxWorks API so that a uniform interface
652         is available for the Ada side.
653         * gcc-interface/Makefile.in: Remove g-sttsne-*
654         * gcc-interface/Make-lang.in: Update dependencies.
655
656 2010-06-14  Vincent Celier  <celier@adacore.com>
657
658         * gnatcmd.adb (Mapping_File): New function.
659
660 2010-06-14  Javier Miranda  <miranda@adacore.com>
661
662         * sem_ch3.adb (Derive_Subprograms): Remove over-restrictive assertion.
663
664 2010-06-14  Arnaud Charlet  <charlet@adacore.com>
665
666         * ali.adb: Fix typo.
667         * s-auxdec-vms-alpha.adb, scng.ads: Minor reformatting.
668
669 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
670
671         * sem_ch12.adb: Make Mark_Context transitive, and apply to subprogram
672         instances.
673
674         * sem_ch8.adb (Find_Expanded_Name): If a candidate compilation unit in
675         the context does not have a homonym of the selector, emit default
676         error message.
677
678 2010-06-14  Robert Dewar  <dewar@adacore.com>
679
680         * sem.adb, sem_ch12.adb, sem_util.adb: Minor reformatting and
681         comment addition.
682
683 2010-06-14  Arnaud Charlet  <charlet@adacore.com>
684
685         * lib-xref.ads: Doc updates:
686          - Allocate 'Q' for #include entity kind
687          - Free 'Z'
688          - Allocate 'g' for regular macros
689          - Allocate 'G' for function-like macros
690
691 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
692
693         * sinfo.ads, sinfo.adb (Withed_Body): New attribute of a with_clause.
694         Indicates that there is an instantiation in the current unit that
695         loaded the body of the unit denoted by the with_clause.
696         * sem_ch12.adb (Mark_Context): When instanting a generic body, check
697         whether a with_clause in the current context denotes the unit that
698         holds the generic declaration, and mark the with_clause accordingly.
699         (Instantiate_Package_Body): call Mark_Context.
700         * sem.adb (Process_Bodies_In_Context): Use Withed_Body to determine
701         whether a given body should be traversed before the spec of the main
702         unit.
703
704 2010-06-14  Ed Falis  <falis@adacore.com>
705
706         * sysdep.c: Fix 653 build against vThreads headers.
707
708 2010-06-14  Robert Dewar  <dewar@adacore.com>
709
710         * sinfo.ads: Minor reformatting.
711
712 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
713
714         * sem_ch6.adb (Analyze_Subprogram_Body): Do not check conformance when
715         the spec has been generated for a body without spec that carries an
716         Inline_Always pragma.
717
718 2010-06-14  Arnaud Charlet  <charlet@adacore.com>
719
720         * lib-xref.ads: Documentation change: allocate 'Z' letter to C/C++
721         macro.
722
723 2010-06-14  Jerome Lambourg  <lambourg@adacore.com>
724
725         * exp_dbug.adb (Debug_Renaming_Declaration): Do not output any debug
726         declaration for VMs, as those are useless and might lead to duplicated
727         local variable names in the generated code.
728         * gcc-interface/Make-lang.in: Update dependencies.
729
730 2010-06-14  Robert Dewar  <dewar@adacore.com>
731
732         * opt.ads, sem.adb, sem_elab.adb: Minor reformatting
733
734 2010-06-14  Robert Dewar  <dewar@adacore.com>
735
736         * exp_aggr.adb (Has_Address_Clause): Moved to Exp_Util, and there it
737         is renamed as Has_Following_Address_Clause.
738         * exp_ch3.adb (Needs_Simple_Initialization): Add Consider_IS argument
739         to allow the caller to avoid Initialize_Scalars having an effect.
740         (Expand_N_Object_Declaration): Do not do Initialize_Scalars stuff for
741         scalars with an address clause specified.
742         * exp_ch3.ads (Needs_Simple_Initialization): Add Consider_IS argument
743         to allow the caller to avoid Initialize_Scalars having an effect.
744         * exp_util.adb (Has_Following_Address_Clause): Moved here from Exp_Aggr
745         (where it was called Has_Address_Clause).
746         * exp_util.ads (Has_Following_Address_Clause): Moved here from Exp_Aggr
747         (where it was called Has_Address_Clause).
748         * freeze.adb (Warn_Overlay): Suppress message about overlaying causing
749         problems for Initialize_Scalars (since we no longer initialize objects
750         with an address clause.
751
752 2010-06-14  Robert Dewar  <dewar@adacore.com>
753
754         * exp_prag.adb (Expand_Pragma_Check): Set Loc of generated code from
755         condition.
756
757 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
758
759         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set Debug_Info_Needed
760         on the entity of an implicitly generated postcondition procedure.
761
762 2010-06-14  Thomas Quinot  <quinot@adacore.com>
763
764         * sem_ch7.adb (Preserve_Full_Attributes): Propagate
765         Discriminant_Constraint elist from full view to private view.
766
767 2010-06-14  Robert Dewar  <dewar@adacore.com>
768
769         * sem_res.adb: Minor reformatting.
770
771 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
772
773         * sem.adb: New version of unit traversal.
774
775         * sem_elab.adb (Check_Internal_Call): Do not place a call appearing
776         within a generic unit in the table of delayed calls.
777
778 2010-06-14  Robert Dewar  <dewar@adacore.com>
779
780         * gnatcmd.adb, sem_util.adb, exp_ch3.adb: Minor reformatting
781
782 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
783
784         * sem_ch12.adb (Save_References): If an identifier has been rewritten
785         during analysis as an explicit dereference, keep the reference implicit
786         in the generic, but preserve the entity if global. This prevents
787         malformed generic trees in the presence of some nested generics.
788
789 2010-06-14  Sergey Rybin  <rybin@adacore.com>
790
791         * gnat_ugn.texi: For the GNAT driver, clarify the effect of calling the
792         tool with '-files=' option. Also fix some small errors (wrong brackets)
793
794 2010-06-14  Vincent Celier  <celier@adacore.com>
795
796         * gnatbind.adb: Call Scan_ALI with Directly_Scanned set to True for all
797         the ALI files on the command line.
798
799         * ali.adb (Scan_ALI): Set component Directly_Scanned of the unit(s) to
800         the same value as the parameter of the same name.
801         * ali.ads (Scan_ALI): New Boolean parameter Directly_Scanned, defaulted
802         to False.
803         * bindgen.adb (Gen_Versions_Ada): Never emit version symbols for
804         Stand-Alone Library interfaces. When binding Stand-Alone Libraries,
805         emit version symbols only for the units of the library.
806         (Gen_Versions_C): Ditto.
807
808 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
809
810         * sem_ch4.adb: Fix typo.
811
812 2010-06-14  Vasiliy Fofanov  <fofanov@adacore.com>
813
814         * s-oscons-tmplt.c (IOV_MAX): redefine on Tru64 and VMS since the
815         vector IO doesn't work at default value properly.
816
817 2010-06-14  Doug Rupp  <rupp@adacore.com>
818
819         * s-stoele.adb: Remove unnecessary qualification of To_Address for VMS.
820
821 2010-06-14  Vincent Celier  <celier@adacore.com>
822
823         * gnatcmd.adb (Check_Files): Do not invoke the tool with all the
824         sources of the project if a switch -files= is used.
825
826 2010-06-14  Thomas Quinot  <quinot@adacore.com>
827
828         * exp_attr.adb: Minor reformatting.
829
830 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
831
832         * gnat_ugn.texi: Minor typo fixes and wording changes.
833
834 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
835
836         * sem_ch4.adb (Analyze_One_Call): If the call has been rewritten from a
837         prefixed form, do not re-analyze first actual, which may need an
838         implicit dereference.
839         * sem_ch6.adb (Analyze_Procedure_Call): If the call is given in
840         prefixed notation, the analysis will rewrite the node, and possible
841         errors appear in the rewritten name of the node.
842         * sem_res.adb: If a call is ambiguous because its first parameter is
843         an overloaded call, report list of candidates, to clarify ambiguity of
844         enclosing call.
845
846 2010-06-14  Doug Rupp  <rupp@adacore.com>
847
848         * s-auxdec-vms-alpha.adb: New package body implementing legacy
849         VAX instructions with Asm insertions.
850         * s-auxdec-vms_64.ads: Inline VAX queue functions
851         * s-stoele.adb: Resolve some ambiguities in To_Addresss with s-suxdec
852         that show up only on VMS.
853         * gcc-interface/Makefile.in: Provide translation for
854         s-auxdec-vms-alpha.adb.
855
856 2010-06-14  Olivier Hainque  <hainque@adacore.com>
857
858         * initialize.c (VxWorks section): Update comments.
859
860 2010-06-14  Robert Dewar  <dewar@adacore.com>
861
862         * a-convec.adb, sem_prag.adb, checks.adb: Minor reformatting.
863
864 2010-06-14  Eric Botcazou  <ebotcazou@adacore.com>
865
866         * init.c: Code clean up.
867
868 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
869
870         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address): Do
871         not insert address clause in table for later validation if type of
872         entity is generic, to prevent possible spurious errors. 
873
874         * sem_ch8.adb: Code clean up.
875
876 2010-06-14  Ben Brosgol  <brosgol@adacore.com>
877
878         * gnat_ugn.texi: Expanded @ovar macro inline to solve problem with
879         texi2pdf and texi2html.
880         Document how to change scheduling properties on HP-UX.
881
882 2010-06-14  Thomas Quinot  <quinot@adacore.com>
883
884         * g-socket.ads: Remove misleading comments.
885
886 2010-06-14  Jerome Lambourg  <lambourg@adacore.com>
887
888         * sem_prag.adb (Check_Duplicated_Export_Name): Remove check for
889         CLI_Target as this prevents proper detection of exported names
890         duplicates when the exported language is different to CIL.
891         (Process_Interface_Name): Add check for CIL convention exports,
892         replacing the old one from Check_Duplicated_Export_Name.
893
894 2010-06-14  Matthew Heaney  <heaney@adacore.com>
895
896         * a-coinve.adb, a-convec.adb (operator "&"): Check both that new length
897         and new last satisfy constraints.
898         (Delete_Last): prevent overflow for subtraction of index values
899         (To_Vector): prevent overflow for addition of index values
900
901 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
902
903         * sem_ch4.adb (Complete_Object_Operation): After analyzing the
904         rewritten call, preserve the resulting type to prevent spurious errors,
905         when the call is implicitly dereferenced in the context of an in-out
906         actual.
907
908         * checks.adb (Apply_Discriminant_Check): If the target of the
909         assignment is a renaming of a heap object, create constrained type for
910         it to apply check.
911
912 2010-06-14  Pascal Obry  <obry@adacore.com>
913
914         * prj-proc.adb: Fix copy of object directory for extending projects.
915
916 2010-06-14  Jose Ruiz  <ruiz@adacore.com>
917
918         * init.c (__gnat_alternate_stack): Define this space for PowerPC linux
919         (__gnat_install_handler, PowerPC linux): Activate the alternative
920         signal stack.
921
922 2010-06-13  Gerald Pfeifer  <gerald@pfeifer.com>
923
924         * gnat_rm.texi: Move to GFDL version 1.3.
925         * gnat-style.texi: Ditto.
926         * gnat_ugn.texi: Ditto.
927
928 2010-06-12  Kai Tietz
929
930         PR ada/43731
931         * gcc-interface/Makefile.in: Add rules for multilib x86/x64
932         mingw targets.
933
934 2010-06-11  Alexandre Oliva  <aoliva@redhat.com>
935
936         * gcc-interface/utils.c (update_pointer_to): Initialize last.
937
938 2010-06-09  Eric Botcazou  <ebotcazou@adacore.com>
939
940         * gcc-interface/ada-tree.h: Fix formatting nits.
941
942 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
943
944         * gcc-interface/utils.c (init_gnat_to_gnu): Use typed GC
945         allocation.
946         (init_dummy_type): Likewise.
947         (gnat_pushlevel): Likewise.
948
949         * gcc-interface/trans.c (Attribute_to_gnu): Likewise.
950         (Subprogram_Body_to_gnu): Likewise.
951         (Compilation_Unit_to_gnu): Likewise.
952         (start_stmt_group): Likewise.
953         (extract_encoding): Likewise.
954         (decode_name): Likewise.
955
956         * gcc-interface/misc.c (gnat_printable_name): Likewise.
957
958         * gcc-interface/decl.c (annotate_value): Likewise.
959
960         * gcc-interface/ada-tree.h (struct lang_type): Add variable_size
961         GTY option.
962         (struct lang_decl): Likewise.
963         (SET_TYPE_LANG_SPECIFIC): Use typed GC allocation.
964         (SET_DECL_LANG_SPECIFIC): Likewise.
965
966 2010-06-04  Eric Botcazou  <ebotcazou@adacore.com>
967
968         * gnatlink.adb (gnatlink): Remove support for -fsjlj switch.
969         * gcc-interface/lang-specs.h: Likewise.
970
971 2010-06-03  H.J. Lu  <hongjiu.lu@intel.com>
972
973         PR c++/44294
974         * gcc-interface/decl.c (MAX_FIXED_MODE_SIZE): Removed.
975
976 2010-06-01  Arnaud Charlet  <charlet@adacore.com>
977
978         * gnat_ugn.texi: Improve doc on -fdump-ada-spec, mention limitations.
979
980 2010-05-30  Eric Botcazou  <ebotcazou@adacore.com>
981
982         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Task_Type>: Reuse the
983         TYPE_DECL of the equivalent type instead of building a new one.
984
985 2010-05-30  Eric Botcazou  <ebotcazou@adacore.com>
986
987         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust warning message.
988         Fix nits in comments.
989         * gcc-interface/misc.c (gnat_init_gcc_eh): Likewise.
990         * gcc-interface/trans.c (gigi): Likewise.
991         (Attribute_to_gnu): Likewise.
992         (Case_Statement_to_gnu): Likewise.
993         (gnat_to_gnu): Adjust warning message.
994         * gcc-interface/utils.c (create_var_decl_1): Fix nits in comments.
995         (build_vms_descriptor32): Likewise.
996
997 2010-05-27  Steven Bosscher  <steven@gcc.gnu.org>
998
999         * gcc-interface/decl.c: Pretend to be a backend file by undefining
1000         IN_GCC_FRONTEND (still need rtl.h here).
1001
1002 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
1003
1004         * gcc-interface/trans.c: Do not include rtl.h, insclude libfuncs.h.
1005         (gigi): Adjust call to set_stack_check_libfunc.
1006
1007 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
1008
1009         * gcc-interface/utils.c: Do not include rtl.h.
1010
1011 2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>
1012
1013         * gcc-interface/utils.c: Do not include function.h, pointer-set.h,
1014         and gimple.h.  Explain why rtl.h has to be included.
1015         (handle_vector_size_attribute): Call reconstruct_complex_type directly.
1016         * gcc-interface/targtyps.c: Do not include tm_p.h
1017         * gcc-interface/utils2.c: Do not include flags.h.
1018         * gcc-interface/trans.c: Do not include expr.h.  Include rtl.h instead,
1019         and explain why it has to be included.
1020         * gcc-interface/misc.c: Do not include expr.h, libfuncs.h, cgraph.h,
1021         and optabs.h.
1022         Include function.h and explain why.  Explain why except.h is included.
1023         (enumerate_modes): Remove unused function. 
1024         * gcc-interface/gigi.h (enumerate_modes): Remove prototype.
1025         * gcc-interface/Make-lang.in: Update dependencies.
1026
1027 2010-05-25  Joseph Myers  <joseph@codesourcery.com>
1028
1029         * gcc-interface/misc.c (internal_error_function): Add context
1030         parameter.  Use it to access show_column flag and instead of using
1031         global_dc.  Call warn_if_plugins.
1032         * gcc-interface/Make-lang.in (ada/misc.o): Update dependencies.
1033
1034 2010-05-19  Eric Botcazou  <ebotcazou@adacore.com>
1035
1036         * gcc-interface/misc.c (LANG_HOOKS_DEEP_UNSHARING): Redefine.
1037         * gcc-interface/trans.c (unshare_save_expr): Delete.
1038         (gigi): Do not unshare trees under SAVE_EXPRs here.
1039
1040 2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
1041
1042         * gcc-interface/trans.c (call_to_gnu): Use build_call_vec instead of
1043         build_call_list.
1044         * gcc-interface/utils.c (build_function_stub): Likewise.
1045
1046 2010-05-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1047
1048         * gcc-interface/misc.c (gnat_handle_option): Remove special logic
1049         for Wuninitialized without -O.
1050         
1051 2010-05-16  Eric Botcazou  <ebotcazou@adacore.com>
1052
1053         * gcc-interface/gigi.h (enum standard_datatypes): Add new value
1054         ADT_exception_data_name_id.
1055         (exception_data_name_id): New define.
1056         * gcc-interface/trans.c (gigi): Initialize it.
1057         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use the standard
1058         exception type for standard exception definitions.  Do not make them
1059         volatile.
1060         <E_Record_Type>: Equate fields of types associated with an exception
1061         definition to those of the standard exception type.
1062
1063 2010-05-13  Andreas Schwab  <schwab@linux-m68k.org>
1064
1065         * tracebak.c (__gnat_backtrace): Mark top_stack with ATTRIBUTE_UNUSED.
1066
1067 2010-05-12  Eric Botcazou  <ebotcazou@adacore.com>
1068
1069         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Tidy up
1070         code, improve comments and fix formatting nits.
1071
1072 2010-05-12  Eric Botcazou  <ebotcazou@adacore.com>
1073
1074         * gcc-interface/utils.c (update_pointer_to): Return early if the old
1075         pointer already points to the new type.  Chain the old pointer and its
1076         variants at the end of new pointer's chain after updating them.
1077
1078 2010-05-10  Eric Botcazou  <ebotcazou@adacore.com>
1079
1080         * exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables
1081         built for interfaces.
1082         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Use
1083         imported_p instead of Is_Imported when considering constants.
1084         Do not promote alignment of exported objects.
1085         <E_Record_Subtype>: Strip all suffixes for dispatch table entities.
1086
1087 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
1088
1089         * exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables.
1090         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Make imported
1091         constants really constant.
1092         <E_Record_Subtype>: Strip the suffix for dispatch table entities.
1093
1094 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
1095
1096         * gcc-interface/decl.c (make_aligning_type): Declare the type.
1097
1098 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
1099
1100         * gcc-interface/decl.c (gnat_to_gnu_entity): Create variables for size
1101         expressions of variant part of record types declared at library level.
1102
1103 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
1104
1105         * gcc-interface/gigi.h (create_field_decl): Move PACKED parameter.
1106         * gcc-interface/utils.c (create_field_decl): Move PACKED parameter.
1107         (rest_of_record_type_compilation): Adjust call to create_field_decl.
1108         (make_descriptor_field): Likewise and pass correctly typed constants.
1109         (build_unc_object_type): Likewise.
1110         (unchecked_convert): Likewise.
1111         * gcc-interface/decl.c (elaborate_expression_2): New static function.
1112         (gnat_to_gnu_entity): Use it to make alignment factors explicit.
1113         Adjust call to create_field_decl.
1114         (make_aligning_type): Likewise.
1115         (make_packable_type): Likewise.
1116         (maybe_pad_type): Likewise.
1117         (gnat_to_gnu_field): Likewise.
1118         (components_to_record): Likewise.
1119         (create_field_decl_from): Likewise.
1120         (create_variant_part_from): Remove superfluous test.
1121         * gcc-interface/trans.c (gigi): Adjust call to create_field_decl.
1122
1123 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
1124
1125         * gcc-interface/gigi.h (build_unc_object_type): Add DEBUG_INFO_P param.
1126         (build_unc_object_type_from_ptr): Likewise.
1127         * gcc-interface/utils.c (build_unc_object_type): Add DEBUG_INFO_P param
1128         and pass it to create_type_decl.  Declare the type.  Simplify.
1129         (build_unc_object_type_from_ptr): Add DEBUG_INFO_P parameter and pass
1130         it to build_unc_object_type.
1131         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust to above change.
1132         * gcc-interface/trans.c (Attribute_to_gnu): Likewise.
1133         (gnat_to_gnu): Likewise.
1134         * gcc-interface/utils2.c (build_allocator): Likewise.
1135
1136 2010-05-07 Eric Botcazou  <ebotcazou@adacore.com>
1137
1138         PR 40989
1139         * gcc-interface/misc.c (gnat_handle_option): Fix long line.
1140
1141 2010-05-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1142
1143         * gcc-interface/Makefile.in: Removed mips-sgi-irix5* support.
1144
1145 2010-05-06  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1146
1147         PR 40989
1148         * gcc-interface/misc.c (gnat_handle_option): Add argument kind.
1149
1150 2010-05-02  Giuseppe Scrivano  <gscrivano@gnu.org>
1151
1152         * gnathtml.pl: Use 755 as mask for new directories.
1153
1154 2010-04-28  Eric Botcazou  <ebotcazou@adacore.com>
1155
1156         * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Uniquize
1157         constant constructors before taking their address.
1158
1159 2010-04-25  Eric Botcazou  <ebotcazou@adacore.com>
1160
1161         * exp_dbug.ads: Fix outdated description.  Mention link between XVS
1162         and XVZ objects.
1163         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Set
1164         XVZ variable as unit size of XVS type.
1165         (maybe_pad_type): Likewise.
1166
1167 2010-04-25  Eric Botcazou  <ebotcazou@adacore.com>
1168
1169         * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Do not
1170         use memmove if the array type is bit-packed.
1171
1172 2010-04-18  Eric Botcazou  <ebotcazou@adacore.com>
1173
1174         * gcc-interface/misc.c (gnat_init): Remove second argument in call to
1175         build_common_tree_nodes.
1176
1177 2010-04-18  Ozkan Sezer  <sezeroz@gmail.com>
1178
1179         * gsocket.h: Make sure that winsock2.h is included before windows.h.
1180
1181 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
1182
1183         * gcc-interface/utils2.c (build_unary_op) <ATTR_ADDR_EXPR>: Do not
1184         issue warning.
1185
1186 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
1187
1188         * uintp.h (UI_Lt): Declare.
1189         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do the size
1190         computation in sizetype.
1191         <E_Array_Subtype>: Use unified handling for all index types.  Do not
1192         generate MAX_EXPR-based expressions, only COND_EXPR-based ones.  Add
1193         bypass for PATs.
1194         (annotate_value): Change test for negative values.
1195         (validate_size): Apply test for negative values on GNAT nodes.
1196         (set_rm_size): Likewise.
1197         * gcc-interface/misc.c (gnat_init): Set unsigned types for sizetypes.
1198         * gcc-interface/utils.c (rest_of_record_type_compilation): Change test
1199         for negative values.
1200         (max_size) <MINUS_EXPR>: Do not reassociate a COND_EXPR on the LHS.
1201         (builtin_type_for_size): Adjust definition of signed_size_type_node.
1202         * gcc-interface/utils2.c (compare_arrays): Optimize comparison of
1203         lengths against zero.
1204
1205 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
1206
1207         * back-end.adb (Call_Back_End): Pass Standard_Character to gigi.
1208         * gcc-interface/gigi.h (gigi): Add standard_character parameter.
1209         (CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE, 
1210         LONG_LONG_TYPE_SIZE, FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE,
1211         LONG_DOUBLE_TYPE_SIZE, SIZE_TYPE): Delete.
1212         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Call
1213         rm_size.
1214         * gcc-interface/misc.c (gnat_init): Set signedness of char as per
1215         flag_signed_char.  Tag sizetype with "size_type" moniker.
1216         * gcc-interface/trans.c (gigi): Add standard_character parameter.
1217         Remove useless built-in types.  Equate unsigned_char_type_node to
1218         Standard.Character.  Use it instead of char_type_node throughout.
1219         (Attribute_to_gnu): Likewise.
1220         (gnat_to_gnu): Likewise.
1221         * gcc-interface/utils2.c (build_call_raise): Likewise.
1222
1223 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
1224
1225         * gcc-interface/gigi.h (enum standard_datatypes): Add new values
1226         ADT_sbitsize_one_node and ADT_sbitsize_unit_node.
1227         (sbitsize_one_node): New macro.
1228         (sbitsize_unit_node): Likewise.
1229         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Fix
1230         latent bug in the computation of subrange_p.  Fold wider_p predicate.
1231         (cannot_be_superflat_p): Use an explicitly signed 64-bit type to do
1232         the final comparison.
1233         (make_aligning_type): Build real negation and use sizetype throughout
1234         the offset computation.
1235         (maybe_pad_type): Do not issue the warning when the new size expression
1236         is too complex.
1237         (annotate_value) <INTEGER_CST>: Simplify code handling negative values.
1238         * gcc-interface/misc.c (gnat_init): Initialize sbitsize_one_node and
1239         sbitsize_unit_node.
1240         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Fold
1241         double negation.
1242         (gnat_to_gnu) <N_Free_Statement>: Likewise.
1243         * gcc-interface/utils.c (convert): Use sbitsize_unit_node.
1244         * gcc-interface/utils2.c (compare_arrays): Compute real lengths and use
1245         constants in sizetype.  Remove dead code and tweak comments.  Generate
1246         equality instead of inequality comparisons for zero length tests.
1247
1248 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
1249
1250         * gcc-interface/gigi.h (gnat_init_decl_processing): Delete.
1251         * gcc-interface/decl.c (gnat_to_gnu_entity): Constify a few variables.
1252         <object>: Do not create the fake PARM_DECL if no debug info is needed.
1253         Do not create the corresponding VAR_DECL of a CONST_DECL for debugging
1254         purposes if no debug info is needed.
1255         Fix formatting.  Reorder and add comments.
1256         * gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Reference>: Constify
1257         variable and remove obsolete comment.
1258         * gcc-interface/utils.c (convert_vms_descriptor64): Tweak comment.
1259         (convert_vms_descriptor32): Likewise.
1260         (convert): Remove dead code.
1261         <UNCONSTRAINED_ARRAY_REF>: Pass the field instead of its name to build
1262         the reference to the P_ARRAY pointer.
1263         <POINTER_TYPE>: Likewise.
1264         (maybe_unconstrained_array) <UNCONSTRAINED_ARRAY_TYPE>: Likewise.
1265         (gnat_init_decl_processing): Delete, move contents to...
1266         * gcc-interface/misc.c (gnat_init): ...here.
1267
1268 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
1269
1270         * gcc-interface/trans.c (unchecked_conversion_nop): Handle function
1271         calls.  Return true for conversion from a record subtype to its type.
1272
1273 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
1274
1275         * gcc-interface/decl.c (gnat_to_gnu_entity): Use boolean_type_node in
1276         lieu of integer_type_node for boolean operations.
1277         (choices_to_gnu): Likewise.
1278         * gcc-interface/trans.c (Attribute_to_gnu): Likewise.
1279         (Loop_Statement_to_gnu): Likewise.
1280         (establish_gnat_vms_condition_handler): Likewise.
1281         (Exception_Handler_to_gnu_sjlj): Likewise.
1282         (gnat_to_gnu): Likewise.
1283         (build_unary_op_trapv): Likewise.
1284         (build_binary_op_trapv): Likewise.
1285         (emit_range_check): Likewise.
1286         (emit_index_check): Likewise.
1287         (convert_with_check): Likewise.
1288         * gcc-interface/utils.c (convert_vms_descriptor64): Likewise.
1289         (convert_vms_descriptor32): Likewise.
1290         (convert_vms_descriptor): Likewise.
1291         * gcc-interface/utils2.c (nonbinary_modular_operation): Likewise.
1292         (compare_arrays): Use boolean instead of integer constants.
1293         (build_binary_op) <TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR,
1294         TRUTH_OR_EXPR, TRUTH_XOR_EXPR>: New case.  Check that the result type
1295         is a boolean type.
1296         <GE_EXPR, LE_EXPR, GT_EXPR, LT_EXPR>: Remove obsolete assertion.
1297         <EQ_EXPR, NE_EXPR>: Check that the result type is a boolean type.
1298         <PREINC/PREDECREMENT_EXPR, POSTINC/POSTDECREMENT_EXPR>: Delete.
1299         <TRUTH_NOT_EXPR>: Check that the result type is a boolean type.
1300         (build_unary_op): Use boolean_type_node in lieu of integer_type_node
1301         for boolean operations.
1302         (fill_vms_descriptor): Likewise.  Fix formatting nits.
1303
1304 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
1305
1306         * gcc-interface/ada-tree.def (LOOP_STMT): Change to 4-operand nodes.
1307         * gcc-interface/ada-tree.h (LOOP_STMT_TOP_COND, LOOP_STMT_BOT_COND):
1308         Merge into...
1309         (LOOP_STMT_COND): ...this.
1310         (LOOP_STMT_BOTTOM_COND_P): New flag.
1311         (LOOP_STMT_TOP_UPDATE_P): Likewise.
1312         * gcc-interface/trans.c (can_equal_min_or_max_val_p): New function.
1313         (can_equal_min_val_p): New static inline function.
1314         (can_equal_max_val_p): Likewise.
1315         (Loop_Statement_to_gnu): Use build4 in lieu of build5 and adjust to
1316         new LOOP_STMT semantics.  Use two different strategies depending on
1317         whether optimization is enabled to translate the loop.
1318         (gnat_gimplify_stmt) <LOOP_STMT>: Adjust to new LOOP_STMT semantics.
1319
1320 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
1321
1322         * uintp.adb (UI_From_Dint): Remove useless code.
1323         (UI_From_Int): Likewise.
1324         * uintp.h: Reorder declarations.
1325         (UI_From_gnu): Declare.
1326         (UI_Base): Likewise.
1327         (Vector_Template): Likewise.
1328         (Vector_To_Uint): Likewise.
1329         (Uint_0): Remove.
1330         (Uint_1): Likewise.
1331         * gcc-interface/gigi.h: Tweak comments.
1332         * gcc-interface/cuintp.c (UI_From_gnu): New global function.
1333         * gcc-interface/decl.c (maybe_pad_type): Do not warn if either size
1334         overflows.
1335         (annotate_value) <INTEGER_CST>: Call UI_From_gnu.
1336         * gcc-interface/trans.c (post_error_ne_num): Call post_error_ne.
1337         (post_error_ne_tree): Call UI_From_gnu and post_error_ne.
1338         * gcc-interface/utils.c (max_size) <tcc_binary>: Do not special-case
1339         TYPE_MAX_VALUE.
1340
1341 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
1342
1343         * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Just copy
1344         TYPE_NAME.
1345         * gcc-interface/trans.c (smaller_packable_type_p): Rename into...
1346         (smaller_form_type_p): ...this.  Change parameter and variable names.
1347         (call_to_gnu): Use the nominal type of the parameter to create the
1348         temporary if it's a smaller form of the actual type.
1349         (addressable_p): Return false if the actual type is integral and its
1350         size is greater than that of the expected type.
1351
1352 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
1353
1354         * gcc-interface/cuintp.c (UI_To_gnu): Fix long line.
1355         * gcc-interface/gigi.h (MARK_VISITED): Skip objects of constant class.
1356         (process_attributes): Delete.
1357         (post_error_ne_num): Change parameter name.
1358         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force debug info
1359         with -g3.  Remove a couple of obsolete lines.  Minor tweaks.
1360         If type annotating mode, operate on trees to compute the adjustment to
1361         the sizes of tagged types.  Fix long line.
1362         (cannot_be_superflat_p): Tweak head comment.
1363         (annotate_value): Fold local constant.
1364         (set_rm_size): Fix long line.
1365         * gcc-interface/trans.c (Identifier_to_gnu): Rework comments.
1366         (Attribute_to_gnu): Fix long line.
1367         <Attr_Size>: Remove useless assertion.
1368         Reorder statements.  Use size_binop routine.
1369         (Loop_Statement_to_gnu): Use build5 in lieu of build_nt.
1370         Create local variables for the label and the test.  Tweak comments.
1371         (Subprogram_Body_to_gnu): Reset cfun to NULL.
1372         (Compilation_Unit_to_gnu): Use the Sloc of the Unit node.
1373         (process_inlined_subprograms): Integrate into...
1374         (Compilation_Unit_to_gnu): ...this.
1375         (gnat_to_gnu): Fix long line.
1376         (post_error_ne_num): Change parameter name.
1377         * gcc-interface/utils.c (process_attributes): Static-ify.
1378         <ATTR_MACHINE_ATTRIBUTE>: Set input_location before proceeding.
1379         (create_type_decl): Add comment.
1380         (create_var_decl_1): Process the attributes after adding the VAR_DECL
1381         to the current binding level.
1382         (create_subprog_decl): Likewise for the FUNCTION_DECL.
1383         (end_subprog_body): Do not reset cfun to NULL.
1384         (build_vms_descriptor32): Fix long line.
1385         (build_vms_descriptor): Likewise.
1386         (handle_nonnull_attribute): Likewise.
1387         (convert_vms_descriptor64): Likewise.
1388         * gcc-interface/utils2.c (fill_vms_descriptor): Fix long line.
1389         (gnat_protect_expr): Fix thinko.
1390
1391 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
1392
1393         * gcc-interface/trans.c (gigi): Set DECL_IGNORED_P on EH functions.
1394         (gnat_to_gnu) <N_Op_Eq>: Restore the value of input_location
1395         before translating the top-level node.
1396         (lvalue_required_p) <N_Function_Call>: Return 1 if !constant.
1397         <N_Object_Declaration>: Likewise.
1398         <N_Assignment_Statement>: Likewise.
1399         <N_Unchecked_Type_Conversion>: Likewise.
1400         (call_to_gnu): Remove kludge.
1401         (gnat_to_gnu) <N_Return_Statement>: When not optimizing, force labels
1402         associated with user returns to be preserved.
1403         (gnat_to_gnu): Add special code to deal with boolean rvalues.
1404         * gcc-interface/utils2.c (compare_arrays): Set input_location on all
1405         comparisons.
1406         (build_unary_op) <ADDR_EXPR>: Call build_fold_addr_expr.
1407         <INDIRECT_REF>: Call build_fold_indirect_ref.
1408
1409 2010-04-15  Joel Sherrill  <joel.sherrill@oarcorp.com>
1410
1411         * g-socket.adb: A target can have multiple missing errno's.  This
1412         will result in multiple errno's being defined as -1.  Because of this
1413         we can not use a case but must use a series of if's to avoid 
1414         a duplicate case error in GNAT.Sockets.Resolve_Error.
1415
1416 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
1417
1418         * gcc-interface/trans.c (call_to_gnu): Open a nesting level if this is
1419         a statement.  Otherwise, if at top-level, push the processing of the
1420         elaboration routine.  In the misaligned case, issue the error messages
1421         again on entry and create the temporary explicitly.  Do not issue them
1422         for CONSTRUCTORs.
1423         For a function call, emit the range check if necessary.
1424         In the copy-in copy-out case, create the temporary for the return
1425         value explicitly.
1426         Do not unnecessarily convert by-ref parameters to the formal's type.
1427         Remove obsolete guards in conditions.
1428         (gnat_to_gnu) <N_Assignment_Statement>: For a function call, pass the
1429         target to call_to_gnu in all cases.
1430         (gnat_gimplify_expr) <ADDR_EXPR>: Remove handling of SAVE_EXPR.
1431         (addressable_p) <CONSTRUCTOR>: Return false if not static.
1432         <COMPOUND_EXPR>: New case.
1433         * gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Fold a compound
1434         expression if it has unconstrained array type.
1435         (gnat_mark_addressable) <COMPOUND_EXPR>: New case.
1436         (gnat_stabilize_reference) <COMPOUND_EXPR>: Stabilize operands on an
1437         individual basis.
1438
1439 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
1440
1441         * gcc-interface/trans.c (gigi): Do not start statement group.
1442         (Compilation_Unit_to_gnu): Set current_function_decl to NULL.
1443         Start statement group and push binding level here...
1444         (gnat_to_gnu) <N_Compilation_Unit>: ...and not here.
1445         Do not push fake contexts at top level.  Remove redundant code.
1446         (call_to_gnu): Rename a local variable and constify another.
1447         * gcc-interface/utils.c (gnat_pushlevel): Fix formatting nits.
1448         (set_current_block_context): Set it as the group's block.
1449         (gnat_init_decl_processing): Delete unrelated init code.
1450         (end_subprog_body): Use NULL_TREE.
1451
1452 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
1453
1454         * gcc-interface/trans.c (call_to_gnu): Do not unnecessarily force
1455         side-effects of actual parameters before the call.
1456
1457 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
1458
1459         * gcc-interface/decl.c (validate_size): Reorder, remove obsolete test
1460         and warning.
1461         (set_rm_size): Reorder and remove obsolete test.
1462
1463 2010-04-14  Eric Botcazou  <ebotcazou@adacore.com>
1464
1465         * gcc-interface/gigi.h: Reorder declarations and tweak comments.
1466         (gigi): Adjust ATTRIBUTE_UNUSED markers.
1467         * gcc-interface/gadaint.h: New file.
1468         * gcc-interface/trans.c: Include it in lieu of adaint.h.  Reorder.
1469         (__gnat_to_canonical_file_spec): Remove declaration.
1470         (number_names): Delete.
1471         (number_files): Likewise.
1472         (gigi): Adjust.
1473         * gcc-interface/Make-lang.in (ada/trans.o): Adjust dependencies to
1474         above change.
1475
1476 2010-04-14  Eric Botcazou  <ebotcazou@adacore.com>
1477
1478         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Class_Wide_Type>: Fix
1479         comment.
1480         * gcc-interface/trans.c (process_freeze_entity): Use local copy of
1481         Ekind.  Return early for class-wide types.  Do not compute initializer
1482         unless necessary.  Reuse the tree for an associated class-wide type
1483         only if processing its root type.
1484
1485 2010-04-13  Joel Sherrill  <joel.sherrill@oarcorp.com>
1486
1487         * gsocket.h: Run-time can no longer be built without network
1488         OS headers available.  Changing RTEMS GNAT build procedure to
1489         reflect this and letting run-time build use network .h files.
1490
1491 2010-04-13  Duncan Sands  <baldrick@free.fr>
1492
1493         * gcc-interface/misc.c (gnat_eh_type_covers): Remove.
1494         * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Update comment.
1495
1496 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
1497
1498         * gcc-interface/gigi.h (standard_datatypes): Add ADT_parent_name_id.
1499         (parent_name_id): New macro.
1500         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Use it.
1501         * gcc-interface/trans.c (gigi): Initialize it.
1502         (lvalue_required_p) <N_Type_Conversion>: New case.
1503         <N_Qualified_Expression>: Likewise.
1504         <N_Allocator>: Likewise.
1505         * gcc-interface/utils.c (convert): Try to properly upcast tagged types.
1506
1507 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
1508
1509         * gcc-interface/ada-tree.h (TYPE_BY_REFERENCE_P): Delete.
1510         (DECL_CONST_ADDRESS_P): New macro.
1511         (SET_DECL_ORIGINAL_FIELD_TO_FIELD): Likewise.
1512         (SAME_FIELD_P): Likewise.
1513         * gcc-interface/decl.c (constructor_address_p): New static function.
1514         (gnat_to_gnu_entity) <object>: Set DECL_CONST_ADDRESS_P according to
1515         the return value of above function.
1516         (gnat_to_gnu_entity) <E_Record_Type>: Force BLKmode for all types
1517         passed by reference.
1518         <E_Record_Subtype>: Likewise.
1519         Set TREE_ADDRESSABLE on the type if it passed by reference.
1520         (make_packable_type): Use SET_DECL_ORIGINAL_FIELD_TO_FIELD.
1521         (create_field_decl_from): Likewise.
1522         (substitute_in_type): Likewise.
1523         (purpose_member_field): Use SAME_FIELD_P.
1524         * gcc-interface/misc.c (must_pass_by_ref): Test TREE_ADDRESSABLE.
1525         * gcc-interface/trans.c (lvalue_required_p): Add ADDRESS_OF_CONSTANT
1526         parameter and adjust recursive calls.
1527         <N_Explicit_Dereference>: New case.
1528         <N_Object_Declaration>: Return 1 if the object is of a class-wide type.
1529         Adjust calls to lvalue_required_p.  Do not return the initializer of a
1530         DECL_CONST_ADDRESS_P constant if an lvalue is required for it.
1531         (call_to_gnu): Delay issuing error message for a misaligned actual and
1532         avoid the associated back-end assertion.  Test TREE_ADDRESSABLE.
1533         (gnat_gimplify_expr) <ADDR_EXPR>: Handle non-static constructors.
1534         * gcc-interface/utils.c (make_dummy_type): Set TREE_ADDRESSABLE if the
1535         type is passed by reference.
1536         (convert) <CONSTRUCTOR>: Convert in-place in more cases.
1537         * gcc-interface/utils2.c (build_cond_expr): Drop TYPE_BY_REFERENCE_P.
1538         (build_simple_component_ref): Use SAME_FIELD_P.
1539
1540 2010-04-12  Eric Botcazou  <ebotcazou@adacore.com>
1541
1542         * gcc-interface/trans.c (Identifier_to_gnu): Use boolean variable.
1543         (call_to_gnu): Test gigi's flag TYPE_BY_REFERENCE_P instead of calling
1544         front-end's predicate Is_By_Reference_Type.  Use consistent order and
1545         remove ??? comment.  Use original conversion in all cases, if any.
1546         * gcc-interface/utils.c (make_dummy_type): Minor tweak.
1547         (convert): Use local copy in more cases.
1548         <INDIRECT_REF>: Remove deactivated code.
1549         (unchecked_convert): Use a couple of local copies.
1550
1551 2010-04-11  Eric Botcazou  <ebotcazou@adacore.com>
1552
1553         * gcc-interface/trans.c (lvalue_required_for_attribute_p): New static
1554         function.
1555         (lvalue_required_p) <N_Attribute_Reference>: Call it.
1556         (gnat_to_gnu) <N_Selected_Component>: Prevent build_component_ref from
1557         folding the result only if lvalue_required_for_attribute_p is true.
1558         * gcc-interface/utils.c (maybe_unconstrained_array): Pass correctly
1559         typed constant to build_component_ref.
1560         (unchecked_convert): Likewise.
1561         * gcc-interface/utils2.c (maybe_wrap_malloc): Likewise.
1562         (build_allocator): Likewise.
1563
1564 2010-04-11  Eric Botcazou  <ebotcazou@adacore.com>
1565
1566         * gcc-interface/utils2.c (build_cond_expr): Take the address and
1567         dereference if the result type is passed by reference.
1568
1569 2010-04-11  Eric Botcazou  <ebotcazou@adacore.com>
1570
1571         * gcc-interface/trans.c (Case_Statement_to_gnu): Bool-ify variable.
1572         (gnat_to_gnu) <N_Null_Statement>: When not optimizing, generate a
1573         goto to the next statement.
1574
1575 2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
1576
1577         * gcc-interface/gigi.h (maybe_variable): Delete.
1578         (protect_multiple_eval): Likewise.
1579         (maybe_stabilize_reference): Likewise.
1580         (gnat_save_expr): Declare.
1581         (gnat_protect_expr): Likewise.
1582         (gnat_stabilize_reference): Likewise.
1583         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use
1584         gnat_stabilize_reference.
1585         (maybe_variable): Delete.
1586         (elaborate_expression_1): Use gnat_save_expr.
1587         * gcc-interface/trans.c (Attribute_to_gnu): Use gnat_protect_expr.
1588         (call_to_gnu): Pass NULL to gnat_stabilize_reference.
1589         (gnat_to_gnu) <N_Object_Declaration>: Use gnat_save_expr.
1590         <N_Slice>: Use gnat_protect_exp.
1591         <N_Selected_Component>: Pass NULL to gnat_stabilize_reference.
1592         <N_In>: Use gnat_protect_expr.
1593         Pass NULL to gnat_stabilize_reference.
1594         (build_unary_op_trapv): Use gnat_protect_expr.
1595         (build_binary_op_trapv): Likewise.
1596         (emit_range_check): Likewise.
1597         (emit_index_check): Likewise.
1598         (convert_with_check): Likewise.
1599         (protect_multiple_eval): Move to utils2.c file.
1600         (maybe_stabilize_reference): Merge into...
1601         (gnat_stabilize_reference): ...this.  Move to utils2.c file.
1602         (gnat_stabilize_reference_1): Likewise.
1603         * gcc-interface/utils.c (convert_to_fat_pointer): Use gnat_protect_expr
1604         instead of protect_multiple_eval.
1605         * gcc-interface/utils2.c (compare_arrays): Likewise.
1606         (nonbinary_modular_operation): Likewise.
1607         (maybe_wrap_malloc): Likewise.
1608         (build_allocator): Likewise.
1609         (gnat_save_expr): New function.
1610         (gnat_protect_expr): Rename from protect_multiple_eval.  Early return
1611         in common cases.  Propagate TREE_READONLY onto dereferences.
1612         (gnat_stabilize_reference_1): Move from trans.c file.
1613         (gnat_stabilize_reference): Likewise.
1614
1615 2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
1616
1617         * gcc-interface/gigi.h (gnat_mark_addressable): Rename parameter.
1618         * gcc-interface/decl.c (maybe_variable): Do not set TREE_STATIC on _REF
1619         node.  Use the type of the operand to set TREE_READONLY.
1620         * gcc-interface/trans.c (Identifier_to_gnu): Do not set TREE_STATIC on
1621         _REF node.  Do not overwrite TREE_READONLY.
1622         (call_to_gnu): Rename local variable and fix various nits.  In the
1623         copy-in/copy-out case, build the SAVE_EXPR manually.
1624         (convert_with_check): Call protect_multiple_eval in lieu of save_expr
1625         and fold the computations.
1626         (protect_multiple_eval): Always save entire fat pointers.
1627         (maybe_stabilize_reference): Minor tweaks.
1628         (gnat_stabilize_reference_1): Likewise.  Do not deal with tcc_constant,
1629         tcc_type and tcc_statement.
1630         * gcc-interface/utils.c (convert_to_fat_pointer): Call
1631         protect_multiple_eval in lieu of save_expr.
1632         (convert): Minor tweaks.
1633         (maybe_unconstrained_array): Do not set TREE_STATIC on _REF node.
1634         (builtin_type_for_size): Call gnat_type_for_size directly.
1635         * gcc-interface/utils2.c (contains_save_expr_p): Delete.
1636         (contains_null_expr): Likewise
1637         (gnat_build_constructor): Do not call it.
1638         (compare_arrays): Deal with all side-effects, use protect_multiple_eval
1639         instead of gnat_stabilize_reference to protect the operands.
1640         (nonbinary_modular_operation): Call protect_multiple_eval in lieu of
1641         save_expr.
1642         (maybe_wrap_malloc): Likewise.
1643         (build_allocator): Likewise.
1644         (build_unary_op) <INDIRECT_REF>: Do not set TREE_STATIC on _REF node.
1645         (gnat_mark_addressable): Rename parameter.
1646
1647 2010-04-08  Eric Botcazou  <ebotcazou@adacore.com>
1648
1649         * gcc-interface/ada-tree.h (TYPE_RETURNS_UNCONSTRAINED_P): Rename into.
1650         (TYPE_RETURN_UNCONSTRAINED_P): ...this.
1651         (TYPE_RETURNS_BY_REF_P): Rename into.
1652         (TYPE_RETURN_BY_DIRECT_REF_P): ...this.
1653         (TYPE_RETURNS_BY_TARGET_PTR_P): Delete.
1654         * gcc-interface/gigi.h (create_subprog_type): Adjust parameter names.
1655         (build_return_expr): Likewise.
1656         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>:
1657         Rename local variables.  If the return Mechanism is By_Reference, pass
1658         return_by_invisible_ref_p to create_subprog_type instead of toggling
1659         TREE_ADDRESSABLE.  Test return_by_invisible_ref_p in order to annotate
1660         the mechanism.  Use regular return for contrained types with non-static
1661         size and return by invisible reference for unconstrained return types
1662         with default discriminants.  Update comment.
1663         * gcc-interface/trans.c (Subprogram_Body_to_gnu): If the function
1664         returns by invisible reference, turn the RESULT_DECL into a pointer.
1665         Do not handle DECL_BY_REF_P in the CICO case here.
1666         (call_to_gnu): Remove code handling return by target pointer.  For a
1667         function call, if the return type has non-constant size, generate the
1668         assignment with an INIT_EXPR.
1669         (gnat_to_gnu) <N_Return_Statement>: Remove dead code in the CICO case.
1670         If the function returns by invisible reference, build the copy return
1671         operation manually.
1672         (add_decl_expr): Initialize the variable with an INIT_EXPR.
1673         * gcc-interface/utils.c (create_subprog_type): Adjust parameter names.
1674         Adjust for renaming of macros.  Copy the node only when necessary.
1675         (create_subprog_decl): Do not toggle TREE_ADDRESSABLE on the return
1676         type, only change DECL_BY_REFERENCE on the RETURN_DECL.
1677         (convert_from_reference): Delete.
1678         (is_byref_result): Likewise.
1679         (gnat_genericize_r): Likewise.
1680         (gnat_genericize): Likewise.
1681         (end_subprog_body): Do not call gnat_genericize.
1682         * gcc-interface/utils2.c (build_binary_op) <INIT_EXPR>: New case.
1683         (build_return_expr): Adjust parameter names, logic and comment.
1684
1685 2010-04-07  Eric Botcazou  <ebotcazou@adacore.com>
1686
1687         * exp_pakd.adb (Create_Packed_Array_Type): Always use a modular type
1688         if the size is small enough.  Propagate the alignment if there is an
1689         alignment clause on the original array type.
1690         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
1691         Deal with under-aligned packed array types.  Copy the size onto the
1692         justified modular type and don't lay it out again.  Likewise for the
1693         padding type built for other under-aligned subtypes.
1694         * gcc-interface/utils.c (finish_record_type): Do not set a default mode
1695         on the type.
1696
1697 2010-04-07  Eric Botcazou  <ebotcazou@adacore.com>
1698
1699         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set default
1700         alignment on the RETURN type built for the Copy-In Copy-Out mechanism.
1701
1702 2010-04-07  Eric Botcazou  <ebotcazou@adacore.com>
1703
1704         * gcc-interface/trans.c (call_to_gnu): In the return-by-target-ptr case
1705         do not set the result type if there is a specified target and do not
1706         convert the result in any cases.
1707         (protect_multiple_eval): Make direct SAVE_EXPR for CALL_EXPR.
1708         (maybe_stabilize_reference) <COMPOUND_EXPR>: Merge with CALL_EXPR.
1709
1710 2010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
1711
1712         * gcc-interface/Makefile.in (SPARC/Solaris): Use sparcv8plus.
1713
1714 2010-02-27  Eric Botcazou  <ebotcazou@adacore.com>
1715
1716         PR ada/42253
1717         * gcc-interface/utils2.c (build_binary_op) <EQ_EXPR>: Assert that fat
1718         pointer base types are variant of each other.  Apply special treatment
1719         for null to fat pointer types in all cases.
1720
1721 2010-01-28  Pascal Obry  <obry@adacore.com>
1722
1723         * s-win32.ads: Add some missing constants.
1724
1725 2010-01-28  Vincent Celier  <celier@adacore.com>
1726
1727         * prj-attr-pm.adb (Add_Attribute): Do nothing if To_Package is
1728         Unknown_Package.
1729
1730 2010-01-28  Robert Dewar  <dewar@adacore.com>
1731
1732         * gnat_rm.texi: Minor correction
1733
1734 2010-01-27  Pascal Obry  <obry@adacore.com>
1735
1736         * g-awk.adb: ensure that an AWK session is reusable.
1737
1738 2010-01-27  Vasiliy Fofanov  <fofanov@adacore.com>
1739
1740         * g-regist.adb (For_Every_Key): Fix previous change.
1741         Minor reformatting.
1742
1743 2010-01-27  Thomas Quinot  <quinot@adacore.com>
1744
1745         * lib-writ.ads: Current version of spec for new N (note) ALI lines
1746
1747 2010-01-27  Yannick Moy  <moy@adacore.com>
1748
1749         * a-cdlili.adb (Insert): Correct exception message when cursor
1750         designates wrong list.
1751
1752 2010-01-27  Vincent Celier  <celier@adacore.com>
1753
1754         * gnatcmd.adb: When there is only one main specified, the package
1755         support Switches (<main>) and attribute Switches is specified for the
1756         main, use these switches, instead of Default_Switches ("Ada").
1757
1758 2010-01-27  Robert Dewar  <dewar@adacore.com>
1759
1760         * sem_prag.adb, par-prag.adb, snames.ads-tmpl: pragma Dimension initial
1761         implementation.
1762         * exp_disp.adb: Minor reformatting
1763
1764 2010-01-27  Tristan Gingold  <gingold@adacore.com>
1765
1766         * seh_init.c: Use __ImageBase instead of _ImageBase.
1767
1768 2010-01-27  Javier Miranda  <miranda@adacore.com>
1769
1770         * exp_disp.ads, exp_disp.adb (Expand_Interface_Thunk): Modify the
1771         profile of interface thunks. The type of the controlling formal is now
1772         the covered interface type (instead of the target tagged type).
1773
1774 2010-01-27  Sergey Rybin  <rybin@adacore.com>
1775
1776         * gnat_rm.texi, gnat_ugn.texi: Update gnatcheck doc.
1777
1778 2010-01-27  Robert Dewar  <dewar@adacore.com>
1779
1780         * sinput.ads, sinput.adb (Sloc_Range): Applies to all nodes, formal
1781         changed from Expr to N.
1782
1783 2010-01-26  Thomas Quinot  <quinot@adacore.com>
1784
1785         * gnat_ugn.texi: Adjust documentation of -gnatz switches.
1786         * usage.adb: Replace line for -gnatz with two lines for -gnatzc and
1787         -gnatzr.
1788
1789 2010-01-26  Vincent Celier  <celier@adacore.com>
1790
1791         * prj-attr.adb: Add new attribute Library_Install_Name_Option
1792         Replace attribute Run_Path_Origin_Supported with Run_Path_Origin
1793         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
1794         attributes Run_Path_Option and Library_Install_Name_Option.
1795         * prj.ads (Project_Configuration): Replace component
1796         Run_Path_Origin_Supported with component Run_Path_Origin. Add new
1797         component Library_Install_Name_Option.
1798         * snames.ads-tmpl: Add new standard name Library_Install_Name_Option
1799         Replace Run_Path_Origin_Supported with Run_Path_Origin
1800
1801 2010-01-26  Ed Schonberg  <schonberg@adacore.com>
1802
1803         * sem_ch8.adb (Use_One_Package): Within an instance, an actual package
1804         is not hidden by a homograph declared in another actual package.
1805
1806 2010-01-26  Robert Dewar  <dewar@adacore.com>
1807
1808         * par_sco.adb (Traverse_Declarations_Or_Statements): Only generate
1809         decisions for pragmas Assert, Check, Precondition, Postcondition if
1810         -gnata set.
1811         * scos.ads: Update comments.
1812         * get_scos.adb, put_scos.adb: Minor fix to code reading statement SCOs.
1813         Also remove obsolete code for CT (exit point) SCOs.
1814
1815 2010-01-26  Thomas Quinot  <quinot@adacore.com>
1816
1817         * switch-c.adb: Fix handling of -gnatz*
1818
1819 2010-01-26  Robert Dewar  <dewar@adacore.com>
1820
1821         * par_sco.adb (Traverse_Declarations_Or_Statements): Separate F/W
1822         qualifiers for FOR/WHILE loops
1823         * scos.ads: Use separate type letters F/W for for/while loops
1824
1825 2010-01-26  Robert Dewar  <dewar@adacore.com>
1826
1827         * get_scos.adb (Get_SCOs): Implement new form of CS entries (multiple
1828         entries per line, one for each statement in the sequence).
1829         * par_sco.adb (Traverse_Declarations_Or_Statements): Increase array
1830         size from 100 to 10_000 for SC_Array to avoid any real possibility of
1831         overflow. Output decisions in for loops.
1832         Exclude labels from CS lines.
1833         * scos.ads: Clarify that label is not included in the entry point
1834
1835 2010-01-26  Robert Dewar  <dewar@adacore.com>
1836
1837         * par_sco.adb (Traverse_Declarations_Or_Statments): Implement new
1838         format of statement sequence SCO entries (one location/statement).
1839         * put_scos.adb (Put_SCOs): Implement new format of CS lines
1840         * scos.ads: Update comments.
1841         * sem_eval.adb: Minor reformatting.
1842
1843 2010-01-26  Robert Dewar  <dewar@adacore.com>
1844
1845         * par_sco.ads, par_sco.adb (Set_Statement_Entry): New handling of exits
1846         (Extend_Statement_Sequence): New procedures
1847         (Traverse_Declarations_Or_Statements): New handling for exits.
1848
1849 2010-01-26  Robert Dewar  <dewar@adacore.com>
1850
1851         * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
1852         Case.
1853
1854 2010-01-26  Robert Dewar  <dewar@adacore.com>
1855
1856         * par_sco.adb (Is_Logical_Operator): Exclude AND/OR/XOR
1857         * scos.ads: Clarify handling of logical operators
1858
1859 2010-01-26  Arnaud Charlet  <charlet@adacore.com>
1860
1861         * s-tpoben.adb: Update comments.
1862
1863 2010-01-26  Robert Dewar  <dewar@adacore.com>
1864
1865         * freeze.adb (Set_Small_Size): Don't set size if alignment clause
1866         present.
1867
1868 2010-01-26  Robert Dewar  <dewar@adacore.com>
1869
1870         * scos.ads: Clean up documentation, remove obsolete XOR references
1871 2010-01-26  Vincent Celier  <celier@adacore.com>
1872
1873         * gnat_ugn.texi: Complete documentation on the restrictions for
1874         combined options in -gnatxxx switches.
1875         Fix typo.
1876
1877 2010-01-26  Arnaud Charlet  <charlet@adacore.com>
1878
1879         * s-tpoben.adb (Initialize_Protection_Entries): If a PO is created from
1880         a controlled operation, abort is already deferred at this point, so we
1881         need to use Defer_Abort_Nestable.
1882
1883 2010-01-26  Vincent Celier  <celier@adacore.com>
1884
1885         * prj-conf.adb (Get_Config_Switches): Check for a default language for
1886         a project extending a project with no languages.
1887
1888 2010-01-26  Vincent Celier  <celier@adacore.com>
1889
1890         * switch-c.adb (Scan_Front_End_Switches): Take into account options
1891         that follow -gnatef.
1892         Allow -gnateG to be followed by other options.
1893
1894 2010-01-26  Robert Dewar  <dewar@adacore.com>
1895
1896         * s-commun.ads, s-osprim-mingw.adb, s-stchop-vxworks.adb, sem_aggr.adb,
1897         s-vxwext.adb, sem_ch10.adb, sem_eval.adb, sem_prag.adb: Minor
1898         reformatting.
1899
1900 2010-01-26  Vasiliy Fofanov  <fofanov@adacore.com>
1901
1902         * g-regist.adb, g-regist.ads (For_Every_Key): New generic procedure
1903         that allows to iterate over all subkeys of a key.
1904
1905 2010-01-26  Ed Falis  <falis@adacore.com>
1906
1907         * sysdep.c: enable NFS for VxWorks MILS
1908         * env.c: enable __gnat_environ for VxWorks MILS
1909         * gcc-interface/Makefile.in: Add VxWorks MILS target pairs.
1910
1911 2010-01-25  Bob Duff  <duff@adacore.com>
1912
1913         * sem_aggr.adb (Resolve_Array_Aggregate): Check for the case where this
1914         is an internally-generated positional aggregate, and the bounds are
1915         already correctly set. We don't want to overwrite those bounds with
1916         bounds determined by context.
1917
1918 2010-01-25  Robert Dewar  <dewar@adacore.com>
1919
1920         * g-sercom.ads, gnatcmd.adb, gnatlink.adb, a-ststio.adb, exp_ch6.adb,
1921         exp_ch9.adb, g-sechas.ads: Minor reformatting.
1922
1923 2010-01-25  Thomas Quinot  <quinot@adacore.com>
1924
1925         * s-commun.adb (Last_Index): Count must be converted to SEO (a signed
1926         integer type) before subtracting 1, otherwise the computation may wrap
1927         (because size_t is modular) and cause the conversion to fail.
1928
1929 2010-01-25  Ed Falis  <falis@adacore.com>
1930
1931         * sysdep.c, init.c: Adapt to support full run-time on VxWorks MILS.
1932
1933 2010-01-25  Vincent Celier  <celier@adacore.com>
1934
1935         * prj-attr.adb: New attribute Run_Path_Origin_Required
1936         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process new
1937         attribute Run_Path_Origin_Required.
1938         * prj.ads (Project_Configuration): New component
1939         Run_Path_Origin_Supported.
1940         * snames.ads-tmpl: New standard name Run_Path_Origin_Required
1941
1942 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
1943
1944         * sem_aggr.adb (Resolve_Array_Aggregate): If the bounds in a choice
1945         have errors, do not continue resolution of the aggregate.
1946         * sem_eval.adb (Eval_Indexed_Component): Do not attempt to evaluate if
1947         the array type indicates an error.
1948
1949 2010-01-25  Bob Duff  <duff@adacore.com>
1950
1951         * sinfo.ads: Minor comment fixes.
1952
1953 2010-01-25  Bob Duff  <duff@adacore.com>
1954
1955         * exp_ch4.adb, exp_aggr.adb: Minor comment fixes and code clean up.
1956
1957 2010-01-25  Arnaud Charlet  <charlet@adacore.com>
1958
1959         * gnatvsn.ads (Current_Year): Update.
1960
1961 2010-01-25  Florian Villoing  <villoing@adacore.com>
1962
1963         * gnat_ugn.texi: Fix typo.
1964
1965 2010-01-25  Thomas Quinot  <quinot@adacore.com>
1966
1967         * scos.ads: Update specification.
1968
1969 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
1970
1971         * sem_ch6.adb (Process_PPCs): If a postcondition is present and the
1972         enclosing subprogram has no previous spec, attach postcondition
1973         procedure to the defining entity for the body.
1974
1975 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
1976
1977         * exp_aggr.adb (Build_Record_Aggr_Code); Do not generate call to
1978         initialization procedure of the ancestor part of an extension aggregate
1979         if it is an interface type.
1980
1981 2010-01-25  Vincent Celier  <celier@adacore.com>
1982
1983         * gnatlink.adb (Process_Binder_File): The directory for the shared
1984         version of libgcc in the run path options is found in the subdirectory
1985         indicated by __gnat_default_libgcc_subdir.
1986         * link.c: Declare new const char * __gnat_default_libgcc_subdir for
1987         each platform.
1988
1989 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
1990
1991         * sem_prag.adb: More flexible pragma Annotate.
1992
1993 2010-01-22  Eric Botcazou  <ebotcazou@adacore.com>
1994
1995         * system-linux-armel.ads (Stack_Check_Probes): Set to True.
1996         * system-linux-armeb.ads (Stack_Check_Probes): Likewise.
1997
1998 2010-01-18  Eric Botcazou  <ebotcazou@adacore.com>
1999
2000         * gcc-interface/utils.c (create_var_decl_1): Fix formatting nits.
2001
2002 2010-01-18  Jan Hubicka  <jh@suse.cz>
2003
2004         PR middle-end/42068
2005         * gcc-interface/utils.c (create_var_decl_1): Do not set COMMON flag for
2006         unit local variables.
2007
2008 2010-01-17  Laurent GUERBY  <laurent@guerby.net>
2009
2010         * gcc-interface/Makefile.in: Fix typo in arm*-*-linux-gnueabi.
2011
2012 2010-01-11  Mikael Pettersson  <mikpe@it.uu.se>
2013
2014         * gcc-interface/Makefile.in: Add arm*-*-linux-gnueabi.
2015         * system-linux-armeb.ads, system-linux-armel.ads: New files.
2016
2017 2010-01-09  Simon Wright  <simon@pushface.org>
2018
2019         PR ada/42626
2020         * gcc-interface/Makefile.in (gnatlib-shared-darwin): Add missing
2021         end-quote.
2022
2023
2024 \f
2025 Copyright (C) 2010 Free Software Foundation, Inc.
2026
2027 Copying and distribution of this file, with or without modification,
2028 are permitted in any medium without royalty provided the copyright
2029 notice and this notice are preserved.