OSDN Git Service

2013-04-12 Ed Schonberg <schonberg@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2013-04-12  Ed Schonberg  <schonberg@adacore.com>
2
3         * s-rident.ads: Add various missing Ada 2012 restrictions:
4         No_Access_Parameter_Allocators, No_Coextensions,
5         No_Use_Of_Attribute, No_Use_Of_Pragma.
6         * snames.ads-tmpl: Add corresponding names.
7         * restrict.ads restrict.adb: Subprograms and data structures to
8         handle aspects No_Use_Of_Attribute and No_Use_Of_Pragma.
9         * sem_ch4.adb: Correct name of restrictions is
10         No_Standard_Allocators_After_Elaboration.
11         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
12         violation of restriction No_Use_Of_Attribute.
13         * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
14         Set restrictions No_Use_Of_Pragma and No_Use_Of_Attribute.
15         (Analyze_Pragma): Check violation of restriction No_Use_Of_Pragma.
16         * sem_res.adb: Check restrictions No_Access_Parameter_Allocators
17         and No_Coextensions.
18         * bcheck.adb: Correct name of restrictions is
19         No_Standard_Allocators_After_Elaboration.
20         * gnatbind.adb: Correct name of restrictions is
21         No_Standard_Allocators_After_Elaboration.
22
23 2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>
24
25         * sem_prag.adb (Analyze_Pragma, (Check_Mode_Restriction_In_Function):
26         Correct error message format.
27
28 2013-04-12  Robert Dewar  <dewar@adacore.com>
29
30         * sem_attr.adb: Minor reformatting.
31
32 2013-04-12  Ed Schonberg  <schonberg@adacore.com>
33
34         * sem_elab.adb (Within_Elaborate_All): Do not examine a context
35         item that has not been analyzed, because the unit may have errors,
36         or the context item may come from a proper unit inserted at the
37         point of a stub and not analyzed yet.
38
39 2013-04-12  Thomas Quinot  <quinot@adacore.com>
40
41         * gnat1drv.adb, repinfo.adb, repinfo.ads (Repinfo.List_Array_Info,
42         List_Record_Info): Also include scalar storage order information in
43         output.
44
45 2013-04-12  Yannick Moy  <moy@adacore.com>
46
47         * sem_ch6.adb (Process_Contract_Cases): Update code to apply to
48         Contract_Cases instead of Contract_Case pragma.
49
50 2013-04-12  Robert Dewar  <dewar@adacore.com>
51
52         * a-cfdlli.ads, g-socket.adb, s-fileio.adb: Minor reformatting.
53
54 2013-04-12  Yannick Moy  <moy@adacore.com>
55
56         * sem_attr.adb (Analyze_Attribute): Update analyse of
57         Attribute_Old and Attribute_Result so they are allowed in the
58         right-hand-side of an association in a Contract_Cases pragma.
59         * sem_prag.adb (Analyze_CTC_In_Decl_Part): Add pre-analysis of
60         the expressions in a Contract_Cases pragma.
61
62 2013-04-12  Robert Dewar  <dewar@adacore.com>
63
64         * sem.ads, opt.ads: Minor comment edits.
65         * sem_warn.adb, sem_ch6.adb: Minor reformatting.
66
67 2013-04-12  Claire Dross  <dross@adacore.com>
68
69         * a-cfdlli.adb a-cfdlli.ads (List, Not_No_Element, Iterate,
70         Reverse_Iterate, Query_Element, Update_Element, Read, Write): Removed,
71         not suitable for formal analysis.
72
73 2013-04-12  Ed Schonberg  <schonberg@adacore.com>
74
75         * sem_prag.adb (Analyze_Abstract_State): Use Defining entity
76         to locate package entity, which may be a child unit.
77
78 2013-04-12  Thomas Quinot  <quinot@adacore.com>
79
80         * g-socket.adb, g-socket.ads (Connect_Socket, version with timeout): If
81         the specified timeout is 0, do not attempt to determine whether the
82         connection succeeded.
83
84 2013-04-12  Doug Rupp  <rupp@adacore.com>
85
86         * s-fileio.adb (Form_RMS Context_Key): Fix some thinkos.
87
88 2013-04-12  Doug Rupp  <rupp@adacore.com>
89
90         * s-fileio.adb: Minor reformatting.
91
92 2013-04-12  Ed Schonberg  <schonberg@adacore.com>
93
94         * sem_warn.adb (Check_Infinite_Loop_Warning): Do not warn if
95         the last statement in the analyzed loop is an unconditional
96         exit statement.
97
98 2013-04-12  Robert Dewar  <dewar@adacore.com>
99
100         * opt.ads (Style_Check_Main): New switch.
101         * sem.adb (Semantics): Set Style_Check flag properly for new
102         unit to be analyzed.
103         * sem_ch10.adb (Analyze_With_Clause): Don't reset Style_Check,
104         the proper setting of this flag is now part of the Semantics
105         procedure.
106         * switch-c.adb (Scan_Front_End_Switches): Set Style_Check_Main
107         for -gnatg and -gnaty
108
109 2013-04-12  Doug Rupp  <rupp@adacore.com>
110
111         * s-crtl.ads (fopen, freopen): Add vms_form parameter
112         * i-cstrea.ads (fopen, freopen): Likewise.
113         * adaint.h (__gnat_fopen, __gnat_freopen): Likewise.
114         * adaint.c (__gnat_fopen, __gnat_freopen): Likewise.
115         [VMS]: Split out RMS keys and call CRTL function appropriately.
116         * s-fileio.adb (Form_VMS_RMS_Keys, Form_RMS_Context_Key): New
117         subprograms.
118         (Open, Reset): Call Form_VMS_RMS_Keys. Call fopen,freopen with
119         vms_form
120         * gnat_rm.texi: Document implemented RMS keys.
121
122 2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>
123
124         * sem_ch13.adb (Analyze_Aspect_Specifications):
125         Insert the corresponding pragma for aspect Abstract_State at
126         the top of the visible declarations of the related package.
127         Previously this was only done when the package is a compilation
128         unit.
129
130 2013-04-12  Arnaud Charlet  <charlet@adacore.com>
131
132         * gnat_ugn.texi: Further menu clean ups.
133         * sem_prag.adb, opt.ads: Minor reformatting.
134         * sem_util.ads: Minor comment fix.
135
136 2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>
137
138         * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect
139         Depends is now a delayed aspect. The delay is required
140         due to the interplay between aspects Depends and Global.
141         (Check_Aspect_At_Freeze_Point): Add an entry for aspect Depends.
142         * sem_prag.adb: Reformat various error messages.
143         (Add_Item): New subsidiary routine.
144         (Analyze_Pragma): Add new variables
145         Global_Seen, Result_Seen, Subp_Inputs and Subp_Outputs. The
146         analysis of pragma Depends now has the capability to check
147         the proper mode and usage of subprogram inputs and outputs.
148         (Appears_In): New routine.
149         (Check_Function_Return): New routine.
150         (Check_Mode): New routine.
151         (Check_Usage): New routine.
152         (Collect_Subprogram_Inputs_Outputs): New routine.
153
154 2013-04-12  Bob Duff  <duff@adacore.com>
155
156         * par-ch7.adb (P_Package): Initialize Sloc in the newly-pushed scope
157         stack entry.
158
159 2013-04-12  Robert Dewar  <dewar@adacore.com>
160
161         * switch-c.adb: Minor fix to wording of error message for
162         -gnatet/eT.
163
164 2013-04-12  Robert Dewar  <dewar@adacore.com>
165
166         * impunit.adb: Add s-multip and s-mudido to list of impl defined
167         system units.
168         * gnat_rm.texi: Add documentation for
169         System.Multiprocessors[.Dispatching_Domains].
170
171 2013-04-12  Ben Brosgol  <brosgol@adacore.com>
172
173         * gnat_ugn.texi: Completion of menu cleanups.
174
175 2013-04-12  Arnaud Charlet  <charlet@adacore.com>
176
177         * sem_prag.adb (Diagnose_Multiple_Pragmas): Relax the rules
178         in Relaxed_RM_Semantics.
179
180 2013-04-12  Arnaud Charlet  <charlet@adacore.com>
181
182         * set_targ.adb (elab code): Add support for non gcc back-ends
183         where save_argv is null.
184
185 2013-04-12  Robert Dewar  <dewar@adacore.com>
186
187         * gnat1drv.adb (Gnat1drv): Test Target_Dependent_Info_Write_Name.
188         * opt.ads (Target_Dependent_Info_Read): Add _Name, now an access
189         type (Target_Dependent_Info_Write): Add _Name, now an access type.
190         * set_targ.adb (Write_Target_Dependent_Values): Use name
191         from -gnatet switch stored in Target_Dependent_Info_Write_Name
192         (Read_Target_Dependent_Values): Use name from -gnateT switch
193         stored in Target_Dependent_Info_Read_Name.
194         * switch-c.adb: New form of -gnatet and -gnateT switches.
195         * usage.adb: New form of -gnatet and -gnateT switches with
196         file name.
197
198 2013-04-11  Eric Botcazou  <ebotcazou@adacore.com>
199
200         * gcc-interface/decl.c (elaborate_expression_1): Skip only constant
201         arithmetics when looking for a read-only variable in the expression.
202
203 2013-04-11  Javier Miranda  <miranda@adacore.com>
204
205         * check.ads, exp_ch6.adb (Install_Null_Excluding_Check): No check in
206         interface thunks since it is performed at the caller side.
207         (Expand_Simple_Function_Return): No accessibility check needed in thunks
208         since the check is done by the target routine.
209
210 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
211
212         * sem_prag.adb (Analyze_Pragma, case Priority): pre-analyze
213         expression with type Any_Priority.
214         * exp_ch9.adb (Initialize_Protection): Check that the value
215         of the priority expression is within the bounds of the proper
216         priority type.
217
218 2013-04-11  Robert Dewar  <dewar@adacore.com>
219
220         * sem_prag.adb, prj-env.adb: Minor reformatting.
221
222 2013-04-11  Ben Brosgol  <brosgol@adacore.com>
223
224         * gnat_ugn.texi: Clean ups.
225
226 2013-04-11  Yannick Moy  <moy@adacore.com>
227
228         * set_targ.adb: Minor comment update.
229
230 2013-04-11  Pascal Obry  <obry@adacore.com>
231
232         * gnat_ugn.texi: Remove obsolete comment about DLL calling
233         convention.
234
235 2013-04-11  Javier Miranda  <miranda@adacore.com>
236
237         * exp_ch6.adb (Expand_Call): For the call to the target primitive
238         of an interface thunks do not compute the extra actuals; just
239         propagate the extra actuals received by the thunk.
240         * exp_disp.adb (Expand_Interface_Thunk): Decorate new attribute
241         Thunk_Entity.
242         * sem_ch6.adb (Create_Extra_Formals): Do not generate extra
243         formals in interface thunks whose target primitive has no extra
244         formals.
245
246 2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>
247
248         * sem_prag.adb (Analyze_Pragma): Detect
249         a renaming by looking at the Renamed_Object attribute.
250         (Is_Renaming): Removed.
251
252 2013-04-11  Vincent Celier  <celier@adacore.com>
253
254         * prj-env.adb (Initialize_Default_Project_Path): Take
255         into account a project path file, specified by environment
256         variable GPR_PROJECT_PATH_FILE, before taking into account
257         GPR_PROJECT_PATH.
258         * projects.texi: Add documentation for GPR_PROJECT_PATH_FILE
259
260 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
261
262         * a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb,
263         a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads,
264         a-cfdlli.adb, a-cfdlli.ads, a-cborma.adb, a-cborma.ads, a-cidlli.adb,
265         a-cidlli.ads, a-ciormu.adb, a-ciormu.ads, a-cihase.adb, a-cihase.ads,
266         a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads, a-cbhama.adb,
267         a-cbhama.ads, a-cborse.adb, a-cborse.ads, a-ciorma.adb, a-cobove.adb,
268         a-ciorma.ads, a-cobove.ads, a-coormu.adb, a-coormu.ads, a-cohase.adb,
269         a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbhase.adb, a-cbhase.ads:
270         Move Iterator operations from body to private part of spec.
271
272 2013-04-11  Eric Botcazou  <ebotcazou@adacore.com>
273
274         * ttypes.ads, get_targ.ads: More minor rewording of comments.
275
276 2013-04-11  Johannes Kanig  <kanig@adacore.com>
277
278         * debug.adb: Document use of switch -gnatd.Z.
279
280 2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>
281
282         * sem_prag.adb (Analyze_Pragma): Both pragma Depends and Global can now
283         support renamings of entire objects. Legal renamings are replaced by
284         the object they rename.
285         (Is_Renaming): New routine.
286
287 2013-04-11  Yannick Moy  <moy@adacore.com>
288
289         * set_targ.adb, opt.ads: Minor changes in comments.
290
291 2013-04-11  Ben Brosgol  <brosgol@adacore.com>
292
293         * gnat_ugn.texi: Minor clean ups.
294
295 2013-04-11  Robert Dewar  <dewar@adacore.com>
296
297         * nlists.ads, nlists.adb, treepr.adb, treepr.ads: Move debugging
298         function p from Nlists to Treepr.
299
300 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
301
302         * sem_disp.adb (Check_Dispatching_Context): If the context is
303         a contract for a null procedure defer error reporting until
304         postcondition body is created.
305         * exp_ch13.adb (Expand_N_Freeze_Entity): If the entity is a
306         null procedure, complete the analysis of its contracts so that
307         calls within classwide conditions are properly rewritten as
308         dispatching calls.
309
310 2013-04-11  Thomas Quinot  <quinot@adacore.com>
311
312         * sem_ch10.adb, sem_ch12.adb: Minor reformatting.
313
314 2013-04-11  Robert Dewar  <dewar@adacore.com>
315
316         * exp_attr.adb, sem_res.adb, sem_attr.adb: Minor reformatting.
317
318 2013-04-11  Robert Dewar  <dewar@adacore.com>
319
320         * atree.adb, atree.ads (Node31): New function.
321         (Set_Node31): New procedure.
322
323 2013-04-11  Robert Dewar  <dewar@adacore.com>
324
325         * errout.ads: Minor typo correction.
326
327 2013-04-11  Javier Miranda  <miranda@adacore.com>
328
329         * einfo.ad[sb] (Thunk_Entity/Set_Thunk_Entity): New attribute.
330
331 2013-04-11  Robert Dewar  <dewar@adacore.com>
332
333         * back_end.adb (Register_Back_End_Types): Moved to Get_Targ
334         * back_end.ads (C_String): Moved to Get_Targ
335         (Register_Type_Proc): Moved to Get_Targ (Register_Back_End_Types):
336         Moved to Get_Targ.
337         * cstand.adb (Register_Float_Type): New interface
338         (Create_Back_End_Float_Types): Use entries in FPT_Mode_Table.
339         * get_targ.adb (Register_Back_End_Types): Moved here from
340         Back_End.
341         * get_targ.ads (C_String): Moved here from Back_End
342         (Register_Type_Proc): Moved here from Back_End
343         (Register_Back_End_Types): here from Back_End.
344         * gnat1drv.adb (GGnat11drv): Add call to
345         Write_Target_Dependent_Values;
346         * lib-writ.ads, lib-writ.adb (Write_ALI): Remove section writing
347         obsolete target dependent info.
348         * opt.ads (Generate_Target_Dependent_Info):
349         Removed (Target_Dependent_Info_Read): New flag
350         (Target_Dependent_Info_Write): New flag
351         * output.adb: Minor comment change
352         * s-os_lib.ads: Minor reformatting
353         * set_targ.ads, set_targ.adb: Minor reformatting.
354         * switch-c.adb (Scan_Switches.First_Ptr): New variable
355         (Scan_Front_End_Switches): Check -gnatd.b, -gnateT come first
356         (Scan_Front_End_Switches): Handle -gnatet, -gnateT
357         * ttypes.ads: Remove documentation section on target dependent
358         info in ali file Remove four letter codes, no longer used Instead
359         of using Get_Targ.Get_xxx, we use Set_Targ.xxx
360         * usage.adb: Add usage lines for -gnatet/-gnateT
361         * gcc-interface/Make-lang.in: Update dependencies.
362
363 2013-04-11  Thomas Quinot  <quinot@adacore.com>
364
365         * sem_ch4.adb: Update documentation.
366         * sinfo.ads (N_Expression_With_Actions): Ditto.
367
368 2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>
369
370         * sem_ch13.adb (Analyze_Aspect_Specifications):
371         Add a guard to prevent the double insertion of the same aspect
372         into a rep item list. This previously led to a circularity.
373
374 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
375
376         * sem_attr.adb (Eval_Attribute, case 'Access): Reject attribute
377         reference if the prefix is the dereference of an anonymous access
378         to subprogram type.
379         * exp_attr.adb (Expand_N_Attribute_Reference, Access_Cases): Handle
380         properly a reference to the current instance of a protected type
381         from within a protected subprogram.
382         * sem_res.adb (Find_Unique_Access_Type): Treat
383         Attribute_Access_Type like Allocator_Type when resolving an
384         equality operator.
385
386 2013-04-11  Arnaud Charlet  <charlet@adacore.com>
387
388         * xgnatugn.adb: Remove obsolete comments.
389
390 2013-04-11  Robert Dewar  <dewar@adacore.com>
391
392         * back_end.ads, back_end.adb: Minor reformatting.
393         * set_targ.ads, set_targ.adb: New files.
394
395 2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>
396
397         * sem_case.adb (Check_Against_Predicate): New routine.
398         (Check_Choices): When the type covered by the list of choices
399         is a static subtype with a static predicate, check all choices
400         agains the predicate.
401         (Issue_Msg): All versions removed.
402         (Missing_Choice): New routines.
403         * sem_ch4.adb: Code and comment reformatting.
404         (Analyze_Case_Expression): Do not check the choices when the case
405         expression is being preanalyzed and the type of the expression
406         is a subtype with a static predicate.
407         (Has_Static_Predicate): New routine.
408         * sem_ch13.adb: Code and comment reformatting.  (Build_Range):
409         Always build a range even if the low and hi bounds denote the
410         same value. This is needed by the machinery in Check_Choices.
411         (Build_Static_Predicate): Always build a range even if the low and
412         hi bounds denote the same value. This is needed by the machinery
413         in Check_Choices.
414
415 2013-04-11  Robert Dewar  <dewar@adacore.com>
416
417         * einfo.ads, sem_util.adb, exp_ch6.adb, xgnatugn.adb: Minor
418         reformatting.
419
420 2013-04-11  Doug Rupp  <rupp@adacore.com>
421
422         * gnatlink.adb: Fold program basename to lower case on VMS for
423         consistency.
424
425 2013-04-11  Matthew Heaney  <heaney@adacore.com>
426
427         * a-rbtgbo.adb (Generic_Equal): Initialize Result variable before
428         entering loop.
429
430 2013-04-11  Arnaud Charlet  <charlet@adacore.com>
431
432         * xgnatugn.adb: Remove dead code (handling of @ifset/@ifclear).
433
434 2013-04-11  Arnaud Charlet  <charlet@adacore.com>
435
436         * gnat_ugn.texi: Remove some use of ifset in menus. Not strictly
437         needed, and seems to confuse some versions of makeinfo.
438
439 2013-04-11  Javier Miranda  <miranda@adacore.com>
440
441         * einfo.adb (Is_Thunk): Remove assertion.
442         (Set_Is_Thunk): Add assertion.
443         * einfo.ads (Is_Thunk): Complete documentation.
444         * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Code cleanup.
445         * exp_ch3.ad[sb] (Is_Variable_Size_Array): Moved to sem_util
446         (Is_Variable_Size_Record): Moved to sem_util
447         * exp_ch6.adb (Expand_Call): Code cleanup.
448         (Expand_N_Extended_Return_Statement): Code cleanup.
449         (Expand_Simple_Function_Return): Code cleanup.
450         * exp_disp.adb Remove dependency on exp_ch3
451         (Expand_Interface_Thunk): Add minimum decoration needed to set
452         attribute Is_Thunk.
453         * sem_ch3.ad[sb] (Is_Constant_Bound): moved to sem_util
454         * sem_util.ad[sb] (Is_Constant_Bound): Moved from
455         sem_ch3 (Is_Variable_Size_Array): Moved from exp_ch3
456         (Is_Variable_Size_Record): Moved from exp_ch3
457
458 2013-04-11  Javier Miranda  <miranda@adacore.com>
459
460         * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Do
461         not add cleanup actions in thunks associated with interface types.
462         * exp_ch3.ad[sb] (Is_Variable_Size_Record): Move declaration to
463         the package spec.
464         * exp_ch4.adb (Tagged_Conversion): Update call to
465         Expand_Interface_Conversion since the parameter Is_Static is no
466         longer needed.
467         * exp_ch6.adb (Expand_N_Extended_Return_Statement): Adding
468         assertion to ensure that interface thunks are never handled by
469         this routine.
470         (Expand_N_Simple_Function_Return): Do not rewrite this statement
471         as an extended return statement in interface thunks, and do not
472         perform copy in the secondary stack if the return statement is
473         located in a thunk.
474         * exp_disp.adb (Expand_Dispatching_Call): No longer displace
475         the pointer to the returned object in functions returning interface
476         types.
477         (Expand_Interface_Thunk): For functions returning interface types
478         displace the pointer to the returned object.
479         (Expand_Interface_Conversion): Remove formal
480         Is_Static since this subprogram can now evaluate it locally.
481         * sem_ch3.adb (Add_Internal_Interface_Entities): For functions
482         propagate the type returned by the covered interface primitive to
483         the internal interface entity. Needed by the thunk to generate
484         the code which displaces "this" to reference the corresponding
485         secondary dispatch table.
486         * sem_disp.adb (Propagate_Tag): Update call to
487         Expand_Interface_Conversion since the parameter Is_Static is no
488         longer needed.
489         * sem_res.adb (Resolve_Type_Conversion): Update calls to
490         Expand_Interface_Conversion since the parameter Is_Static is no
491         longer needed plus code cleanup.
492
493 2013-04-11  Eric Botcazou  <ebotcazou@adacore.com>
494
495         * init.c (RETURN_ADDR_OFFSET): Delete as unused.
496
497 2013-04-11  Robert Dewar  <dewar@adacore.com>
498
499         * a-crbtgk.adb, a-ciorse.adb, a-crbtgo.adb, a-coorse.adb, a-rbtgbo.adb,
500         a-cborse.adb, a-rbtgso.adb, exp_ch3.adb: Minor reformatting.
501
502 2013-04-11  Yannick Moy  <moy@adacore.com>
503
504         * exp_ch4.adb (Expand_N_Selected_Component): Do not expand
505         discriminant check for Unchecked_Union.
506         * sem_res.adb (Resolve_Selected_Component): Set flag
507         Do_Discriminant_Check even when expansion is not performed.
508         * sinfo.ads (Do_Discriminant_Check): Update documentation for the case
509         of Unchecked_Union.
510
511 2013-04-11  Thomas Quinot  <quinot@adacore.com>
512
513         * sem_ch13.adb (Same_Representation): Two types with different scalar
514         storage order never have the same representation.
515
516 2013-04-11  Arnaud Charlet  <charlet@adacore.com>
517
518         * xgnatugn.adb (Push_Conditional): Simplify handling,
519         no longer need to keep track of "excluding" sections.
520         (Currently_Excluding): Removed.
521         (Process_Source_File):
522         Set unw/vms flag so that texinfo can do the whole handling of
523         @ifset/@ifclear sections.  Fix handling of nested @ifset/@ifclear
524         sections.
525         * gnat_ugn.texi: Add a section on performing unassisted install
526         on Windows.
527
528 2013-04-11  Johannes Kanig  <kanig@adacore.com>
529
530         * debug.adb: Document usage of -gnatd.Q switch.
531
532 2013-04-11  Matthew Heaney  <heaney@adacore.com>
533
534         * a-crbtgk.adb (Ceiling, Find, Floor): Adjust locks
535         before element comparisons.
536         (Generic_Conditional_Insert, Generic_Conditional_Insert_With_Hint):
537         Ditto.
538         * a-crbtgo.adb, a-rbtgbo.adb (Generic_Equal): Adjust locks before
539         element comparisons.
540         * a-rbtgso.adb (Difference, Intersection): Adjust locks
541         before element comparisons.
542         (Is_Subset, Overlap): Ditto
543         (Symmetric_Difference, Union): Ditto
544         * a-btgbso.adb (Set_Difference, Set_Intersection): Adjust locks
545         before element comparisons.
546         (Set_Subset, Set_Overlap): Ditto
547         (Set_Symmetric_Difference, Set_Union): Ditto
548         * a-coorse.adb, a-ciorse.adb, a-cborse.adb
549         (Update_Element_Preserving_Key): Adjust locks before element
550         comparisons (Replace_Element): Ditto
551
552 2013-04-11  Pascal Obry  <obry@adacore.com>
553
554         * prj-attr.adb, projects.texi, snames.ads-tmpl: Remove Build_Slaves
555         attribute.
556
557 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
558
559         * exp_ch3.adb (Build_Equivalent_Aggregate): Subsidiary of
560         Expand_N_Object_Declaration, used to construct an aggregate
561         with static components whenever possible, so that objects of a
562         discriminated type can be initialized without calling the init.
563         proc for the type.
564
565 2013-04-11  Vincent Celier  <celier@adacore.com>
566
567         * prj-makr.adb (Process_Directory): On VMS, always delete,
568         then recreate the temporary file with Create_Output_Text_File,
569         otherwise the output redirection does not work properly.
570
571 2013-04-11  Eric Botcazou  <ebotcazou@adacore.com>
572
573         * urealp.ads: Fix minor typo.
574
575 2013-04-11  Fabien Chouteau  <chouteau@adacore.com>
576
577         * cio.c (mktemp): Don't use tmpnam function from the
578         system on VxWorks in kernel mode.
579
580 2013-04-11  Vincent Celier  <celier@adacore.com>
581
582         * make.adb (Compile): Clarify the error message reported
583         when gnatmake refuses to compile a runtime source.
584         (Start_Compile_If_Possible): Ditto.
585
586 2013-04-11  Vincent Celier  <celier@adacore.com>
587
588         * gnat_ugn.texi: Add documentation about -gnatc and gnatmake.
589
590 2013-04-11  Vincent Celier  <celier@adacore.com>
591
592         * switch-c.adb: Document internal switches.
593         * usage.adb: Remove lines for internal switches: -gnatea, -gnateO,
594         -gnatez and -gnateO.
595
596 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
597
598         * par-ch6.adb (P_Subprogram): Attach aspects to subprogram stub.
599         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Allow aspects on
600         subprogram stubs.
601         * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze generated
602         pre/post pragmas at once before analyzing the proper body.
603         * sem_prag.adb (Chain_PPC): Handle pragma that comes from an
604         aspect on a subprogram stub.
605         * aspects.adb: Aspect specifications can appear on a
606         subprogram_Body_Stub.
607
608 2013-04-11  Vincent Celier  <celier@adacore.com>
609
610         * gnatname.adb: Minor comment fix.
611
612 2013-04-11  Vincent Celier  <celier@adacore.com>
613
614         * prj-makr.adb (Process_Directory): Create a new temporary
615         file for each invocation of the compiler, in directory pointed
616         by environment variable TMPDIR if it exists.
617
618 2013-04-11  Arnaud Charlet  <charlet@adacore.com>
619
620         * gnat_ugn.texi: Minor editing/clean ups.
621
622 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
623
624         * sem_ch6.adb (Analyze_Null_Procedure): New subprogram, mostly
625         extracted from Analyze_Subprogram_Declaration, to handle null
626         procedure declarations that in ada 2012 can be completions of
627         previous declarations.
628
629 2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>
630
631         * sem_prag.adb (Entity_Of): Moved to Exp_Util.
632         * exp_util.ads, exp_util.adb (Entity_Of): New routine.
633
634 2013-04-11  Robert Dewar  <dewar@adacore.com>
635
636         * g-spipat.ads: Minor comment fix.
637
638 2013-04-11  Robert Dewar  <dewar@adacore.com>
639
640         * sem_prag.adb, sem_util.adb, sem_res.adb, exp_ch4.adb: Minor
641         reformatting.
642
643 2013-04-11  Thomas Quinot  <quinot@adacore.com>
644
645         * exp_util.ads (Fully_Qualified_Name_String): Document that the
646         constructed literal is the entity name in all upper case.
647
648 2013-04-11  Thomas Quinot  <quinot@adacore.com>
649
650         * sem_util.adb (Set_Entity_With_Style_Check): Fix logic of
651         check for implementation defined identifiers.
652
653 2013-04-11  Yannick Moy  <moy@adacore.com>
654
655         * checks.adb (Apply_Type_Conversion_Checks): Add an explanation
656         of why range check and length are put on different nodes.
657         * exp_ch4.adb (Apply_Type_Conversion_Checks): Remove check marks
658         when doing their expansion.
659
660 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
661
662         * sem_util.ads, sem_util.adb (Get_Incomplete_View_Of_Ancestor):
663         New function to implement the notion introduced in RM 7.3.1
664         (5.2/3): in a child unit, a derived type is within the derivation
665         class of an ancestor declared in a parent unit, even if there
666         is an intermediate derivation that does not see the full view
667         of that ancestor.
668         * sem_res.adb (Valid_Conversion): if all else fails, examine if an
669         incomplete view of an ancestor makes a numeric conversion legal.
670
671 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
672
673         * sem_ch6.adb: in Ada2012 operators can only have in
674         parameters.
675
676 2013-04-11  Vincent Celier  <celier@adacore.com>
677
678         * makeutl.adb (Create_Binder_Mapping_File): Do not put into
679         the mapping file ALI files of sources that have been replaced.
680
681 2013-04-11  Vincent Celier  <celier@adacore.com>
682
683         * projects.texi: Add subsection Duplicate Sources in Projects.
684
685 2013-04-11  Vincent Celier  <celier@adacore.com>
686
687         * gnat_ugn.texi: Add documentation for gnatmake switch -droot_dir/**
688
689 2013-04-11  Arnaud Charlet  <charlet@adacore.com>
690
691         * init.c (__gnat_install_handler): Only set up an alternate
692         stack when installing a signal handler for SIGSEGV.
693
694 2013-04-11  Thomas Quinot  <quinot@adacore.com>
695
696         * g-socket.adb (Connect_Socket, timeout version): Call
697         underlying connect operation directly, not through the 2-argument
698         Connect_Socket thick binding, in order to avoid raising a junk
699         exception for the EINPROGRESS return.
700
701 2013-04-11  Robert Dewar  <dewar@adacore.com>
702
703         * a-cdlili.adb: Minor addition of pragma Warnings (Off).
704
705 2013-04-11  Robert Dewar  <dewar@adacore.com>
706
707         * hostparm.ads: Minor reformatting.
708
709 2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>
710
711         * aspects.ads, aspects.adb: Add Aspect_Depends to all the relevant
712         tables.
713         * elists.ads, elists.adb (Contains): New routine.
714         * par-prag.adb: Pragma Depends does not need any special treatment
715         by the parser.
716         * sem_ch13.adb (Analyze_Aspect_Specifications):
717         Transform aspect Depends into a corresponding pragma.
718         (Check_Aspect_At_Freeze_Point): Aspect Depends does not need
719         inspection at its freeze point.
720         * sem_prag.adb (Analyze_Pragma): Perform analysis and
721         normalization of pragma Depends. Remove the use of function
722         Is_Duplicate_Item. Use End_Scope to uninstalle the formal
723         parameters of a subprogram. Add a value for pragma Depends in
724         table Sig_Flags.
725         (Is_Duplicate_Item): Removed.
726         * snames.ads-tmpl: Add predefined name for Depends as well as
727         a pragma identifier.
728
729 2013-04-11  Arnaud Charlet  <charlet@adacore.com>
730
731         * gnat1drv.adb: Minor code clean up.
732
733 2013-04-11  Arnaud Charlet  <charlet@adacore.com>
734
735         * debug.adb, sem_ch13.adb (Analyze_Enumeration_Representation_Clause):
736         Ignore enumeration rep clauses by default in CodePeer mode, unless
737         -gnatd.I is specified.
738
739 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
740
741         * sem_util.adb (Safe_To_Capture_Value): If the node belongs to
742         an expression that has been attached to the else_actions of an
743         if-expression, the capture is not safe.
744
745 2013-04-11  Yannick Moy  <moy@adacore.com>
746
747         * checks.adb (Apply_Type_Conversion_Checks): Put check mark on type
748         conversion for arrays.
749
750 2013-04-11  Robert Dewar  <dewar@adacore.com>
751
752         * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
753
754 2013-04-11  Johannes Kanig  <kanig@adacore.com>
755
756         * adabkend.adb: Minor comment addition.
757
758 2013-04-11  Matthew Heaney  <heaney@adacore.com>
759
760         * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb ("="): Increment
761         lock counts before entering loop.
762         (Find): Ditto.
763         (Is_Sorted, Merge, Sort): Ditto.
764         (Reverse_Find): Ditto.
765         (Splice_Internal): Internal operation to refactor splicing logic.
766         (Splice): Some logic moved into Splice_Internal.
767
768 2013-04-11  Johannes Kanig  <kanig@adacore.com>
769
770         * adabkend.adb (Scan_Compiler_Arguments): Do not call
771         Set_Output_Object_File_Name in Alfa_Mode
772         * gnat1drv.adb (Adjust_Global_Switches): Take Alfa_Mode into account.
773         * opt.ads: Fix documentation.
774
775 2013-04-11  Robert Dewar  <dewar@adacore.com>
776
777         * sem_res.adb: Minor code reorganization and comment fixes.
778         * sem_type.adb: Minor reformatting.
779
780 2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>
781
782         * exp_ch4.adb (Process_Transient_Object): Add new
783         local variable Fin_Call. Remove and explain ??? comment. Use the
784         Actions of logical operators "and then" and "or else" to insert
785         the generated finalization call.
786
787 2013-04-11  Eric Botcazou  <ebotcazou@adacore.com>
788
789         * gnat_rm.texi: Fix typo.
790
791 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
792
793         * sem_res.adb: Minor reformatting.
794
795 2013-04-11  Robert Dewar  <dewar@adacore.com>
796
797         * atree.h: Add declarations for Flag255-Flag289 Fix declaration
798         of Field30 (was wrong, but no effect, since not yet referenced by
799         back end) Add declarations for Field31-Field35 Add declarations
800         for Node31-Node35.
801         * einfo.ads, einfo.adb (Has_Invariants): No longer applies to
802         procedures.
803         (Has_Predicates): No longer applies to functions.
804         (Is_Predicate_Function): New flag.
805         (Is_Predicate_Function_M): New flag.
806         (Is_Invariant_Procedure): New flag.
807         (Predicate_Function_M): New function.
808         (Set_Predicate_Function_M): New procedure.
809         * exp_ch11.adb (Expand_N_Raise_Expression): Take care of special
810         case of appearing in predicate used for membership test.
811         * exp_ch3.adb (Insert_Component_Invariant_Checks): Set
812         Is_Invariant_Procedure flag.
813         * exp_ch4.adb (Expand_Op_In): Call special predicate function
814         that takes care of raise_expression nodes in the predicate.
815         * exp_util.ads, exp_util.adb (Make_Predicate_Call): Add argument Mem for
816         membership case.
817         * sem_ch13.adb (Build_Predicate_Functions): New name for
818         Build_Predicate_Function.  Major rewrite to take care of raise
819         expression in predicate for membership tests.
820         * sem_res.adb (Resolve_Actuals): Include both predicate functions
821         in defense against infinite predicate function loops.
822         * sinfo.ads, sinfo.adb (Convert_To_Return_False): New flag.
823
824 2013-04-11  Robert Dewar  <dewar@adacore.com>
825
826         * sem_prag.adb: Minor reformatting.
827
828 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
829
830         * lib-xref.adb: Generate reference for component of anonymous
831         access type.
832
833 2013-04-11  Robert Dewar  <dewar@adacore.com>
834
835         * stand.ads: Minor reformatting.
836
837 2013-04-11  Matthew Heaney  <heaney@adacore.com>
838
839         * a-convec.adb, a-coinve.adb, a-cobove.adb ("="): Increment lock
840         counts before entering loop.
841         (Find, Find_Index): Ditto.
842         (Is_Sorted, Merge, Sort): Ditto.
843         (Reverse_Find, Reverse_Find_Index): Ditto.
844
845 2013-04-11  Robert Dewar  <dewar@adacore.com>
846
847         * exp_ch11.ads, exp_ch11.adb (Expand_N_Raise_Expression): New procedure.
848         * exp_util.adb (Insert_Actions): Add entry for N_Raise_Expression.
849         * expander.adb: Add call to Expand_N_Raise_Expression.
850         * par-ch11.adb (P_Raise_Expression): New procedure.
851         * par-ch4.adb (P_Relation): Handle Raise_Expression.
852         * par.adb (P_Raise_Expression): New procedure.
853         * sem.adb: Add handling for N_Raise_Expression.
854         * sem_ch11.ads, sem_ch11.adb (Analyze_Raise_Expression): New procedure.
855         * sem_res.adb (Resolve): Add handling for N_Raise_Expression.
856         * sinfo.ads, sinfo.adb (N_Raise_Expression): New node.
857         * sprint.adb (Sprint_Node_Actual): Add handling for N_Raise_Expression.
858         * stand.ads (Any_Type): Document use with N_Raise_Expression.
859
860 2013-04-11  Vincent Celier  <celier@adacore.com>
861
862         * gnat_ugn.texi: Remove section "The Development Environments"
863         now that all predefined attributes are documented, including
864         those in package IDE.
865
866 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
867
868         * sem_ch6.adb: Preserve parent link in copy of expression.
869
870 2013-04-11  Vincent Celier  <celier@adacore.com>
871
872         * projects.texi: Complete rewrite of the subsection Attributes
873         in section "Project file Reference".
874
875 2013-04-11  Robert Dewar  <dewar@adacore.com>
876
877         * exp_ch4.adb: Minor reformatting.
878
879 2013-04-11  Robert Dewar  <dewar@adacore.com>
880
881         * exp_ch4.adb (Expand_Concatenate): Remove wrapping in
882         expression-with-actions node. No longer needed given fix to
883         sem_prag and caused loss of some useful warnings.
884         * sem.ads: Minor reformatting.
885         * sem_prag.adb (Check_Disabled): Removed, to be replaced by not
886         Check_Enabled. These two routines were curiously incompatible
887         causing confusion.
888         (Analyze_Pragma, case Check): Make sure we do
889         not expand the string argument if the check is disabled. Avoid
890         use of Check_Disabled, which resulted in missing analysis in
891         some cases.
892         * sem_prag.ads (Check_Disabled): Removed, to be replaced by not
893         Check_Enabled. These two routines were curiously incompatible
894         causing confusion.
895
896 2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>
897
898         * exp_ch4.adb (Process_Transient_Object): Use
899         an unchecked conversion when associating a transient controlled
900         object with its "hook".
901
902 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
903
904         * sem_prag.adb (Analyze_Pragma, case
905         Preelaborable_Initialization): The pragma is legal if it comes
906         from an aspect on the private view of the type, even though its
907         analysis point takes place later at the freeze point.
908
909 2013-04-11  Robert Dewar  <dewar@adacore.com>
910
911         * sem_ch6.adb: Minor reformatting.
912
913 2013-04-11  Yannick Moy  <moy@adacore.com>
914
915         * ali-util.adb (Read_Withed_ALIs): Do not consider it an error to
916         read ALI files with No_Object=True in Alfa mode.
917         * gnat1drv.adb: Set appropriately Back_End_Mode in Alfa mode, whether
918         this is during frame condition generation of translation to Why.
919
920 2013-04-11  Robert Dewar  <dewar@adacore.com>
921
922         * exp_ch4.adb: Minor code reorganization
923         * types.ads: Minor reformatting.
924
925 2013-04-11  Johannes Kanig  <kanig@adacore.com>
926
927         * opt.ads New global boolean Frame_Condition_Mode to avoid
928         referring to command line switch.
929         * gnat1drv.adb (Gnat1drv) set frame condition mode when -gnatd.G
930         is present, and disable Code generation in that case. Disable
931         ALI file generation when switch is *not* present.
932
933 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
934
935         * sem_ch6.adb (Analyze_Expression_Function): Perform the
936         pre-analysis on a copy of the expression, to prevent downstream
937         visbility issues involving operators and instantiations.
938
939 2013-04-11  Johannes Kanig  <kanig@adacore.com>
940
941         * debug.adb: Reservation and documentation for -gnatd.G switch.
942         * gnat1drv.adb (Adjust_Global_Switches) Take into account -gnatd.G
943         switch, and set ALI file generation accordingly.
944
945 2013-04-11  Robert Dewar  <dewar@adacore.com>
946
947         * exp_ch4.adb, exp_dist.adb: Minor reformatting.
948         * gnat_rm.texi, gnat_ugn.texi: -020 Add documentation clarifying that
949         check names introduced with pragma Check_Name are suppressed by -gnatp.
950
951 2013-04-11  Vincent Celier  <celier@adacore.com>
952
953         * gnat_ugn.texi, projects.texi: Move chapter "Tools Supporting Project
954         Files" from projects.texi to gnat_ugn.texi.
955
956 2013-04-11  Arnaud Charlet  <charlet@adacore.com>
957
958         * gcc-interface/Make-lang.in: Update dependencies.
959
960 2013-04-11  Yannick Moy  <moy@adacore.com>
961
962         * gnat1drv.adb (Adjust_Global_Switches): Allow missing body in Alfa
963         mode.
964
965 2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>
966
967         * exp_ch4.adb (Expand_N_Allocator): Detect the
968         allocation of an anonymous controlled object where the type of
969         the context is named. Use the pool and finalization master of
970         the named access type to allocate the object.
971
972 2013-04-11  Vincent Celier  <celier@adacore.com>
973
974         * gnat_ugn.texi: Remove most mentions of gprbuild.
975         * projects.texi: Remove all mentions of asociative array
976         attributes.
977
978 2013-04-11  Robert Dewar  <dewar@adacore.com>
979
980         * sem_prag.adb, sem_attr.adb, gnat1drv.adb, prj-makr.adb,
981         opt.ads, sem_ch13.adb: Minor reformatting.
982         * debug.adb: Minor comment fix (remove junk .I doc).
983
984 2013-04-11  Thomas Quinot  <quinot@adacore.com>
985
986         * rtsfind.ads, exp_dist.adb, exp_dist.ads (Rtsfind.PCS_Version, case
987         PolyORB): Bump to 6.
988         (Exp_Dist.PolyORB_Support): Replace TC_Build with
989         Build_Complex_TC.
990
991 2013-04-11  Arnaud Charlet  <charlet@adacore.com>
992
993         * debug.adb, sem_prag.adb, par-ch2.adb, sem_attr.adb, gnat1drv.adb,
994         exp_disp.adb, opt.ads, sem_ch13.adb (Relaxed_RM_Semantics): New flag.
995         Enable this flag in CodePeer mode, and also via -gnatd.M.
996         Replace some uses of CodePeer_Mode by Relaxed_RM_Semantics.
997
998 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
999
1000         * sem_ch8.adb (Check_Constrained_Object): If a subtype is created
1001         from the renamed object in an object renaming declaration with
1002         an unconstrained nominal subtype, freeze the created subtype at
1003         once, to prevent order of elaboration issues in the backend.
1004
1005 2013-04-11  Arnaud Charlet  <charlet@adacore.com>
1006
1007         * exp_aggr.adb (Aggr_Size_OK): Refine setting of Max_Aggr_Size
1008         in particular in CodePeer mode.
1009
1010 2013-04-11  Vincent Celier  <celier@adacore.com>
1011
1012         * gnat_ugn.texi: Add documentation for backup copies of project
1013         files for gnatname.
1014
1015 2013-04-11  Tristan Gingold  <gingold@adacore.com>
1016
1017         * gnat_rm.texi: Add Detect_BLocking in the ravenscar profile
1018         pragma list.
1019
1020 2013-04-11  Vincent Celier  <celier@adacore.com>
1021
1022         * gnatname.adb (Scan_Args): Recognize new switch --no-backup
1023         (Usage): Add line for --no-backup.
1024         * opt.ads (No_Backup): New Boolean variable, initialized to False.
1025         (Ada_Version_Default): Switch to Ada 2012 by default.
1026         * prj-makr.adb (Initialize): Create a backup for an existing
1027         project file if gnatname is not invoked with --no-backup.
1028
1029 2013-04-11  Thomas Quinot  <quinot@adacore.com>
1030
1031         * exp_ch4.adb: Minor code improvement: replace various calls to
1032         Make_If_Statement in expansion with Make_Implicit_If_Statement.
1033
1034 2013-04-11  Eric Botcazou  <ebotcazou@adacore.com>
1035
1036         * ali.adb: Fix minor typo.
1037
1038 2013-04-11  Thomas Quinot  <quinot@adacore.com>
1039
1040         * exp_ch4.adb (Find_Enclosing_Context): Add missing case of
1041         N_Procedure_Call_Statement.
1042
1043 2013-04-11  Robert Dewar  <dewar@adacore.com>
1044
1045         * debug.adb: Minor comment fix.
1046
1047 2013-04-11  Johannes Kanig  <kanig@adacore.com>
1048
1049         * debug.adb: Remove comment for -gnatd.G.
1050
1051 2013-04-11  Thomas Quinot  <quinot@adacore.com>
1052
1053         * exp_ch4.adb (Expand_Record_Equality.Suitable_Element):
1054         Remove recursive routine, replace with...
1055         (Expand_Record_Equality.Element_To_Compare): New subroutine,
1056         implement iterative search for next element to compare.
1057         Add explanatory comment in the tagged case.
1058
1059 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
1060
1061         * sem_ch5.adb: remove spurious warning from non-empty loop.
1062         * sem_ch8.adb (Enclosing_Instance): Make public to other routines
1063         in the package, in order to suppress redundant semantic checks
1064         on subprogram renamings in nested instantiations.
1065
1066 2013-04-11  Robert Dewar  <dewar@adacore.com>
1067
1068         * errout.ads: Minor reformatting.
1069         * sem_eval.adb (Why_Not_Static): Now issues continuation messages
1070         (Why_Not_Static): Test for aggregates behind string literals.
1071         * sem_eval.ads (Why_Not_Static): Now issues continuation messages.
1072
1073 2013-04-11  Robert Dewar  <dewar@adacore.com>
1074
1075         * exp_ch4.adb (Expand_Concatenation): Wrap expansion in
1076         Expressions_With_Actions.
1077
1078 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
1079
1080         * sem_ch6.adb (Base_Types_Match): For an actual type in an
1081         instance, the base type may itself be a subtype, so find true
1082         base type to determine compatibility.
1083
1084 2013-04-11  Robert Dewar  <dewar@adacore.com>
1085
1086         * s-osprim-mingw.adb, sem_ch3.adb, sem_prag.adb, sem_util.adb.
1087         makeutl.adb, sem_ch8.adb: Minor reformatting.
1088
1089 2013-04-11  Vincent Celier  <celier@adacore.com>
1090
1091         * gnat_ugn.texi: Minor fixes for VMS.
1092         * ug_words: Minor addition: -gnato? => /OVERFLOW_CHECKS=?.
1093
1094 2013-04-11  Robert Dewar  <dewar@adacore.com>
1095
1096         * usage.adb (Usage): Minor edit to -gnatW message
1097
1098 2013-04-11  Robert Dewar  <dewar@adacore.com>
1099
1100         * exp_aggr.adb (Expand_N_Aggregate): Add circuit for handling
1101         others for string literal case. Also add big ??? comment about
1102         this new code, which should be redundant, but is not.
1103         * sem_eval.adb (Eval_Concatenation): Handle non-static case
1104         properly (Eval_String_Literal): Handle non-static literal properly
1105
1106 2013-03-20  Tobias Burnus  <burnus@net-b.de>
1107
1108         * i-fortra.ads: Update comment, add Ada 2012's optional
1109         Star and Kind data types for enhanced interoperability.
1110
1111 2013-03-16  Eric Botcazou  <ebotcazou@adacore.com>
1112
1113         * gnatvsn.ads (Library_Version): Bump to 4.9.
1114
1115 2013-03-08  Cesar Strauss  <cestrauss@gmail.com>
1116
1117         PR ada/52123
1118         * seh_init.c (Raise_From_Signal_Handler): Declare as no-return.
1119         (__gnat_SEH_error_handler): Likewise.  Remove final return.
1120
1121 2013-03-06  Eric Botcazou  <ebotcazou@adacore.com>
1122
1123         * gcc-interface/trans.c (Attribute_to_gnu): Abort instead of erroring
1124         out for an unimplemented attribute.
1125
1126 2013-03-06  Eric Botcazou  <ebotcazou@adacore.com>
1127
1128         * gcc-interface/decl.c (gnat_to_gnu_field): Remove the wrapper around
1129         a misaligned integral type if a size is specified for the field.
1130
1131 2013-03-06  Eric Botcazou  <ebotcazou@adacore.com>
1132
1133         * gcc-interface/trans.c (Raise_Error_to_gnu) <CE_Index_Check_Failed>:
1134         Record the unpadded type of the index type on the RCI stack.
1135
1136 2013-03-06  Eric Botcazou  <ebotcazou@adacore.com>
1137
1138         * gcc-interface/trans.c (emit_range_check): Assert that the range type
1139         is a numerical type and remove useless local variables.
1140
1141 2013-02-25  Eric Botcazou  <ebotcazou@adacore.com>
1142
1143         * gcc-interface/ada-tree.h: Back out change accidentally committed.
1144
1145 2013-02-21  Jakub Jelinek  <jakub@redhat.com>
1146
1147         PR bootstrap/56258
1148         * gnat-style.texi (@title): Remove @hfill.
1149         * projects.texi: Avoid line wrapping inside of @pxref or @xref.
1150
1151 2013-02-14  Rainer Emrich  <rainer@emrich-ebersheim.de>
1152
1153         PR target/52123
1154         * tracebak.c: Cast from pointer via FARPROC.
1155
1156 2013-02-07  Simon Wright  <simon@pushface.org>
1157
1158         PR target/50678
1159         * init.c (__darwin_major_version): New function for x86-64/Darwin.
1160         (__gnat_adjust_context_for_raise) [Darwin]: Disable the workaround
1161         on Darwin 12 and above.
1162
1163 2013-02-06  Rainer Emrich  <rainer@emrich-ebersheim.de>
1164
1165         PR target/52123
1166         * adaint.c (__gnat_check_OWNER_ACL): Cast from pointer via
1167         SECURITY_DESCRIPTOR *
1168         (__gnat_set_OWNER_ACL): Cast from DWORD to ACCESS_MODE
1169         (__gnat_portable_spawn): Fix cast to char* const*
1170         (add_handle): Cast from pointer via void **
1171         (add_handle): Cast from pointer via int *
1172         (__gnat_locate_exec_on_path): Cast from pointer via TCHAR *
1173         (__gnat_locate_exec_on_path): Cast from pointer via char *
1174         * initialize.c (append_arg): Cast from pointer via LPWSTR
1175         (__gnat_initialize): Cast from pointer via LPWSTR
1176         * seh_init.c (__gnat_map_SEH): Cast from pointer via FARPROC
1177
1178 2013-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
1179
1180         * gcc-interface/Make-lang.in: Enable System.Stack_Checking.Operations
1181         target pairs on VxWorks 5 only.
1182
1183 2013-02-06  Arnaud Charlet  <charlet@adacore.com>
1184
1185         * gcc-interface/Make-lang.in: Update dependencies.
1186
1187 2013-02-06  Vincent Celier  <celier@adacore.com>
1188
1189         * prj-proc.adb (Process_Aggregated_Projects): Use a new project
1190         node tree for each project tree rooted at an aggregated project.
1191
1192 2013-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
1193
1194         * sem_util.adb (Is_Interface_Conversion): New routine.
1195         (Object_Access_Level): Detect an interface conversion
1196         that has been rewritten into a different construct. Use the
1197         original form of the conversion to find the access level of
1198         the operand.
1199
1200 2013-02-06  Eric Botcazou  <ebotcazou@adacore.com>
1201
1202         * einfo.ads (Has_Pragma_No_Inline): New flag using Flag201.
1203         (Has_Pragma_No_Inline): Declare and mark as inline.
1204         (Set_Has_Pragma_No_Inline): Likewise.
1205         * einfo.adb (Has_Pragma_No_Inline): New function.
1206         (Set_Has_Pragma_No_Inline): New procedure.
1207         (Write_Entity_Flags): Handle Has_Pragma_No_Inline.
1208         * snames.ads-tmpl (Name_No_Inline): New pragma-related name.
1209         (Pragma_Id): Add Pragma_No_Inline value.
1210         * par-prag.adb (Prag): Handle Pragma_Inline.
1211         * sem_prag.adb (Inline_Status): New enumeration type.
1212         (Process_Inline): Change Active parameter
1213         to Inline_Status and add support for suppressed inlining.
1214         (Analyze_Pragma) <Pragma_Inline>: Adjust to above change.
1215         <Pragma_Inline_Always>: Likewise.
1216          <Pragma_No_Inline>: Implement new pragma No_Inline.
1217         (Sig_Flags): Add Pragma_No_Inline.
1218         * gnat_rm.texi (Implementation Defined Pragmas): Add No_Inline.
1219         * gnat_ugn.texi (Switches for gcc): Mention Pragma No_Inline.
1220
1221 2013-02-06  Pascal Obry  <obry@adacore.com>
1222
1223         * s-osprim-mingw.adb (Clock): Make sure we copy all data locally
1224         to avoid interleaved modifications that could happen from another
1225         task calling Get_Base_Data.
1226         (Get_Base_Data): Make it a critical section. Avoid updating if another
1227         task has already done it.
1228
1229 2013-02-06  Eric Botcazou  <ebotcazou@adacore.com>
1230
1231         * sem_prag.adb: Minor reformatting.
1232
1233 2013-02-06  Pascal Obry  <obry@adacore.com>
1234
1235         * s-tasloc.ads: Set System.Task_Lock to preelaborate.
1236
1237 2013-02-06  Eric Botcazou  <ebotcazou@adacore.com>
1238
1239         * snames.ads-tmpl (Name_Loop_Optimize, Name_No_Unroll,
1240         Name_Unroll, Name_No_Vector, Name_Vector): New pragma-related
1241         names.
1242         (Pragma_Id): Add Pragma_Loop_Optimize value.
1243         * par-prag.adb (Prag): Handle Pragma_Loop_Optimize.
1244         * sem_prag.adb (Check_Loop_Invariant_Variant_Placement): Rename to...
1245         (Check_Loop_Pragma_Placement): ...this.
1246         (Analyze_Pragma)
1247         <Pragma_Loop_Invariant>: Adjust to above renaming.
1248         <Loop_Variant>: Likewise.
1249          <Pragma_Loop_Optimize>: Implement new pragma Loop_Optimize.
1250         (Sig_Flags): Add Pragma_Loop_Optimize.
1251         * gnat_rm.texi (Implementation Defined Pragmas): Add Loop_Optimize.
1252         * gnat_ugn.texi (Vectorization of loops): Mention Loop_Optimize.
1253
1254 2013-02-06  Robert Dewar  <dewar@adacore.com>
1255
1256         * osint.ads: Minor fix of typo.
1257
1258 2013-02-06  Sergey Rybin  <rybin@adacore.com frybin>
1259
1260         * gnat_ugn.texi: gnatmetric: update the documentation of
1261         complexity metrics for Ada 2012.
1262
1263 2013-02-06  Javier Miranda  <miranda@adacore.com>
1264
1265         * exp_disp.adb (Make_Secondary_DT): Code cleanup:
1266         remove useless initialization.
1267
1268 2013-02-06  Ed Schonberg  <schonberg@adacore.com>
1269
1270         * sem_ch3.adb (Build_Discriminant_Constraints): Do not
1271         generate overflow checks on a discriminant expression if the
1272         discriminant constraint is applied to a private type that has
1273         a full view, because the check will be applied when the full
1274         view is elaborated.  Removing the redundant check is not just
1275         an optimization, but it prevents spurious assembler errors,
1276         because of the way the backend generates names for expressions
1277         that require overflow checking.
1278
1279 2013-02-06  Pascal Obry  <obry@adacore.com>
1280
1281         * s-osprim-mingw.adb: Removes workaround for an old GNU/Linker
1282         limitation on Windows.
1283         (DA): Removed.
1284         (LIA): Removed.
1285         (LLIA): Removed.
1286         (TFA): Removed.
1287         (BTA): Removed.
1288         (BMTA): Removed.
1289         (BCA): Removed.
1290         (BMCA): Removed.
1291         (BTiA): Removed.
1292         (Clock): Use variable corresponding to access.
1293         (Get_Base_Time): Likewise.
1294         (Monotonic_Clock): Likewise.
1295
1296 2013-02-06  Vincent Celier  <celier@adacore.com>
1297
1298         * make.adb (Gnatmake): When gnatmake is called with a project
1299         file, do not invoke gnatbind with -I-.
1300         * makeutl.adb (Create_Binder_Mapping_File): Rewrite function. Get
1301         the infos from all the sources.
1302
1303 2013-02-06  Ed Schonberg  <schonberg@adacore.com>
1304
1305         * snames.ads-tmpl: Add Name_Overriding_Renamings and pragma
1306         Overriding_Renamings.
1307         * par-prag.adb: Recognize pragma Overriding_Renamings.
1308         * opt.ads (Overriding_Renamings): flag to control compatibility
1309         mode with Rational compiler, replaces Rational_Profile flag.
1310         * sem_ch8.adb (Analyze_Subprogram_Renaming): When
1311         Overriding_Renamings is enabled, accept renaming declarations
1312         where the new subprogram renames and overrides a locally inherited
1313         operation. Improve error message for some illegal renamings.
1314         * sem_prag.adb (Analyze_Pragma): Add case for Overriding_Renamings.
1315         (Set_Rational_Profile): The Rational_Profile enables
1316         Overriding_Renamings, Implicit_Packing, and Use_Vads_Size.
1317
1318 2013-02-06  Ed Schonberg  <schonberg@adacore.com>
1319
1320         * sem_util.adb: Set parent of copied aggregate component, to
1321         prevent infinite loop.
1322
1323 2013-02-06  Robert Dewar  <dewar@adacore.com>
1324
1325         * sem_ch3.adb, sem_ch10.adb: Minor reformatting.
1326         * exp_disp.adb: Minor comment update.
1327         * comperr.ads, osint.ads, rtsfind.adb, sem_prag.adb: Minor addition of
1328         No_Return pragmas.
1329
1330 2013-02-06  Thomas Quinot  <quinot@adacore.com>
1331
1332         * targparm.ads, sem_ch13.adb (Support_Nondefault_SSO): New target
1333         parameter, defaulted to False for now, indicates targets where
1334         non-default scalar storage order may be specified.
1335
1336 2013-02-06  Thomas Quinot  <quinot@adacore.com>
1337
1338         * sprint.adb (Write_Itype): Treat E_Record_Subtype_With_Private
1339         same as E_Record_Subtype.  Display E_Class_Wide_Subtype as
1340         subtype, not type.
1341
1342 2013-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
1343
1344         * sem_ch3.adb (Complete_Private_Subtype): Inherit the
1345         Has_Unknown_Discriminants from the full view of the base type.
1346
1347 2013-02-06  Tristan Gingold  <gingold@adacore.com>
1348
1349         * raise-gcc.c: Remove useless includes (sys/stat.h, adaint.h)
1350         Enclosing debugging functions within #ifndef inhibit_libc to
1351         support builds without full C headers.
1352
1353 2013-02-06  Thomas Quinot  <quinot@adacore.com>
1354
1355         * gnat_rm.texi: Add a minimal example of Scalar_Storage_Order.
1356
1357 2013-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
1358
1359         * sem_ch10.adb (Install_Limited_Withed_Unit): Add a missing
1360         check to detect a parent-child relationship between two units in
1361         order to correctly bypass the installation of a limited view. In
1362         other words, the comment on the intended usage of the check was
1363         correct, but the code itself did not reflect the behavior.
1364
1365 2013-02-06  Javier Miranda  <miranda@adacore.com>
1366
1367         * exp_ch5.adb (Expand_N_Assignment_Statement): Do not generate the
1368         runtime check on assignment to tagged types if compiling with checks
1369         suppressed.
1370
1371 2013-02-06  Robert Dewar  <dewar@adacore.com>
1372
1373         * exp_util.adb, checks.adb, sem_ch12.adb, sem_res.adb, prj-conf.adb,
1374         s-os_lib.adb: Minor reformatting
1375
1376 2013-02-06  Vincent Celier  <celier@adacore.com>
1377
1378         * ug_words: Add -gnateY = /IGNORE_STYLE_CHECKS_PRAGMAS.
1379
1380 2013-02-06  Ed Schonberg  <schonberg@adacore.com>
1381
1382         * snames.ads-tmpl: Add Name_Rational and pragma Rational.
1383         * par-prag.adb: Recognize pragma Rational.
1384         * opt.ads (Rational_Profile): flag to control compatibility mode
1385         with Rational compiler.
1386         * sem_ch8.adb (Analyze_Subprogram_Renaming): When Rational profile
1387         is enable, accept renaming declarations where the new subprogram
1388         and the renamed entity have the same name.
1389         * sem_prag.adb (analyze_pragma): Add pragma Rational, and recognize
1390         Rational as a profile.
1391
1392 2013-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
1393
1394         * exp_ch5.adb (Expand_Loop_Entry_Attributes): When
1395         dealing with a for loop that iterates over a subtype indication
1396         with a range, use the low and high bounds of the subtype.
1397
1398 2013-02-06  Nicolas Roche  <roche@adacore.com>
1399
1400         * s-os_lib.adb (Normalize_Arguments): Arguments containing tabs should
1401         be quoted
1402
1403 2013-02-06  Vincent Celier  <celier@adacore.com>
1404
1405         * prj-conf.adb (Process_Project_And_Apply_Config): New variable
1406         Conf_Project.  New recursive procedure Check_Project to find a non
1407         aggregate project and put its Project_Id in Conf_Project. Fails if
1408         no such project can be found.
1409         (Get_Or_Create_Configuration_File): New parameter Conf_Project.
1410          (Do_Autoconf): Use project directory of project Conf_Project to store
1411         the generated configuration project file.
1412         * prj-conf.ads (Get_Or_Create_Configuration_File): New parameter
1413         Conf_Project.
1414
1415 2013-02-06  Javier Miranda  <miranda@adacore.com>
1416
1417         * sem_res.adb (Resolve_Actuals): Generate a read
1418         reference for out-mode parameters in the cases specified by
1419         RM 6.4.1(12).
1420
1421 2013-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
1422
1423         * sem_attr.adb (Resolve_Attribute): Do not resolve the prefix of
1424         Loop_Entry, instead wait until the attribute has been expanded. The
1425         delay ensures that any generated checks or temporaries are inserted
1426         before the relocated prefix.
1427
1428 2013-02-06  Ed Schonberg  <schonberg@adacore.com>
1429
1430         * sem_ch12.adb: Code clean up.
1431
1432 2013-02-06  Ed Schonberg  <schonberg@adacore.com>
1433
1434         * checks.adb (Apply_Discriminant_Check): Look for discriminant
1435         constraint in full view of private type when needed.
1436         * sem_ch12.adb (Validate_Array_Type_Instance): Specialize
1437         previous patch to components types that are private and without
1438         discriminants.
1439
1440 2013-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
1441
1442         * exp_ch4.adb (Find_Enclosing_Context): Recognize
1443         a simple return statement as one of the cases that require special
1444         processing with respect to temporary controlled function results.
1445         (Process_Transient_Object): Do attempt to finalize a temporary
1446         controlled function result when the associated context is
1447         a simple return statement.  Instead, leave this task to the
1448         general finalization mechanism.
1449
1450 2013-02-06  Thomas Quinot  <quinot@adacore.com>
1451
1452         * einfo.ads: Minor reformatting.
1453         (Status_Flag_Or_Transient_Decl): Add ??? comment.
1454
1455 2013-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
1456
1457         * exp_ch4.adb (Expand_N_Expression_With_Actions): Rewritten. This
1458         routine should be able to properly detect controlled transient
1459         objects in its actions and generate the appropriate finalization
1460         actions.
1461         * exp_ch6.adb (Enclosing_Context): Removed.
1462         (Expand_Ctrl_Function_Call): Remove local subprogram and
1463         constant. Use routine Within_Case_Or_If_Expression to determine
1464         whether the lifetime of the function result must be extended to
1465         match that of the context.
1466         * exp_util.ads, exp_util.adb (Within_Case_Or_If_Expression): New
1467         routine.
1468
1469 2013-02-06  Ed Schonberg  <schonberg@adacore.com>
1470
1471         * sem_ch12.adb (Validate_Array_Type_Instance): Extend check
1472         for subtype matching of component type of formal array type,
1473         to avoid spurious error when component type is a separate actual
1474         in the instance, and there may be a discrepancy between private
1475         and full view of component type.
1476
1477 2013-02-06  Robert Dewar  <dewar@adacore.com>
1478
1479         * s-dim.ads, clean.adb: Minor reformatting.
1480
1481 2013-02-06  Javier Miranda  <miranda@adacore.com>
1482
1483         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Undo previous patch.
1484         (Can_Split_Unconstrained_Function): Only split the inlined function if
1485         the compiler generates the code of its body.
1486
1487 2013-02-06  Robert Dewar  <dewar@adacore.com>
1488
1489         * exp_prag.adb, sem_ch3.adb, exp_attr.adb, sem_prag.adb, sem_ch6.adb,
1490         exp_intr.adb, exp_dist.adb, sem_ch13.adb: Internal clean up for
1491         N_Pragma nodes.
1492
1493 2013-02-06  Robert Dewar  <dewar@adacore.com>
1494
1495         * gnat_rm.texi: Minor text updates for pragma Warning.
1496
1497 2013-02-06  Geert Bosch  <bosch@adacore.com>
1498
1499         * s-multip.adb (Number_Of_CPUs): Short-circuit in case of
1500         CPU'Last = 1.
1501
1502 2013-02-06  Vincent Celier  <celier@adacore.com>
1503
1504         * clean.adb (Delete): On VMS use host notation to delete all files.
1505
1506 2013-02-06  Robert Dewar  <dewar@adacore.com>
1507
1508         * sem_prag.adb, sem_ch6.adb, prj-conf.adb, erroutc.adb: Minor
1509         reformatting.
1510
1511 2013-02-06  Gary Dismukes  <dismukes@adacore.com>
1512
1513         * sem_ch6.adb (Check_For_Primitive_Subprogram): Test for
1514         the special case of a user-defined equality that overrides
1515         the predefined equality of a nonderived type declared in a
1516         declarative part.
1517         * sem_util.adb (Collect_Primitive_Operations): Add test for
1518         Is_Primitive when looping over the subprograms following a type,
1519         to catch the case of primitives such as a user-defined equality,
1520         which otherwise won't be found when the type is not a derived
1521         type and is declared in a declarative part.
1522
1523 2013-02-06  Vincent Celier  <celier@adacore.com>
1524
1525         * prj-conf.adb (Check_Target): Always return True when Target
1526         is empty (Get_Or_Create_Configuration_File.Get_Project_Target):
1527         New procedure to get the value of attribute Target in the main
1528         project.
1529         (Get_Or_Create_Configuration_File.Do_Autoconf): No
1530         need to get the value of attribute Target in the main project.
1531         (Get_Or_Create_Configuration_File): Call Get_Project_Target and
1532         use the target fom this call.
1533
1534 2013-02-06  Eric Botcazou  <ebotcazou@adacore.com>
1535
1536         * erroutc.adb (Validate_Specific_Warning): Do not issue the
1537         warning about an ineffective Pragma Warnings for -Wxxx warnings.
1538         * sem_prag.adb (Analyze_Pragma) <Warnings>: Accept -Wxxx warnings.
1539         * gnat_rm.texi (Pragma Warnings): Document coordination with
1540         warnings of the GCC back-end.
1541
1542 2013-02-06  Javier Miranda  <miranda@adacore.com>
1543
1544         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not build the body
1545         of an inlined function if we do not generate code for the function.
1546
1547 2013-02-06  Pascal Obry  <obry@adacore.com>
1548
1549         * s-os_lib.adb (Locate_Exec_On_Path): Call Normalize_Pathname
1550         with Resolve_Links set to False.
1551
1552 2013-02-03  Eric Botcazou  <ebotcazou@adacore.com>
1553
1554         * gcc-interface/decl.c: Include diagnostic-core.h.
1555         (gnat_to_gnu_entity) <E_Array_Type>: Sorry if Reverse_Storage_Order
1556         is set on the entity.
1557         <E_Record_Type>: Likewise.
1558         * gcc-interface/Make-lang.in (ada/decl.o): Add $(DIAGNOSTIC_CORE_H).
1559
1560 2013-01-29  Ben Brosgol  <brosgol@adacore.com>
1561
1562         * gnat_rm.texi: Fixed typos. Minor edits.
1563
1564 2013-01-29  Bob Duff  <duff@adacore.com>
1565
1566         * a-convec.adb: Minor reformatting.
1567
1568 2013-01-29  Pascal Obry  <obry@adacore.com>
1569
1570         * tempdir.adb, tempdir.ads (Use_Temp_Dir): Set wether to use the temp
1571         directory.
1572
1573 2013-01-29  Ed Schonberg  <schonberg@adacore.com>
1574
1575         * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Preserve loop
1576         identifier only if it comes from source.
1577         (Expand_N_Loop_Statement): If the domain of iteration is an
1578         enumeration type with a representation clause, remove from
1579         visibility the loop identifier before rewriting the loop as a
1580         block with a declaration for said identifier.
1581         * sem_util.adb (Remove_Homonym): Handle properly the default case.
1582
1583 2013-01-29  Vincent Celier  <celier@adacore.com>
1584
1585         * prj-proc.adb: Minor comment spelling fix.
1586
1587 2013-01-29  Pascal Obry  <obry@adacore.com>
1588
1589         * prj-proc.adb (Process_Expression_Variable_Decl): Prepend
1590         Project_Path to current environment.
1591
1592 2013-01-29  Thomas Quinot  <quinot@adacore.com>
1593
1594         * sprint.adb (Sprint_Node_Actual): Output freeze nodes for
1595         itypes even if Dump_Freeze_Null is not set.
1596
1597 2013-01-29  Robert Dewar  <dewar@adacore.com>
1598
1599         * sem_util.adb: Minor reformatting.
1600         * s-rident.ads: Minor comment fixes.
1601
1602 2013-01-29  Pascal Obry  <obry@adacore.com>
1603
1604         * prj-env.ads, prj-env.adb (Add_Directories): Add parameter to
1605         control if the path is prepended or appended.
1606
1607 2013-01-29  Ed Schonberg  <schonberg@adacore.com>
1608
1609         * sem_ch6.adb (Analyze_Expression_Function): An expression
1610         function declaration is not a subprogram declaration, and thus
1611         cannot appear in a protected definition.
1612
1613 2013-01-29  Hristian Kirtchev  <kirtchev@adacore.com>
1614
1615         * exp_util.adb (Insert_Actions): When new
1616         actions come from the expression of the expression with actions,
1617         then they must be added to the list of existing actions.
1618
1619 2013-01-29  Eric Botcazou  <ebotcazou@adacore.com>
1620
1621         * sem_ch3.adb (Analyze_Subtype_Declaration) <Private_Kind>: For
1622         the subtype of a constrained private type with discriminants
1623         that has got a full view, show that the completion is a clone
1624         of the full view.
1625
1626 2013-01-29  Javier Miranda  <miranda@adacore.com>
1627
1628         * errout.ads, errout.adb (Get_Ignore_Errors): New subprogram.
1629         * opt.ads (Warn_On_Overlap): Update documentation.
1630         * sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate):
1631         Check function writable actuals.
1632         * sem_ch3.adb (Build_Derived_Record_Type,
1633         Record_Type_Declaration): Check function writable actuals.
1634         * sem_ch4.adb (Analyze_Range): Check function writable actuals.
1635         * sem_ch5.adb (Analyze_Assignment): Remove code of the initial
1636         implementation of AI05-0144.
1637         * sem_ch6.adb (Analyze_Function_Return,
1638         (Analyze_Procedure_Call.Analyze_Call_And_Resolve): Remove code
1639         of the initial implementation of AI05-0144.
1640         * sem_res.adb (Resolve): Remove code of the initial implementation.
1641         (Resolve_Actuals): Call Check_Function_Writable_Actuals and remove call
1642         of the initial implementation.
1643         (Resolve_Arithmetic_Op, Resolve_Logical_Op,
1644         Resolve_Membership_Op): Check function writable actuals.
1645         * sem_util.ad[sb] (Actuals_In_Call): Removed
1646         (Check_Order_Dependence): Removed (Save_Actual): Removed
1647         (Check_Function_Writable_Actuals): New subprogram.
1648         * usage.adb (Usage): Update documentation.
1649         * warnsw.adb (Set_Warning_Switch): Enable warn_on_overlap when
1650         setting all warnings.
1651
1652 2013-01-29  Robert Dewar  <dewar@adacore.com>
1653
1654         * a-calend-vms.adb: Minor comment fix.
1655
1656 2013-01-29  Robert Dewar  <dewar@adacore.com>
1657
1658         * mlib-utl.adb, gnatlink.adb: Avoid reference to ASCII.Back_Slash
1659         because of casing issues.
1660         * sem_util.ads: Minor comment fix.
1661         * style.adb (Check_Identifier): Set proper casing for entities
1662         in ASCII.
1663         * styleg.adb: Minor comment improvement.
1664         * stylesw.ads (Style_Check_Standard): Fix bad comments.
1665
1666 2013-01-29  Hristian Kirtchev  <kirtchev@adacore.com>
1667
1668         * sem_prag.adb: Add the grammar for pragmas Abstract_State and Global.
1669         (Analyze_Pragma): Push the scope of the related subprogram and install
1670         its formals once before starting the analysis of the [moded] global
1671         list.
1672
1673 2013-01-29  Pascal Obry  <obry@adacore.com>
1674
1675         * prj-proc.adb (Process_Expression_Variable_Decl): Always handle
1676         relative paths in Project_Path as relative to the aggregate
1677         project location. Note that this was what was documented.
1678
1679 2013-01-29  Vincent Celier  <celier@adacore.com>
1680
1681         * gnatcmd.adb: For "gnat stub -P ...", do not check the naming
1682         scheme for Ada, when Ada is not a language for the project.
1683
1684 2013-01-29  Ed Schonberg  <schonberg@adacore.com>
1685
1686         * sem_ch3.adb (Analyze_Subtype_Declaration): Inherit
1687         Is_Generic_Actual_Type flag in a nested instance.
1688         * sem_ch12.adb (Restore_Private_Views): Preserve
1689         Is_Generic_Actual_Type flag if actual is a Generic_Actual_Type
1690         of an enclosing instance.
1691         * sem_util.adb (Corresponding_Generic_Type): Handle generic actual
1692         which is an actual of an enclosing instance.
1693         * sem_type.adb (Real_Actual): If a generic_actual_type is the
1694         formal of an enclosing generic and thus renames the corresponding
1695         actual, use the actual of the enclosing instance to resolve
1696         spurious ambiguities in instantiations when two formals are
1697         instantiated with the same actual.
1698
1699 2013-01-29  Robert Dewar  <dewar@adacore.com>
1700
1701         * gnat_rm.texi: Document all Ada 2005 and Ada 2012 pragmas as
1702         being available as implementation-defined pragmas in earlier
1703         versions of Ada.
1704
1705 2013-01-29  Vincent Celier  <celier@adacore.com>
1706
1707         * clean.adb (Delete): On VMS, delete all versions of the file.
1708
1709 2013-01-29  Robert Dewar  <dewar@adacore.com>
1710
1711         * par-ch6.adb (No_Constraint_Maybe_Expr_Func): New procedure.
1712         * par-util.adb (No_Constraint): Undo special handling, moved
1713         to par-ch6.adb.
1714
1715 2013-01-29  Robert Dewar  <dewar@adacore.com>
1716
1717         * aspects.ads: Aspect Warnings is implementation defined Add
1718         some other missing entries to impl-defined list Mark Warnings
1719         as GNAT pragma in main list.
1720         * sem_ch8.adb: Process aspects for all cases of renaming
1721         declarations.
1722
1723 2013-01-29  Robert Dewar  <dewar@adacore.com>
1724
1725         * sem_ch6.adb (Analyze_Function_Call): Set In_Assertion flag.
1726         * sem_elab.adb (Check_Internal_Call_Continue): Do not issue
1727         warnings about possible elaboration error if call is within
1728         an assertion.
1729         * sinfo.ads, sinfo.adb (In_Assertion): New flag in N_Function_Call node.
1730
1731 2013-01-29  Robert Dewar  <dewar@adacore.com>
1732
1733         * a-calend-vms.adb, g-eacodu-vms.adb, g-trasym-vms-alpha.adb,
1734         * s-auxdec-vms-ia64.adb, s-mastop-vms.adb, s-osprim-vms.adb,
1735         s-tasdeb-vms.adb: Replace pragma Interface by pragma Import.
1736
1737 2013-01-29  Robert Dewar  <dewar@adacore.com>
1738
1739         * opt.ads (Ignore_Style_Checks_Pragmas): New flag.
1740         * par-prag.adb (Par, case Style_Checks): Recognize
1741         Ignore_Style_Checks_Pragmas.
1742         * sem_prag.adb (Analyze_Pragma, case Style_Checks): Recognize
1743         Ignore_Style_Checks_Pragmas.
1744         * switch-c.adb: Recognize -gnateY switch.
1745         * usage.adb: Add documentation for "-gnateY".
1746         * vms_data.ads: Add IGNORE_STYLE_CHECKS_PRAGMAS (-gnateY).
1747
1748 2013-01-29  Vincent Celier  <celier@adacore.com>
1749
1750         * clean.adb (Clean_Executables): Add Sid component when calling
1751         Queue.Insert.
1752         * make.adb: When inserting in the Queue, add the Source_Id
1753         (Sid) when it is known (Start_Compile_If_Possible): When the
1754         Source_Id is known (Sid), get the path name of the ALI file
1755         (Full_Lib_File) from it, to avoid finding old ALI files in other
1756         object directories.
1757         * makeutl.ads (Source_Info): New Source_Id component Sid in
1758         Format_Gnatmake variant.
1759
1760 2013-01-29  Robert Dewar  <dewar@adacore.com>
1761
1762         * gnat_ugn.texi: Document -gnateY.
1763
1764 2013-01-29  Doug Rupp  <rupp@adacore.com>
1765
1766         * s-osinte-vms.ads, s-taprop-vms.adb, system-vms_64.ads,
1767         system-vms-ia64.ads: Replace pragma Interface by pragma Import.
1768
1769 2013-01-29  Robert Dewar  <dewar@adacore.com>
1770
1771         * atree.ads, atree.adb (Node30): New function.
1772         (Set_Node30): New procedure.
1773         (Num_Extension_Nodes): Change to 5 (activate new fields/flags).
1774         * atree.h: Add macros for Field30 and Node30.
1775         * einfo.ads, einfo.adb: Move some fields to avoid duplexing.
1776         * treepr.adb (Print_Entity_Information): Print fields 30-35.
1777
1778 2013-01-29  Robert Dewar  <dewar@adacore.com>
1779
1780         * sem_prag.adb (Analyze_Pragma, case Interface): Consider to
1781         be a violation of No_Obsolescent_Features even in Ada 95. Also
1782         generates a warning in -gnatwj mode.
1783         (Analyze_Pragma, case Interface_Name): Generates a warning in -gnatwj
1784         mode.
1785         * gnat_ugn.texi: Additional documentation on -gnatwj and pragma
1786         Interface[_Name].
1787
1788 2013-01-29  Vincent Celier  <celier@adacore.com>
1789
1790         * snames.ads-tmpl: Add new standard name Trailing_Switches.
1791
1792 2013-01-29  Ed Schonberg  <schonberg@adacore.com>
1793
1794         * sem_disp.adb (Check_Controlling_Type): If a designated type T
1795         of an anonymous access type is a limited view of a tagged type,
1796         it can be a controlling type only if the subprogram is in the
1797         same scope as T.
1798
1799 2013-01-29  Vincent Celier  <celier@adacore.com>
1800
1801         * gnatcmd.adb: Use the project where the config pragmas file is
1802         declared to get its path.
1803
1804 2013-01-29  Vincent Celier  <celier@adacore.com>
1805
1806         * prj-attr.adb: New attribute Linker'Trailing_Switches.
1807
1808 2013-01-22  Eric Botcazou  <ebotcazou@adacore.com>
1809
1810         * gcc-interface/trans.c (gnat_to_gnu) <N_Expression_With_Actions>: Do
1811         not translate the Etype of the node before translating the Actions.
1812
1813 2013-01-22  Eric Botcazou  <ebotcazou@adacore.com>
1814
1815         * gcc-interface/trans.c (Pragma_to_gnu) <Name_Space>: Use optimize_size
1816         instead of optimize and adjust warning message.
1817         (Compilation_Unit_to_gnu): Process pragmas preceding the unit.
1818
1819 2013-01-22  Tristan Gingold  <gingold@adacore.com>
1820
1821         * gcc-interface/gigi.h (ADT_unhandled_except_decl,
1822         ADT_unhandled_others_decl): New.
1823         (unhandled_others_decl, unhandled_except_decl): Define.
1824         * gcc-interface/trans.c: Include common/common-target.h.
1825         (gigi): Initialize them.
1826         (Subprogram_Body_to_gnu): On SEH targets, wrap the body of the main
1827         function in a try/catch clause.
1828
1829 2013-01-11  Eric Botcazou  <ebotcazou@adacore.com>
1830
1831         * gcc-interface/Make-lang.in (COMMON_ADAFLAGS): Remove -gnata.
1832         (CHECKING_ADAFLAGS): New.
1833         (ALL_ADAFLAGS): Include CHECKING_ADAFLAGS.
1834
1835 2013-01-10  Eric Botcazou  <ebotcazou@adacore.com>
1836
1837         * gcc-interface/config-lang.in (boot_language_boot_flags): Delete.
1838         * gcc-interface/Make-lang.in (BOOT_ADAFLAGS): Likewise.
1839
1840 2013-01-07  Eric Botcazou  <ebotcazou@adacore.com>
1841
1842         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Adjust
1843         comment about type extension with discriminants.
1844         <E_Record_Subtype>: Remove useless test and reorder conditions.
1845         (elaborate_entity) <E_Record_Subtype>: Likewise.
1846
1847 2013-01-07  Richard Biener  <rguenther@suse.de>
1848
1849         PR ada/864
1850         * gcc-interface/Make-lang.in (ada.install-common): Always apply
1851         program_transform_name.
1852
1853 2013-01-06  Eric Botcazou  <ebotcazou@adacore.com>
1854
1855         * gnatvsn.ads (Current_Year): Bump to 2013.
1856
1857 2013-01-06  Olivier Hainque  <hainque@adacore.com>
1858
1859         * gcc-interface/decl.c (gnat_to_gnu_field): Emit a specialized
1860         diagnostic for component size mismatch wrt volatile requirements.
1861         Add a gcc_unreachable() at the end of the checks for size.  Split
1862         the check on volatile for positions into one check on atomic and
1863         a subsequent one on volatile.
1864
1865 2013-01-06  Eric Botcazou  <ebotcazou@adacore.com>
1866
1867         * gcc-interface/decl.c (elaborate_entity) <E_Record_Type>: Delete.
1868
1869 2013-01-06  Eric Botcazou  <ebotcazou@adacore.com>
1870
1871         * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Do not
1872         pack the field of the record type made for a misaligned type.
1873
1874 2013-01-06  Eric Botcazou  <ebotcazou@adacore.com>
1875
1876         * gcc-interface/decl.c (annotate_value) <COMPONENT_REF>: Be prepared
1877         for discriminants inherited from parent record types.
1878
1879 2013-01-04  Robert Dewar  <dewar@adacore.com>
1880
1881         * warnsw.adb: Minor fixes to -gnatw.d handling.
1882
1883 2013-01-04  Robert Dewar  <dewar@adacore.com>
1884
1885         * einfo.adb, atree.adb: Enlarge entities to make 63 more flags, 6 more
1886         fields.
1887
1888 2013-01-04  Joel Brobecker  <brobecker@adacore.com>
1889
1890         * gnat_ugn.texi: Fix typo.
1891
1892 2013-01-04  Robert Dewar  <dewar@adacore.com>
1893
1894         * gnat_rm.texi: Document alignment choice for subtypes.
1895
1896 2013-01-04  Robert Dewar  <dewar@adacore.com>
1897
1898         * validsw.ads: Minor fix to comment.
1899
1900 2013-01-04  Doug Rupp  <rupp@adacore.com>
1901
1902         * Makefile.rtl (GNATRTL_NONTASKING_OBJS,
1903         GNATRTL_ALTIVEC_OBJS): Factor g-al* objects.
1904         * gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Add g-al* sources.
1905         (GNATRTL_ALTIVEC_OBJS): Override to null for VMS.
1906         Rename leon vxworks toolchain as leon-wrs-vxworks.
1907         * gcc-interface/Make-lang.in: Update dependencies
1908
1909 2013-01-04  Pascal Obry  <obry@adacore.com>
1910
1911         * prj.ads (For_Each_Source): Add Locally_Removed parameter.
1912         (Source_Iterator): Add Locally_Removed field.
1913         * prj.adb (For_Each_Source): Ignore Locally_Removed files if needed.
1914         (Next): Likewise.
1915
1916 2013-01-04  Robert Dewar  <dewar@adacore.com>
1917
1918         * exp_attr.adb: Minor reformatting.
1919
1920 2013-01-04  Robert Dewar  <dewar@adacore.com>
1921
1922         * checks.adb (Insert_Valid_Check): Fix handling of renamed
1923         packed array element.
1924         * exp_ch4.adb (Expand_Concatenate): Fix some missing parent
1925         fields in generated code.
1926         * exp_util.adb (Side_Effect_Free): Improve detection of cases
1927         needing renaming.
1928
1929 2013-01-04  Robert Dewar  <dewar@adacore.com>
1930
1931         * sinfo.ads: Clean up order of N_xxx subtypes
1932
1933 2013-01-04  Vincent Celier  <celier@adacore.com>
1934
1935         * prj-conf.adb (Check_Target): Allow --autoconf= with no target.
1936
1937 2013-01-04  Robert Dewar  <dewar@adacore.com>
1938
1939         * types.ads, prj-conf.adb, par-tchk.adb: Minor reformatting.
1940
1941 2013-01-04  Robert Dewar  <dewar@adacore.com>
1942
1943         * par-ch6.adb (P_Subprogram): Better handling of missing IS
1944         after expression function.
1945         * par-util.adb (No_Constraint): Improve handling to avoid bad warnings.
1946
1947 2013-01-04  Robert Dewar  <dewar@adacore.com>
1948
1949         * exp_util.ads, exp_util.adb (Insert_Actions): In expression with
1950         actions case, new actions are appended to the sequence rather than
1951         prepended.
1952
1953 2013-01-04  Robert Dewar  <dewar@adacore.com>
1954
1955         * gnat_ugn.texi: Document -gnatw.d/w.D (does no apply in VMS mode).
1956         * usage.adb: Add lines for -gnatw.d/w.D switches.
1957         * warnsw.adb: Minor fixes (some missing cases of setting
1958         Warning_Doc_Switch). Reject -gnatw.d and -gnatw.D in VMS mode.
1959
1960 2013-01-04  Robert Dewar  <dewar@adacore.com>
1961
1962         * exp_util.adb (Remove_Side_Effects): Make sure scope suppress
1963         is restored on exit.
1964
1965 2013-01-04  Robert Dewar  <dewar@adacore.com>
1966
1967         * usage.adb: Document -gnateF (check overflow for predefined Float).
1968
1969 2013-01-04  Robert Dewar  <dewar@adacore.com>
1970
1971         * sem_res.adb (Resolve_Type_Conversion): Remove incorrect
1972         prevention of call to Apply_Type_Conversion_Checks, which resulted
1973         in missing check flags in formal mode.
1974
1975 2013-01-04  Vincent Celier  <celier@adacore.com>
1976
1977         * makeutl.ads (Db_Switch_Args): New table used by gprbuild.
1978         * prj-conf.adb (Check_Builder_Switches): Check for switches
1979         --config= (Get_Db_Switches): New procedure to get the --db
1980         switches so that they are used when invoking gprconfig in
1981         auto-configuration.
1982         (Do_Autoconf): When invoking gprconfig, use the --db switches, if any.
1983
1984 2013-01-04  Pascal Obry  <obry@adacore.com>
1985
1986         * prj-nmsc.adb: Minor reformatting.
1987
1988 2013-01-04  Vincent Celier  <celier@adacore.com>
1989
1990         * makeutl.ads (Root_Environment): New variable, moved rom
1991         gprbuild (Load_Standard_Base): New Boolean variable, moved
1992         from gprbuild.
1993         * prj-conf.adb (Check_Builder_Switches): New procedure to check
1994         for switch --RTS in package Builder. If a runtime specified
1995         by --RTS is a relative path name, but not a base name, then
1996         find the path on the Project Search Path.
1997         (Do_Autoconf): Call Check_Builder_Switches.
1998         (Locate_Runtime): New procedure, moved from gprbuild, to get the
1999         absolute paths of runtimes when they are not specified as a base name.
2000         * prj-conf.ads (Locate_Runtime): New procedure, moved from gprbuild.
2001
2002 2013-01-04  Ed Schonberg  <schonberg@adacore.com>
2003
2004         * sem_ch3.adb (Build_Private_Derived_Type): Set
2005         Has_Private_Ancestor on type derived from an untagged private
2006         type whose full view has discriminants
2007         * sem_aggr.adb (Resolve_Record_Aggregate): Reject non-extension
2008         aggregate for untagged record type with private ancestor.
2009
2010 2013-01-04  Thomas Quinot  <quinot@adacore.com>
2011
2012         * sem_elab.adb, sem_ch3.adb: Minor reformatting.
2013
2014 2013-01-04  Robert Dewar  <dewar@adacore.com>
2015
2016         * table.adb: Minor reformatting.
2017
2018 2013-01-04  Ed Schonberg  <schonberg@adacore.com>
2019
2020         * sem_ch10.adb (Check_Redundant_Withs): A with_clause that does
2021         not come from source does not generate a warning for redundant
2022         with_clauses.
2023
2024 2013-01-04  Hristian Kirtchev  <kirtchev@adacore.com>
2025
2026         * aspects.adb, aspects.ads: Add Aspect_Global to all relevant tables.
2027         * par-prag.adb: Add pragma Global to the list of pragmas that
2028         do not need special processing by the parser.
2029         * sem_ch13.adb (Analyze_Aspect_Specifications): Convert aspect
2030         Global into a pragma without any form of legality checks. The
2031         work is done by Analyze_Pragma. The aspect and pragma are both
2032         marked as needing delayed processing.  Insert the corresponding
2033         pragma of aspect Abstract_State in the visible declarations of the
2034         related package.
2035         (Check_Aspect_At_Freeze_Point): Aspect Global
2036         does not need processing even though it is marked as delayed.
2037         Alphabetize the list on aspect names.
2038         * sem_prag.adb: Add a value for pragma Global in table Sig_Flags.
2039         (Analyze_Pragma): Add ??? comment about the grammar of pragma
2040         Abstract_State.  Move the error location from the pragma to the
2041         state to improve the quality of error placement.  Add legality
2042         checks for pragma Global.
2043         * snames.ads-tmpl Add the following specially recognized names
2044
2045 2013-01-04  Eric Botcazou  <ebotcazou@adacore.com>
2046
2047         * sem_ch3.adb: Fix minor typo.
2048
2049 2013-01-04  Ed Schonberg  <schonberg@adacore.com>
2050
2051         * par-ch13.adb (Aspect_Specifications_Present): In Strict mode,
2052         accept an aspect name followed by a comma, indicating a defaulted
2053         boolean aspect.
2054
2055 2013-01-04  Joel Brobecker  <brobecker@adacore.com brobecker>
2056
2057         * gnat_ugn.texi: Document procedure to codesign GDB on Darwin.
2058         Update doc on gnattest --separates switch.
2059
2060 2013-01-04  Thomas Quinot  <quinot@adacore.com>
2061
2062         * s-chepoo.ads: Minor reformatting.
2063
2064 2013-01-04  Arnaud Charlet  <charlet@adacore.com>
2065
2066         * usage.adb: Remove mention of -gnatN in usage.
2067
2068 2013-01-04  Robert Dewar  <dewar@adacore.com>
2069
2070         * exp_prag.adb, gnatcmd.adb, exp_util.adb, table.adb, sem_prag.adb,
2071         freeze.adb, sem_ch4.adb, sem_warn.adb, opt.ads, exp_aggr.adb,
2072         prj-conf.adb, sem_ch13.adb: Minor reformatting.
2073
2074 2013-01-04  Thomas Quinot  <quinot@adacore.com>
2075
2076         * sinfo.ads: Minor documentation update.
2077
2078 2013-01-04  Thomas Quinot  <quinot@adacore.com>
2079
2080         * sem_ch3.adb, einfo.adb (Analyze_Object_Declaration): Do not set Ekind
2081         before resolving initialization expression.
2082
2083 2013-01-04  Hristian Kirtchev  <kirtchev@adacore.com>
2084
2085         * checks.adb (Generate_Index_Checks): Delay the generation of
2086         the check for an indexed component where the prefix mentions
2087         Loop_Entry until the attribute has been properly expanded.
2088         * exp_ch5.adb (Expand_Loop_Entry_Attributes): Perform minor
2089         decoration of the constant that captures the value of Loop_Entry's
2090         prefix at the entry point into a loop.  Generate index checks
2091         for an attribute reference that has been transformed into an
2092         indexed component.
2093
2094 2013-01-04  Thomas Quinot  <quinot@adacore.com>
2095
2096         * exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb, exp_aggr.adb,
2097         sem_ch13.adb (Exp_Aggr.Collect_Initialization_Statements): Nothing to
2098         do if Obj is already frozen.
2099         (Exp_Util.Find_Init_Call): Rename to...
2100         (Exp_Util.Remove_Init_Call): New subprogram, renamed from
2101         Find_Init_Call.  Remove the initialization call from the enclosing
2102         list if found, and if it is from an Initialization_Statements
2103         attribute, reset it.
2104         (Exp_Util.Append_Freeze_Action): Minor code reorganization.
2105         (Exp_Util.Append_Freeze_Actions): Ensure a freeze node has been
2106         allocated (as is already done in Append_Freeze_Action).
2107         (Freeze.Freeze_Entity): For an object with captured
2108         Initialization_Statements and non-delayed freezeing, unwrap the
2109         initialization statements and insert and them directly in the
2110         enclosing list.
2111         (Sem_Ch13.Check_Address_Clause): For an object
2112         with Initialization_Statements and an address clause, unwrap the
2113         initialization statements when moving them to the freeze actions.
2114
2115 2013-01-03  Pascal Obry  <obry@adacore.com>
2116
2117         * prj-attr.adb, projects.texi, snames.ads-tmpl: Add package remote and
2118         corresponding attibutes.
2119
2120 2013-01-03  Thomas Quinot  <quinot@adacore.com>
2121
2122         * exp_aggr.adb: Minor comment improvement.
2123
2124 2013-01-03  Hristian Kirtchev  <kirtchev@adacore.com>
2125
2126         * aspects.adb, aspects.ads: Add Aspect_Abstract_State to all the
2127         relevant tables.
2128         * einfo.ads, einfo.adb: Add Integrity_Level and Refined_State to
2129         the description of fields (Abstract_States): New routine.
2130         (Integrity_Level): New routine.
2131         (Has_Property): New routine.
2132         (Is_Input_State): New routine.
2133         (Is_Null_State): New routine.
2134         (Is_Output_State): New routine.
2135         (Is_Volatile_State): New routine.
2136         (Refined_State): New routine.
2137         (Set_Abstract_States): New routine.
2138         (Set_Integrity_Level): New routine.
2139         (Set_Refined_State): New routine.
2140         (Write_Field8_Name): Add proper output for E_Abstract_State.
2141         (Write_Field9_Name): Add proper output for E_Abstract_State.
2142         (Write_Field25_Name): Add proper output for E_Package.
2143         * lib-xref.ads: Add new letter for an abstract state.
2144         * par-prag.adb: Add pragma Abstract_State to the list of pragma
2145         that do not need special processing by the parser.
2146         * sem_ch13.adb (Analyze_Aspect_Specifications): Convert
2147         aspect Abstract_State into a pragma without any form
2148         of legality checks. The work is done by Analyze_Pragma.
2149         (Check_Aspect_At_Freeze_Point): Aspect Abstract_State does not
2150         require delayed analysis.
2151         * sem_prag.adb: Add a value for pragma Abstract_State in table
2152         Sig_Flags.
2153         (Analyze_Pragma): Add legality checks for pragma
2154         Abstract_State. Analysis of individual states introduces a state
2155         abstraction entity into the visibility chain.
2156         * snames.ads-tmpl: Add new names for abstract state and
2157         integrity. Add new pragma id for abstract state.
2158
2159 2013-01-03  Bob Duff  <duff@adacore.com>
2160
2161         * table.adb (Reallocate): Calculate new Length in
2162         Long_Integer to avoid overflow.
2163
2164 2013-01-03  Thomas Quinot  <quinot@adacore.com>
2165
2166         * sem_ch3.adb, sinfo.ads, freeze.adb, sem_ch4.adb, exp_aggr.adb
2167         (Sem_Ch3.Analyze_Object_Declaration): Set Ekind early so that
2168         it is set properly when expanding the initialization expression.
2169         (Freeze.Check_Address_Clause): Transfer initialization expression
2170         to an assignment in the freeze actions, so that the object is
2171         initialized only after being elaborated by GIGI.
2172         (Sinfo (comments), Sem_Ch4.Analyze_Expression_With_Actions): Allow
2173         a Null_Statement as the expression in an Expression_With_Actions.
2174         (Exp_Aggr.Collect_Initialization_Statements): New subprogram
2175         shared by expansion of record and array aggregates, used to
2176         capture statements for an aggregate used to initalize an object
2177         into an Expression_With_Actions (which acts as a container for
2178         a list of actions).
2179         (Exp_Aggr.Convert_Aggr_In_Obj_Decl): Use the above to
2180         capture initialization statements, instead of the previously
2181         existing loop which left freeze nodes out of the capturing
2182         construct (causing out of order elaboration crashes in GIGI).
2183         (Exp_Aggr.Expand_Array_Aggregate):  Use the above to capture
2184         initialization statements (this was previously not done for
2185         arrays).  Also do not unconditionally prevent in place expansion
2186         for an object with address clause.
2187
2188 2013-01-03  Thomas Quinot  <quinot@adacore.com>
2189
2190         * gnat_rm.texi, freeze.adb (Check_Component_Storage_Order): Check that
2191         a record extension has the same scalar storage order as the parent type.
2192
2193 2013-01-03  Thomas Quinot  <quinot@adacore.com>
2194
2195         * exp_ch4.adb: Add comment.
2196
2197 2013-01-03  Vincent Celier  <celier@adacore.com>
2198
2199         * prj.adb: Minor spelling error correction in comment.
2200
2201 2013-01-03  Vincent Celier  <celier@adacore.com>
2202
2203         * gnatcmd.adb (GNATCmd): If a single main has been specified
2204         as an absolute path, use its simple file name to find specific
2205         switches, instead of the absolute path.
2206
2207 2013-01-03  Javier Miranda  <miranda@adacore.com>
2208
2209         * sem_warn.adb (Warn_On_Overlapping_Actuals): For overlapping
2210         parameters that are record types or array types generate warnings
2211         only compiling under -gnatw.i
2212         * opt.ads (Extensions_Allowed): Restore previous documentation.
2213
2214 2013-01-03  Vincent Celier  <celier@adacore.com>
2215
2216         * prj-conf.adb (Do_Autoconf): If Target is specified in the
2217         main project, but not on the command line, use the Target in
2218         the project to invoke gprconfig in auto-configuration.
2219         * makeutl.ads (Default_Config_Name): New constant String.
2220
2221 2013-01-03  Arnaud Charlet  <charlet@adacore.com>
2222
2223         * usage.adb: Minor: fix typo in usage.
2224
2225 2013-01-03  Thomas Quinot  <quinot@adacore.com>
2226
2227         * sem_ch13.adb (Analyze_Record_Representation_Clause): Reject
2228         an illegal component clause for an inherited component in a
2229         record extension.
2230
2231 2013-01-03  Emmanuel Briot  <briot@adacore.com>
2232
2233         * xref_lib.adb (Parse_Identifier_Info): Fix handling of arrays, which
2234         have information in the ALI file for both the index and the component
2235         types.
2236
2237 2013-01-03  Emmanuel Briot  <briot@adacore.com>
2238
2239         * projects.texi: Fix error in documenting the project path
2240         computed for an aggregate project.
2241
2242 2013-01-03  Javier Miranda  <miranda@adacore.com>
2243
2244         * sem_warn.adb (Warn_On_Overlapping_Actuals): Adding documentation
2245         plus restricting the functionality of this routine to cover the
2246         cases described in the Ada 2012 reference manual. The previous
2247         extended support is now available under -gnatX.
2248         * s-tassta.adb (Finalize_Global_Tasks): Addition of a dummy
2249         variable to call Timed_Sleep.  Required to avoid warning on
2250         overlapping out-mode actuals.
2251         * opt.ads (Extensions_Allowed): Update documentation.
2252
2253 2013-01-03  Tristan Gingold  <gingold@adacore.com>
2254
2255         * s-arit64.ads: Use Multiply_With_Ovflo_Check as __gnat_mulv64.
2256         * arit64.c: Removed
2257         * gcc-interface/Makefile.in: Remove reference to arit64.c.
2258
2259 2013-01-03  Thomas Quinot  <quinot@adacore.com>
2260
2261         * checks.adb, checks.ads (Apply_Address_Clause_Check): The check must
2262         be generated at the start of the freeze actions for the entity, not
2263         before (or after) the freeze node.
2264
2265 2013-01-03  Thomas Quinot  <quinot@adacore.com>
2266
2267         * exp_aggr.adb (Exp_Aggr.Convert_Aggregate_In_Obj_Decl):
2268         Reorganize code to capture initialization statements in a block,
2269         so that freeze nodes are excluded from the captured block.
2270
2271 2013-01-03  Thomas Quinot  <quinot@adacore.com>
2272
2273         * exp_ch11.adb: Minor reformatting.
2274
2275 2013-01-03  Thomas Quinot  <quinot@adacore.com>
2276
2277         * exp_util.adb, einfo.adb, einfo.ads, freeze.adb, exp_aggr.adb,
2278         sem_ch13.adb (Einfo.Initialization_Statements,
2279         Einfo.Set_Initialization_Statements): New entity attribute
2280         for objects.
2281         (Exp_Util.Find_Init_Call): Handle case of an object initialized
2282         by an aggregate converted to a block of assignment statements.
2283         (Freeze.Check_Address_Clause): Do not clear Has_Delayed_Freeze
2284         even for objects that require a constant address, because the
2285         address expression might involve entities that have yet to be
2286         elaborated at the point of the object declaration.
2287         (Exp_Aggr.Convert_Aggregate_In_Obj_Decl): For a type that does
2288         not require a transient scope, capture the assignment statements
2289         in a block so that they can be moved down after elaboration of
2290         an address clause if needed.
2291         (Sem_Ch13.Check_Constant_Address_Clause.Check_Expr_Constants,
2292         case N_Unchecked_Conversion): Do not replace operand subtype with
2293         its base type as this violates a GIGI invariant if the operand
2294         is an identifier (in which case the etype of the identifier
2295         is expected to be equal to that of the denoted entity).
2296
2297 2013-01-03  Javier Miranda  <miranda@adacore.com>
2298
2299         * sem_util.ads, sem_util.adb (Denotes_Same_Object): Extend the
2300         functionality of this routine to cover cases described in the Ada 2012
2301         reference manual.
2302
2303 2013-01-03  Ed Schonberg  <schonberg@adacore.com>
2304
2305         * sem_elab.adb (Set_Elaboration_Constraint): Handle properly
2306         a 'Access attribute reference when the subprogram is called
2307         Initialize.
2308
2309 2013-01-03  Arnaud Charlet  <charlet@adacore.com>
2310
2311         * s-tpobop.adb (PO_Do_Or_Queue): Refine assertion, since a
2312         select statement may be called from a controlled (e.g. Initialize)
2313         operation and have abort always deferred.
2314
2315 2013-01-03  Robert Dewar  <dewar@adacore.com>
2316
2317         * sem_ch8.adb, einfo.ads, einfo.adb: Minor code reorganization.
2318
2319 2013-01-03  Javier Miranda  <miranda@adacore.com>
2320
2321         * exp_ch3.adb (Make_Controlling_Function_Wrappers): Exclude
2322         internal entities associated with interfaces and add minimum
2323         decoration to the defining entity of the generated wrapper to
2324         allow overriding interface primitives.
2325         * sem_disp.ads (Override_Dispatching_Operation): Addition of a
2326         new formal (Is_Wrapper).
2327         * sem_disp.adb (Override_Dispatching_Operation): When overriding
2328         interface primitives the new formal helps identifying that the
2329         new operation is not fully decorated.
2330
2331 2013-01-03  Thomas Quinot  <quinot@adacore.com>
2332
2333         * sem_ch7.adb, sem_ch10.adb, einfo.adb, einfo.ads, sem_ch12.adb,
2334         rtsfind.adb, sem_elab.adb, sem_ch4.adb, sem_ch8.adb
2335         (Einfo.Is_Visible_Child_Unit, Einfo.Set_Is_Visible_Child_Unit):
2336         Rename to Is_Visible_Lib_Unit, Set_Is_Visible_Lib_Unit, and
2337         update spec accordingly (now also applies to root library units).
2338         (Sem_Ch10.Analyze_Subunit.Analyze_Subunit_Context): Toggle above flag
2339         on root library units, not only child units.
2340         (Sem_Ch10.Install[_Limited]_Withed_Unit): Same.
2341         (Sem_Ch10.Remove_Unit_From_Visibility): Reset Is_Visible_Lib_Unit
2342         even for root library units.
2343         (Sem_Ch8.Find_Expanded_Name): A selected component form whose prefix is
2344         Standard is an expanded name for a root library unit.
2345
2346 2013-01-03  Thomas Quinot  <quinot@adacore.com>
2347
2348         * exp_ch3.adb: Minor reformatting.
2349
2350 2013-01-03  Olivier Hainque  <hainque@adacore.com>
2351
2352         * tracebak.c: Reinstate changes to support ppc-lynx178.
2353
2354 2013-01-03  Ed Schonberg  <schonberg@adacore.com>
2355
2356         * atree.ads: Minor reformatting and documentation enhancement.
2357
2358 2013-01-03  Ed Schonberg  <schonberg@adacore.com>
2359
2360         * exp_ch3.adb (Expand_N_Object_Declaration): If the object has
2361         a class-wide type and a renaming declaration is created for it,
2362         preserve entity chain, which already contains generated internal
2363         types. This ensures that freezing actions are properly generated
2364         for all objects declared subsequently in the same scope, and
2365         that debugging information is generated for them.
2366         * sem_util.adb, sem_util.ads (we): New debugging routine, to
2367         display entity chain of a given scope.
2368
2369 2013-01-03  Robert Dewar  <dewar@adacore.com>
2370
2371         * exp_intr.adb: Minor reformatting.
2372
2373 2013-01-03  Robert Dewar  <dewar@adacore.com>
2374
2375         * einfo.adb: Minor reformatting.
2376
2377 2013-01-03  Pascal Obry  <obry@adacore.com>
2378
2379         * adaint.c, adaint.h (__gnat_get_module_name): Removed.
2380         (__gnat_is_module_name_supported): Removed.
2381         * s-win32.ads: Add some needed definitions.
2382         * g-trasym.ads: Update comments.
2383
2384 2013-01-03  Robert Dewar  <dewar@adacore.com>
2385
2386         * layout.adb (Set_Composite_Alignment): Fix problems of
2387         interactions with Optimize_Alignment set to Space.
2388
2389 2013-01-03  Thomas Quinot  <quinot@adacore.com>
2390
2391         * exp_disp.adb: Minor reformatting.
2392
2393 2013-01-02  Richard Biener  <rguenther@suse.de>
2394
2395         PR bootstrap/55784
2396         * gcc-interface/Makefile.in: Add $(GMPINC) to includes.
2397
2398 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2399
2400         * exp_intr.adb (Expand_Dispatching_Constructor_Call): Remove
2401         side effects from Tag_Arg early, doing it too late may cause a
2402         crash due to inconsistent Parent link.
2403         * sem_ch8.adb, einfo.ads: Minor reformatting.
2404
2405 2013-01-02  Robert Dewar  <dewar@adacore.com>
2406
2407         * einfo.ads, einfo.adb (Has_Independent_Components): New flag.
2408         * freeze.adb (Size_Known): We do not know the size of a packed
2409         record if it has atomic components, by reference type components,
2410         or independent components.
2411         * sem_prag.adb (Analyze_Pragma, case Independent_Components): Set new
2412         flag Has_Independent_Components.
2413
2414 2013-01-02  Yannick Moy  <moy@adacore.com>
2415
2416         * opt.ads (Warn_On_Suspicious_Contract): Set to True by default.
2417         * usage.adb (Usage): Update usage message.
2418
2419 2013-01-02  Pascal Obry  <obry@adacore.com>
2420
2421         * adaint.c (__gnat_is_module_name_supported): New constant.
2422
2423 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
2424
2425         * sem_attr.adb (Check_Array_Type): Reject an attribute reference on an
2426         array whose component type does not have a completion.
2427
2428 2013-01-02  Geert Bosch  <bosch@adacore.com>
2429
2430         * a-nllcef.ads, a-nlcefu.ads, a-nscefu.ads: Make Pure.
2431
2432 2013-01-02  Robert Dewar  <dewar@adacore.com>
2433
2434         * par_sco.adb: Minor reformatting.
2435
2436 2013-01-02  Javier Miranda  <miranda@adacore.com>
2437
2438         * sem_aggr.adb (Resolve_Array_Aggregate): Remove dead code.
2439
2440 2013-01-02  Olivier Hainque  <hainque@adacore.com>
2441
2442         * a-exctra.ads (Get_PC): New function.
2443
2444 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2445
2446         * sem_ch8.adb: Minor reformatting.
2447
2448 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2449
2450         * sem_ch7.adb: Minor reformatting.
2451
2452 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2453
2454         * freeze.adb (Check_Component_Storage_Order): Do not crash on
2455         _Tag component.
2456
2457 2013-01-02  Robert Dewar  <dewar@adacore.com>
2458
2459         * gnat1drv.adb, targparm.adb, targparm.ads: Minor name change: add
2460         On_Target to Atomic_Sync_Default.
2461
2462 2013-01-02  Robert Dewar  <dewar@adacore.com>
2463
2464         * sem_warn.adb (Warn_On_Known_Condition): Suppress warning for
2465         comparison of attribute result with constant
2466         * a-ststio.adb, s-direio.adb, s-rannum.adb: Remove unnecessary pragma
2467         Warnings (Off, "..");
2468
2469 2013-01-02  Yannick Moy  <moy@adacore.com>
2470
2471         * sem_prag.ads: Minor correction of comment.
2472
2473 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2474
2475         * par_sco.adb (Traverse_Package_Declaration): The first
2476         declaration in a nested package is dominated by the preceding
2477         declaration in the enclosing scope.
2478
2479 2013-01-02  Pascal Obry  <obry@adacore.com>
2480
2481         * adaint.c, adaint.h (__gnat_get_module_name): Return the actual
2482         module containing a given address.
2483
2484 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2485
2486         * sem_ch3.adb: Minor reformatting.
2487
2488 2013-01-02  Pascal Obry  <obry@adacore.com>
2489
2490         * cstreams.c (__gnat_ftell64): New routine. Use _ftelli64 on
2491         Win64 and default to ftell on other platforms.
2492         (__gnat_fsek64): Likewise.
2493         * i-cstrea.ads: Add fssek64 and ftell64 specs.
2494         * s-crtl.ads: Likewise.
2495         * a-ststio.adb, s-direio.adb (Size): Use 64 bits version when required.
2496         (Set_Position): Likewise.
2497
2498 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2499
2500         * par_sco.adb: Generate X SCOs for default expressions in
2501         subprogram body stubs.  Do not generate any SCO for package,
2502         task, or protected body stubs.
2503
2504 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
2505
2506         * sem_ch3.adb: Further improvement to ASIS mode for anonymous
2507         access to protected subprograms.
2508
2509 2013-01-02  Robert Dewar  <dewar@adacore.com>
2510
2511         * par_sco.adb, vms_data.ads: Minor reformatting.
2512
2513 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2514
2515         * par_sco.adb (Traverse_Declarations_Or_Statement): Function
2516         form, returning value of Current_Dominant upon exit, for chaining
2517         purposes.
2518         (Traverse_Declarations_Or_Statement.Traverse_One, case
2519         N_Block_Statement): First statement is dominated by last declaration.
2520         (Traverse_Subprogram_Or_Task_Body): Ditto.
2521         (Traverse_Package_Declaration): First private
2522         declaration is dominated by last visible declaration.
2523         (Traverse_Sync_Definition): Ditto.
2524
2525 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2526
2527         * gnat_rm.texi: Restrict the requirement for Scalar_Storage_Order
2528         matching Bit_Order to record types only, since array types do not
2529         have a Bit_Order.
2530
2531 2013-01-02  Vincent Celier  <celier@adacore.com>
2532
2533         * gnat_ugn.texi: Remove documentation of -gnateO, which is an
2534         internal switch.
2535         * usage.adb: Indicate that -gnateO is an internal switch.
2536
2537 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2538
2539         * par_sco.adb: Add SCO generation for task types and single
2540         task declarations.
2541         * get_scos.adb: When adding an instance table entry for a
2542         non-nested instantiation, make sure the Enclosing_Instance is
2543         correctly set to 0.
2544
2545 2013-01-02  Hristian Kirtchev  <kirtchev@adacore.com>
2546
2547         * sem_attr.adb (Analyze_Attribute): Skip the special _Parent
2548         scope generated for subprogram inlining purposes while trying
2549         to locate the enclosing function.
2550         * sem_prag.adb (Analyze_Pragma): Preanalyze the boolean
2551         expression of pragma Postcondition when the pragma comes from
2552         source and appears inside a subprogram body.
2553
2554 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2555
2556         * switch-c.adb, fe.h, back_end.adb: Enable generation of instantiation
2557         information in debug info unconditionally when using -fdump-scos,
2558         instead of relying on a separate command line switch -fdebug-instances.
2559         * gcc-interface/Make-lang.in: Update dependencies.
2560
2561 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
2562
2563         * sem_ch12.adb: Additional refinement of predicate.
2564
2565 2013-01-02  Vincent Celier  <celier@adacore.com>
2566
2567         * vms_data.ads: Remove incorrect spaces at end of descriptions
2568         of qualifiers for single switch.
2569
2570 2013-01-02  Ben Brosgol  <brosgol@adacore.com>
2571
2572         * gnat_rm.texi: Minor edits / wordsmithing in section on pragma
2573         Check_Float_Overflow.
2574
2575 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2576
2577         * sprint.adb (Sprint_Node_Actual): Do not add extra parens for
2578         a conditional expression (CASE or IF expression) that already
2579         has parens. Also omit ELSE keyword for an IF expression without
2580         an ELSE part.
2581
2582 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2583
2584         * gnat1drv.adb (Adjust_Global_Switches): Adjust back-end
2585         flag_debug_instances here, after front-end switches have been
2586         processed.
2587
2588 2013-01-02  Vincent Celier  <celier@adacore.com>
2589
2590         * usage.adb: Minor reformatting.
2591
2592 2013-01-02  Arnaud Charlet  <charlet@adacore.com>
2593
2594         * opt.ads: Fix typo.
2595
2596 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2597
2598         * par_sco.adb: Generate P decision SCOs for SPARK pragmas
2599         Assume and Loop_Invariant.
2600
2601 2013-01-02  Robert Dewar  <dewar@adacore.com>
2602
2603         * vms_data.ads: Add entry for Float_Check_Valid (-gnateF).
2604         * ug_words: Add entry for Float_Check_Overflow.
2605         * usage.adb: Minor reformatting.
2606         * gnat_ugn.texi: Add documentation for -gnateF (Check_Float_Overflow).
2607
2608 2013-01-02  Vincent Celier  <celier@adacore.com>
2609
2610         * gnat_ugn.texi: Add documentation for switches -gnateA, -gnated,
2611         -gnateO=, -gnatet and -gnateV.
2612         * ug_words: Add qualifiers equivalent to -gnateA, -gnated,
2613         -gnatet and -gnateV.
2614         * usage.adb: Add lines for -gnatea, -gnateO and -gnatez.
2615         * vms_data.ads: Add new compiler qualifiers /ALIASING_CHECK
2616         (-gnateA), /DISABLE_ATOMIC_SYNCHRONIZATION (-gnated),
2617         /PARAMETER_VALIDITY_CHECK (-gnateV) and /TARGET_DEPENDENT_INFO
2618         (-gnatet).
2619
2620 2013-01-02  Robert Dewar  <dewar@adacore.com>
2621
2622         * checks.adb (Apply_Scalar_Range_Check): Implement Check_Float_Overflow.
2623         * opt.ads, opt.adb: Handle flags Check_Float_Overflow[_Config].
2624         * par-prag.adb: Add dummy entry for pragma Check_Float_Overflow.
2625         * sem_prag.adb: Implement pragma Check_Float_Overflow.
2626         * snames.ads-tmpl: Add entries for pragma Check_Float_Overflow.
2627         * switch-c.adb: Recognize -gnateF switch.
2628         * tree_io.ads: Update ASIS version number.
2629         * gnat_rm.texi: Add documentation of pragma Check_Float_Overflow.
2630
2631 2013-01-02  Robert Dewar  <dewar@adacore.com>
2632
2633         * checks.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
2634         exp_disp.adb, exp_dist.adb, exp_intr.adb, exp_prag.adb, exp_util.adb,
2635         freeze.adb, gnat1drv.adb, inline.adb, layout.adb, lib-xref.adb,
2636         par-ch10.adb, par-labl.adb, par-load.adb, par-util.adb, restrict.adb,
2637         sem_ch13.adb, sem_ch4.adb, sem_ch6.adb, sem_dim.adb, sem_elab.adb,
2638         sem_res.adb, sem_warn.adb, sinput-l.adb: Add tags to warning messages.
2639         * sem_ch6.ads, warnsw.ads, opt.ads: Minor comment updates.
2640
2641 2013-01-02  Robert Dewar  <dewar@adacore.com>
2642
2643         * err_vars.ads: Minor comment fix.
2644
2645 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
2646
2647         * sem_ch12.adb: Refine predicate.
2648
2649 2013-01-02  Robert Dewar  <dewar@adacore.com>
2650
2651         * errout.ads: Minor comment fixes.
2652         * opt.ads: Minor comment additions.
2653         * exp_aggr.adb: Add tags to warning messages
2654         * exp_ch11.adb, exp_ch3.adb, exp_ch4.adb, exp_util.adb, sem_aggr.adb,
2655         sem_attr.adb, sem_case.adb, sem_cat.adb, sem_ch3.adb, sem_ch4.adb,
2656         sem_ch5.adb, sem_disp.adb, sem_dist.adb, sem_elab.adb, sem_eval.adb,
2657         sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb, sem_util.adb,
2658         sem_warn.adb: Add tags to warning messages
2659
2660 2013-01-02  Doug Rupp  <rupp@adacore.com>
2661
2662         * init.c [VMS] Remove subtest on reason mask for ACCVIO that is a C_E.
2663
2664 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
2665
2666         * sem_ch12.adb: Recover source name for renamed packagea.
2667
2668 2013-01-02  Robert Dewar  <dewar@adacore.com>
2669
2670         * errout.adb (Set_Msg_Insertion_Warning): Correct typo causing
2671         tests to fail if insertion sequence is at end of message string.
2672         * opt.ads: Minor comment fixes and additions.
2673         * sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_ch10.adb, sem_ch11.adb,
2674         sem_ch12.adb, sem_ch13.adb: Add tags to warning messages.
2675         * sem_ch6.ads, sem_ch6.adb (Cannot_Inline): Deal with warning message
2676         tags. Add tags to warning messages.
2677
2678 2013-01-02  Robert Dewar  <dewar@adacore.com>
2679
2680         * err_vars.ads (Warning_Doc_Switch): New flag.
2681         * errout.adb (Error_Msg_Internal): Implement new warning flag
2682         doc tag stuff (Set_Msg_Insertion_Warning): New procedure.
2683         * errout.ads: Document new insertion sequences ?? ?x? ?.x?
2684         * erroutc.adb (Output_Msg_Text): Handle ?? and ?x? warning doc
2685         tag stuff.
2686         * erroutc.ads (Warning_Msg_Char): New variable.
2687         (Warn_Chr): New field in error message object.
2688         * errutil.adb (Error_Msg): Set Warn_Chr in error message object.
2689         * sem_ch13.adb: Minor reformatting.
2690         * warnsw.adb: Add handling for -gnatw.d and -gnatw.D
2691         (Warning_Doc_Switch).
2692         * warnsw.ads: Add handling of -gnatw.d/.D switches (warning
2693         doc tag).
2694
2695 2013-01-02  Robert Dewar  <dewar@adacore.com>
2696
2697         * opt.ads: Minor reformatting.
2698
2699 2013-01-02  Doug Rupp  <rupp@adacore.com>
2700
2701         * init.c: Reorganize VMS section.
2702         (scan_condtions): New function for scanning condition tables.
2703         (__gnat_handle_vms_condtion): Use actual exception name for imported
2704         exceptions vice IMPORTED_EXCEPTION.
2705         Move condition table scanning into separate function. Move formerly
2706         special handled conditions to system condition table. Use SYS$PUTMSG
2707         output to fill exception message field for formally special handled
2708         condtions, in particular HPARITH to provide more clues about cause and
2709         location then raised from the translated image.
2710
2711 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2712
2713         * sem_ch13.adb (Analyze_Aspect_Specifications): For a Pre/Post
2714         aspect that applies to a library subprogram, prepend corresponding
2715         pragma to the Pragmas_After list, in order for split AND THEN
2716         sections to be processed in the expected order.
2717
2718 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2719
2720         * exp_prag.adb (Expand_Pragma_Check): The statements generated
2721         for the pragma must have the sloc of the pragma, not the
2722         sloc of the condition, otherwise this creates anomalies in the
2723         generated debug information that confuse coverage analysis tools.
2724
2725 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2726
2727         * sem_ch13.adb: Minor reformatting.
2728
2729 2013-01-02  Arnaud Charlet  <charlet@adacore.com>
2730
2731         * g-excact.ads (Core_Dump): Clarify that this subprogram does
2732         not dump cores under Windows.
2733
2734 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
2735
2736         * sem_ch8.adb (Analyze_Primitive_Renamed_Operation): The prefixed
2737         view of a subprogram has convention Intrnnsic, and a renaming
2738         of a prefixed view cannot be the prefix of an Access attribute.
2739
2740 2013-01-02  Robert Dewar  <dewar@adacore.com>
2741
2742         * restrict.adb: Minor reformatting.
2743
2744 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2745
2746         * exp_prag.adb: Minor reformatting.
2747
2748 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
2749
2750         * sem_ch12.adb (Get_Associated_Node): If the node is an
2751         identifier that denotes an unconstrained array in an object
2752         declaration, it is rewritten as the name of an anonymous
2753         subtype whose bounds are given by the initial expression in the
2754         declaration. When checking whether that identifier is global
2755         reference, use the original node, not the local generated subtype.
2756
2757 2013-01-02  Olivier Hainque  <hainque@adacore.com>
2758
2759         * tracebak.c: Revert previous change, incomplete.
2760
2761 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
2762
2763         * sem_ch13.adb (Analyze_Aspect_Specifications): If the aspect
2764         appears on a subprogram body that acts as a spec, place the
2765         corresponding pragma in the declarations of the body, so that
2766         e.g. pre/postcondition checks can be generated appropriately.
2767
2768 2013-01-02  Robert Dewar  <dewar@adacore.com>
2769
2770         * sem_ch3.adb: Minor reformatting and code reorganization.
2771
2772 2013-01-02  Vincent Celier  <celier@adacore.com>
2773
2774         * switch-m.adb (Normalize_Compiler_Switches): Record the
2775         complete switch -fstack-check=specific instead of its shorter
2776         alias -fstack-check.
2777
2778 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
2779
2780         * sem_ch3.adb (Derive_Subprogram): Enforce RM 6.3.1 (8):
2781         if the derived type is a tagged generic formal type with
2782         unknown discriminants, the inherited operation has convention
2783         Intrinsic. As such, the 'Access attribute cannot be applied to it.
2784
2785 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2786
2787         * sem_attr.adb: Minor reformatting.
2788
2789 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2790
2791         * par_sco.adb: Add SCO generation for S of protected types and
2792         single protected object declarations.
2793
2794 2013-01-02  Robert Dewar  <dewar@adacore.com>
2795
2796         * sem_eval.adb, osint.ads: Minor reformatting.
2797
2798 2013-01-02  Hristian Kirtchev  <kirtchev@adacore.com>
2799
2800         * sem_prag.adb (Analyze_Pragma): Check the legality of pragma Assume.
2801
2802 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2803
2804         * sem_eval.adb (Compile_Time_Compare): For static operands, we
2805         can perform a compile time comparison even if in preanalysis mode.
2806
2807 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2808
2809         * par_sco.adb (SCO_Record): Always use
2810         Traverse_Declarations_Or_Statements to process the library level
2811         declaration, so that SCOs are properly generated for its aspects.
2812
2813 2013-01-02  Thomas Quinot  <quinot@adacore.com>
2814
2815         * scos.ads (In_Decision): Add missing entry for 'a'.
2816         * sem_prag.adb (Analyze_Pragma, case pragma Check): Omit
2817         call to Set_SCO_Pragma_Enabled for Invariant and Predicate.
2818         * sem_ch13.adb: Minor comment update.
2819 \f
2820 Copyright (C) 2013 Free Software Foundation, Inc.
2821
2822 Copying and distribution of this file, with or without modification,
2823 are permitted in any medium without royalty provided the copyright
2824 notice and this notice are preserved.