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