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