]> gcc.gnu.org Git - gcc.git/blob - gcc/ada/ChangeLog
[multiple changes]
[gcc.git] / gcc / ada / ChangeLog
1 2012-10-29 Ed Schonberg <schonberg@adacore.com>
2
3 * sem_aux.adb (Get_Rep_Item): Treat Priority and Interrupt_Priority
4 as equivalent, because only one of them can be specified for a
5 task, protected definition, or subprogram body.
6 * aspects.adb ((Same_Aspect): The canonical aspect of
7 Interrupt_Priority is Priority.
8
9 2012-10-29 Robert Dewar <dewar@adacore.com>
10
11 * sem_ch13.adb: Minor reformatting.
12
13 2012-10-29 Robert Dewar <dewar@adacore.com>
14
15 * i-cstrea.ads: Avoid redefinition of standard symbol string.
16 * prj-makr.adb: Add comment for OK redefinition of Stadard.
17 * prj.ads: Add comment for OK redefinition of Stadard.
18 * s-crtl.ads: Avoid redefinition of standard symbol string.
19 * sinfo-cn.adb (Change_Identifier_To_Defining_Identifier):
20 Generate warning for standard redefinition if
21 Warn_On_Standard_Definition set.
22 * usage.adb: Add lines for -gnatw.k and -gnatw.K
23 * warnsw.adb: Set/reset Warn_On_Standard_Redefinition
24 appropriately.
25 * warnsw.ads (Warn_On_Standard_Redefinition): New flag.
26 * s-stratt-xdr.adb: Avoid new warning.
27
28 2012-10-29 Ed Schonberg <schonberg@adacore.com>
29
30 * exp_dbug.ads, exp_dbug.adb (Build_Subprogram_Instance_Renamings):
31 in the body of a subpogram instance, introduce local renamings
32 for actuals of an elementary type, so that GDB can recover the
33 values of these actuals more directly.
34
35 2012-10-29 Robert Dewar <dewar@adacore.com>
36
37 * sem_ch5.adb (Analyze_Loop_Statement): Add warning for identical
38 inner/outer ranges.
39
40 2012-10-29 Robert Dewar <dewar@adacore.com>
41
42 * einfo.ads: Change terminology "present" to "defined" in talking
43 about whether a given field is defined for a given entity kind.
44
45 2012-10-29 Bob Duff <duff@adacore.com>
46
47 * atree.ads: Minor comment fix.
48
49 2012-10-29 Bob Duff <duff@adacore.com>
50
51 * sem_ch13.adb (Replace_Type_Reference): Set_Comes_From_Source.
52 Otherwise, the node is ignored by ASIS.
53 * sem_ch5.adb: Minor reformatting.
54
55 2012-10-29 Thomas Quinot <quinot@adacore.com>
56
57 * exp_attr.adb, exp_dist.adb, exp_dist.ads (Build_To_Any_Call): Pass
58 an explicit Loc parameter to set the source location of generated
59 nodes.
60
61 2012-10-29 Tristan Gingold <gingold@adacore.com>
62
63 * exp_ch9.adb (Build_Task_Activation_Call): Do nothing on
64 restricted profile.
65 * bindgen.adb (System_Tasking_Restricted_Stages_Used): New variable.
66 (Gen_Adainit): Declare and call Activate_Tasks when the above variable
67 is set.
68 (Resolve_Binder_Options): Set the variable.
69 * rtsfind.ads (RE_Activate_Restricted_Tasks): Removed (now unused).
70 * s-tarest.adb (Tasks_Activation_Chain): New variable.
71 (Activate_Restricted_Tasks): Removed, and replaced by ...
72 (Activate_Tasks): New procedure, to activate all tasks at
73 the end of elaboration.
74 (Create_Restricted_Tasks): Chain parameter is now unreferenced. Put
75 the created task on the Tasks_Activation_Chain list.
76 * s-tarest.ads (Activate_Restricted_Tasks): Removed.
77 (Activate_Tasks): Added.
78
79 2012-10-29 Gary Dismukes <dismukes@adacore.com>
80
81 * sem_res.adb (Resolve_If_Expression): Compare subtype of the 'then'
82 expression against the subtype of the expression rather than comparing
83 base types, same as is already done for the 'else' expression.
84
85 2012-10-29 Steve Baird <baird@adacore.com>
86
87 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If CodePeer_Mode
88 = True and we detect that an Address specification is used to overlay
89 another object, do not set that object's Treat_As_Volatile flag.
90
91 2012-10-29 Ed Schonberg <schonberg@adacore.com>
92
93 * sem_ch3.adb (Constant_Redeclaration): If the type of a
94 deferred constant has invariants, generate invariant call on
95 the initial value.
96
97 2012-10-29 Bob Duff <duff@adacore.com>
98
99 * sem_ch13.adb (Replace_Type_Reference): Use correct sloc for
100 the new node.
101
102 2012-10-29 Thomas Quinot <quinot@adacore.com>
103
104 * sem_elab.adb: Minor reformatting and code reorganization.
105
106 2012-10-29 Robert Dewar <dewar@adacore.com>
107
108 * par-ch4.adb (P_Primary): Warn on bad use of unary minus.
109
110 2012-10-29 Robert Dewar <dewar@adacore.com>
111
112 * s-valuti.ads, s-valuti.adb (Bad_Value): New procedure.
113 * s-valllu.adb, s-valwch.adb, s-valcha.adb, s-valint.adb,
114 s-valuns.adb, s-valrea.adb, s-valboo.adb, s-valenu.adb,
115 s-vallli.adb: Use Bad_Value everywhere.
116
117 2012-10-29 Yannick Moy <moy@adacore.com>
118
119 * gnat1drv.adb (Adjust_Global_Switches): Do not suppress checks
120 in Alfa mode.
121
122 2012-10-29 Yannick Moy <moy@adacore.com>
123
124 * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
125 Add special case for case expression alternative.
126 (Is_Signed_Integer_Arithmetic_Op): Remove special case for case
127 expression alternative.
128 * exp_ch4.adb Minor reformatting.
129
130 2012-10-29 Thomas Quinot <quinot@adacore.com>
131
132 * sem_elab.adb: Minor reformatting.
133
134 2012-10-29 Bob Duff <duff@adacore.com>
135
136 * sem_res.adb: Minor: Remove redundant test.
137
138 2012-10-29 Arnaud Charlet <charlet@adacore.com>
139
140 * pprint.ads, pprint.adb, adabkend.ads, adabkend.adb,
141 aa_util.ads, aa_util.adb: New.
142
143 2012-10-23 Eric Botcazou <ebotcazou@adacore.com>
144
145 * system-linux-mipsel.ads (Stack_Check_Probes): Set to True.
146 * system-linux-mips.ads (Stack_Check_Probes): Likewise.
147 * system-linux-mips64el.ads (Stack_Check_Probes): Likewise.
148
149 2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
150
151 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Force
152 BLKmode on the type if it is passed by reference.
153 <E_Array_Subtype>: Likewise.
154 <E_Record_Type>: Guard the call to Is_By_Reference_Type predicate.
155 <E_Record_Subtype>: Likewise.
156
157 * gcc-interface/Makefile.in: Remove outdated comment and reference to
158 non-existing file.
159
160 2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
161
162 * gcc-interface/utils.c (rest_of_record_type_compilation): Simplify and
163 robustify pattern machine code for masking operations.
164
165 2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
166
167 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: In
168 type annotation mode, break circularities introduced by AI05-0151.
169
170 2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
171
172 * gcc-interface/trans.c (Loop_Statement_to_gnu): Use gnat_type_for_size
173 directly to obtain an unsigned version of the base type.
174
175 2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
176
177 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: Do not
178 generate the special PARM_DECL for an Out parameter in LTO mode.
179
180 2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
181
182 PR bootstrap/54820
183 * gcc-interface/Make-lang.in (GCC_LINK): Remove hardcoded options.
184
185 2012-10-15 Matthias Klose <doko@ubuntu.com>
186
187 * gcc-interface/Makefile.in: Match arm*-*-linux-*eabi* for
188 ARM Linux/GNU.
189
190 2012-10-05 Robert Dewar <dewar@adacore.com>
191
192 * sem_ch7.adb: Minor reformatting.
193
194 2012-10-05 Ed Schonberg <schonberg@adacore.com>
195
196 * sem_prag.adb (Analyze_Pragma, case Persistent_BSS): check for
197 a duplicate pragma before Rep_Item_Too_Late to prevent spurious
198 messages about duplicate pragmas.
199
200 2012-10-05 Ed Schonberg <schonberg@adacore.com>
201
202 * exp_util.adb (Find_Init_Call): If the successor of the
203 object declaration is a block, check whether it contains the
204 initialization call, because it may have been created by actuals
205 that use the secondary stack.
206
207 2012-10-05 Thomas Quinot <quinot@adacore.com>
208
209 * sem_dim.adb, errout.adb, errout.ads (Analyze_Dimension_Call): Add
210 guard against abnormal tree resulting from a previously diagnosed
211 illegality.
212
213 2012-10-05 Hristian Kirtchev <kirtchev@adacore.com>
214
215 * freeze.adb (Freeze_Expression): Rename local variable Cspc to Spec
216 and update all refs to it. Do not freeze an entity outside a subprogram
217 body when the original context is an expression function.
218
219 2012-10-05 Robert Dewar <dewar@adacore.com>
220
221 * gnat1drv.adb (Adjust_Global_Switches): Default for overflow checking
222 is suppressed, even if backend overflow/divide checks are enabled.
223
224 2012-10-05 Ed Schonberg <schonberg@adacore.com>
225
226 * einfo.adb (Set_Invariant_Procedure, Set_Predicate_Function):
227 chain properly subprograms on Subprograms_For_Type list.
228 * sem_ch13.ads; (Build_Invariant_Procedure_Declaration): new
229 procedure, to create declaration for invariant procedure
230 independently of the construction of the body, so that it can
231 be called within expression functions.
232 * sem_ch13.adb (Build_Invariant_Procedure): code cleanup. The
233 declaration may already have been generated at the point an
234 explicit invariant aspect is encountered.
235 * sem_prag.adb; (Analyze_Pragma, case Invariant): create declaration
236 for invariant procedure.
237 * sem_ch7.adb (Analyze_Package_Specification): clean up call to
238 build invariant procedure.
239 (Preserve_Full_Attributes): propagate information about invariants
240 if they appear on a completion,
241
242 2012-10-05 Pascal Obry <obry@adacore.com>
243
244 * gnat_ugn.texi: Update documentation to lift Microsoft C
245 restriction.
246
247 2012-10-05 Robert Dewar <dewar@adacore.com>
248
249 * sem_util.adb (Has_One_Matching_Field): Handle case of lone
250 discriminant.
251
252 2012-10-05 Yannick Moy <moy@adacore.com>
253
254 * checks.adb (Minimize_Eliminate_Overflow_Checks): Correct code
255 for the division operation and exponent operation. Adjust bound
256 for the mod and rem operations.
257
258 2012-10-05 Robert Dewar <dewar@adacore.com>
259
260 * checks.adb, checks.ads, s-tassta.adb, s-stposu.adb, s-spsufi.adb,
261 s-spsufi.ads, exp_ch4.adb: Minor reformatting.
262
263 2012-10-05 Yannick Moy <moy@adacore.com>
264
265 * switch-c.adb, checks.adb, checks.ads, sem_prag.adb, exp_ch4.adb,
266 osint.adb: Minor correction of typos, and special case for Alfa mode.
267
268 2012-10-05 Hristian Kirtchev <kirtchev@adacore.com>
269
270 * s-spsufi.adb: Add with clause for Ada.Unchecked_Deallocation.
271 Add with and use clauses for System.Finalization_Masters.
272 (Finalize_And_Deallocate): Add an instance of
273 Ada.Unchecked_Deallocation. Merge the code from the now obsolete
274 Finalize_Subpool into this routine.
275 * s-spsufi.ads: Add pragma Preelaborate.
276 * s-stposu.adb: Remove with clause for
277 Ada.Unchecked_Deallocation; Add with and use clauses for
278 System.Storage_Pools.Subpools.Finalization; (Finalize_Pool):
279 Update the comment on all actions takes with respect to a subpool
280 finalization. Finalize and deallocate each individual subpool.
281 (Finalize_Subpool): Removed.
282 (Free): Removed;
283 (Detach): Move from package body to spec.
284 * s-stposu.ads (Detach): Move from package body to spec.
285 (Finalize_Subpool): Removed.
286
287 2012-10-05 Arnaud Charlet <charlet@adacore.com>
288
289 * s-tassta.adb: Update comments.
290 (Vulnerable_Complete_Master): If Free_On_Termination is set, do
291 nothing, and let the task free itself if not already done.
292
293 2012-10-04 Robert Dewar <dewar@adacore.com>
294
295 * sem_res.adb (Resolve_Set_Membership): Warn on duplicates.
296
297 2012-10-04 Emmanuel Briot <briot@adacore.com>
298
299 * g-comlin.adb (Getopt): Fix value of Full_Switch returned in case of
300 invalid switch.
301
302 2012-10-04 Arnaud Charlet <charlet@adacore.com>
303
304 * gcc-interface/Make-lang.in: Update dependencies.
305
306 2012-10-04 Robert Dewar <dewar@adacore.com>
307
308 * sem_eval.adb (Fold_Str, Fold_Uint, Fold_Ureal): Reset static
309 expression state after Resolve call.
310
311 2012-10-04 Robert Dewar <dewar@adacore.com>
312
313 * sem_prag.adb (Analyze_Pragma. case Warnngs): Don't make entry
314 in the table for Warnings Off pragmas if within an instance.
315
316 2012-10-04 Ed Schonberg <schonberg@adacore.com>
317
318 * sem_ch9.adb (Analyze_Entry_Body): Transfer
319 Has_Pragma_Unreferenced flag from entry formal to corresponding
320 entity in body, to prevent spurious warnings when pragma is
321 present.
322
323 2012-10-04 Robert Dewar <dewar@adacore.com>
324
325 * s-bignum.adb (Big_Exp): Raise Storage_Error for ludicrously
326 large results.
327
328 2012-10-04 Ed Schonberg <schonberg@adacore.com>
329
330 * sem_ch3.adb (Check_Duplicate_Aspects): Diagnose properly
331 aspects that appear in the partial and the full view of a type.
332
333 2012-10-04 Robert Dewar <dewar@adacore.com>
334
335 * sinfo.ads (N_Return_Statement): Removed.
336
337 2012-10-04 Tristan Gingold <gingold@adacore.com>
338
339 * init.c (__gl_zero_cost_exceptions): Comment it as not used
340 anymore.
341 * bindgen.adb (Gen_Adainit): Do not emit Zero_Cost_Exceptions
342 anymore.
343
344 2012-10-04 Thomas Quinot <quinot@adacore.com>
345
346 * prep.adb, prepcomp.adb, gprep.adb, opt.ads: New preprocessor switch
347 -a (all source text preserved).
348
349 2012-10-04 Vincent Celier <celier@adacore.com>
350
351 * prj-proc.adb (Recursive_Process): Use project directory
352 display path name as the value of 'Project_Dir.
353
354 2012-10-04 Robert Dewar <dewar@adacore.com>
355
356 * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
357 Deal with case where we get a bignum operand and cannot do a
358 range analysis.
359 * sem_eval.adb (Why_Not_Static): Deal with bignum operands
360
361 2012-10-04 Ed Schonberg <schonberg@adacore.com>
362
363 * sem_ch4.adb (Find_Unary_Types): Within an instance, an
364 interpretation that involves a predefied arithmetic operator is
365 not a candidate if the corresponding generic formal type is not
366 a numeric type.
367 * sem_util.ads, sem_util.adb (Corresonding_Generic_Type): If a
368 type is a generic actual type within an instance, return the
369 corresponding formal in the generic unit, otherwise return
370 Any_Type.
371
372 2012-10-04 Robert Dewar <dewar@adacore.com>
373
374 * checks.adb (Minimize_Eliminate_Overflow_Checks): Dont reanalyze
375 if/case expression if nothing has changed (just reexpand). Stops
376 case expression from generating incorrect temporary.
377 * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
378 Fix cut and paste typo for range analysis in NE (not equal) case.
379 * sem_eval.adb (Compile_Time_Compare): Small optimization to
380 catch some more cases.
381 * types.ads (Suppressed_Or_Checked): New subtype of
382 Overflow_Check_Type.
383
384 2012-10-04 Javier Miranda <miranda@adacore.com>
385
386 * exp_disp.adb (Set_CPP_Constructors_Old): Removed.
387 (Set_CPP_Constructors): Code cleanup.
388
389 2012-10-04 Ed Schonberg <schonberg@adacore.com>
390
391 * sem_ch10.adb (Is_Ancestor_Unit): Make global, for use elsewhere.
392 (Install_Private_with_Clauses): if clause is private and limited,
393 do not install the limited view if the library unit is an ancestor
394 of the unit being compiled. This unusual configuration occurs
395 when compiling a unit DDP, when an ancestor P of DDP has a
396 private limited with clause on a descendant of P that is itself
397 an ancestor of DDP.
398
399 2012-10-04 Vincent Celier <celier@adacore.com>
400
401 * prj-proc.adb (Process_Package_Declaration): Use project
402 directory display path name as the value of 'Project_Dir.
403
404 2012-10-04 Gary Dismukes <dismukes@adacore.com>
405
406 * exp_util.adb (Build_Allocate_Deallocate_Proc): The subpool can be
407 given by an arbitrary name, so copy the tree to make the call's actual.
408
409 2012-10-04 Robert Dewar <dewar@adacore.com>
410
411 * s-exnllf.adb, s-exnllf.ads: Minor reformatting.
412
413 2012-10-04 Thomas Quinot <quinot@adacore.com>
414
415 * exp_ch6.adb: Minor reformatting.
416
417 2012-10-04 Pascal Obry <obry@adacore.com>
418
419 * projects.texi: Use consistently @command{} when referencing
420 commands. Fix typos.
421
422 2012-10-03 Ed Schonberg <schonberg@adacore.com>
423
424 * sem_ch6.adb (New_Overloaded_Entity): call
425 Append_Inherited_Subprogram when appropriate.
426 * sem_dim.adb (Analyze_Dimension_Call): Do not perform dimensional
427 analysis if call has previous semantic error.
428 * sem_util.ads, sem_util.adb (Append_Inherited_Subprogram):
429 new subprogram to handle properly the visibility of inherited
430 operations that are primitives of a type extension, when the
431 parent type and operations are declared in the same visible part.
432
433 2012-10-03 Robert Dewar <dewar@adacore.com>
434
435 * checks.adb (Minimize_Eliminate_Overflow_Checks): Properly
436 handle case of top level expression within type conversion
437 * gnat1drv.adb (Adjust_Global_Switches): Set SUPPRESSED as
438 default for overflow checking for -gnatg mode (includes run-time).
439 * sem_res.adb (Resolve_Type_Conversion): Avoid bogus warnings
440 about redundant conversions from MINIMIZED/EXTENDED mode checking
441
442 2012-10-03 Javier Miranda <miranda@adacore.com>
443
444 * exp_ch4.adb (Expand_N_Allocator_Expression): Minor code
445 reorganization and cleanup. Done to ensure proper management of
446 the C++ constructor covering tagged and untagged types and also
447 non-default constructors.
448 * exp_ch6.ads, exp_ch6.adb (Make_CPP_Constructor_Call_In_Allocator):
449 New subprogram.
450
451 2012-10-03 Gary Dismukes <dismukes@adacore.com>
452
453 * sem_ch6.adb: Minor typo fix.
454
455 2012-10-03 Robert Dewar <dewar@adacore.com>
456
457 * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
458 Set Top_Level properly (to False) for operand of range of
459 membership test.
460 * exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow):
461 Fix crash with -gnato3 and membership operations.
462 (Expand_Membership_Minimize_Eliminate_Overflow): Fix error message
463 and wrong results for -gnato3 large expression and predicated
464 subtype.
465 (Expand_Membership_Minimize_Eliminate_Overflow): Use
466 expression action node to avoid using insert actions (bombs in
467 some cases).
468 (Expand_Compare_Minimize_Eliminate_Overflow): Use expression action
469 node to avoid using insert actions (bombs in some cases).
470
471 2012-10-03 Javier Miranda <miranda@adacore.com>
472
473 * exp_disp.adb (Set_CPP_Constructors_Old): Handle constructor of
474 untagged type that has all its parameters with defaults and hence it
475 covers the default constructor.
476
477 2012-10-03 Yannick Moy <moy@adacore.com>
478
479 * checks.adb, sem_prag.adb, s-bignum.ads: Minor typo fixes.
480
481 2012-10-03 Thomas Quinot <quinot@adacore.com>
482
483 * g-socket.adb (Connect_Socket, version with timeout): When the
484 newly-connected socket is reported as available for writing, check
485 whether it has a pending asynchronous error prior to returning.
486
487 2012-10-03 Ed Schonberg <schonberg@adacore.com>
488
489 * sem_ch6.adb (Check_Conformance): Additional info when subtype
490 conformance fails, due to a missing null exclusion indicatar in
491 a formal that must match a controlling access formal.
492
493 2012-10-02 Ben Brosgol <brosgol@adacore.com>
494
495 * gnat_rm.texi: Minor editing.
496
497 2012-10-02 Ed Schonberg <schonberg@adacore.com>
498
499 * sem_ch6.adb (Analyze_Function_Return): Reject a return
500 expression whose type is a local access to subprogram type.
501
502 2012-10-02 Robert Dewar <dewar@adacore.com>
503
504 * sem_eval.adb: Minor improvement to Compile_Time_Compare.
505
506 2012-10-02 Robert Dewar <dewar@adacore.com>
507
508 * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
509 Fix base type problem that resulted in improper conversion.
510 (Minimize_Eliminate_Overflow_Checks): Properly handle top
511 level case to avoid unnecessary conversion to bignum or LLI.
512 (Minimize_Eliminate_Overflow_Checks): Implement uniform two phase
513 approach for arithmetic operators and for if/case expressions.
514 * checks.ads: Minor comment fix.
515 * exp_ch4.adb (Minimized_Eliminated_Overflow_Check): New function,
516 implements a uniform way of treating minimized/eliminated checks in
517 two phases.
518 (Expand_Compare_Minimize_Eliminate_Overflow): Fix cut and
519 paste error resulting in wrong results for less than in some
520 cases. (Expand_Membership_Minimize_Eliminate_Overflow):
521 Fix error caused by incorrect capture of operand types.
522 (Expand_Membership_Minimize_Eliminate_Overflow): Fix error in
523 handling of bignum case.
524 (Expand_N_Case_Expression): Implement
525 proper two phase handling (Expand_N_If_Expression): Implement
526 proper two phase handling (Expand_N_Op_Abs): Implement proper
527 two phase handling ditto for all other arithmetic operators
528 * sem_res.adb (Resolve_If_Expression): Avoid introducing
529 unneeded conversions.
530
531 2012-10-02 Robert Dewar <dewar@adacore.com>
532
533 * s-bignum.adb (Big_Exp): 0**0 should be 1, not 0.
534 (Big_Exp): Fix possible error for (-1)**0.
535 (Big_Exp): Fix error in computing 2**K for small K.
536 (Big_Mod): Fix wrong sign for negative operands.
537 (Div_Rem): Fix bad results for operands close to 2**63.
538 * s-bignum.ads: Add documentation and an assertion to require
539 LLI size to be 64 bits.
540 * sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Do not
541 allow ELIMINATED if LLI'Size is other than 64 bits.
542 * switch-c.adb (Scan_Switches): Do not allow -gnato3 if LLI'Size
543 is not 64 bits.
544 * switch.ads (Bad_Switch): Add missing pragma No_Return.
545 * gnat_ugn.texi: Added appendix on Overflow Check Handling in GNAT.
546
547 2012-10-02 Robert Dewar <dewar@adacore.com>
548
549 * sem_type.adb: Minor reformatting.
550
551 2012-10-02 Robert Dewar <dewar@adacore.com>
552
553 * sem_ch8.adb: Minor reformatting.
554
555 2012-10-02 Javier Miranda <miranda@adacore.com>
556
557 * exp_disp.adb (Set_CPP_Constructors): Handle constructor with default
558 parameters that covers the default constructor.
559
560 2012-10-02 Yannick Moy <moy@adacore.com>
561
562 * s-bignum.adb: Minor stylistic and comment corrections.
563
564 2012-10-02 Pascal Obry <obry@adacore.com>
565
566 * prj-util.adb (For_Interface_Sources): Iterate over all sources in
567 aggregate library projects.
568
569 2012-10-02 Ed Schonberg <schonberg@adacore.com>
570
571 * sem_ch8.adb (Find_Direct_Name): The left-hand side of an
572 assignment may designate a generalized reference.
573
574 2012-10-02 Eric Botcazou <ebotcazou@adacore.com>
575
576 * types.h (N_Return_Statement): Delete.
577 * gcc-interface/trans.c (gnat_to_gnu): Replace N_Return_Statement with
578 N_Simple_Return_Statement.
579
580 2012-10-02 Ed Schonberg <schonberg@adacore.com>
581
582 * freeze.adb (Freeze_Entity): in a generic context, aspects must
583 be analyzed because they may be queried subsequently within the
584 generic unit, even if no other freezing actions are generated
585 for an entity.
586 * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): iterator
587 aspects must be analyzed because they are delayed aspects and
588 the corresponding attribute definition clause may not have been
589 analyzed yet.
590
591 2012-10-02 Yannick Moy <moy@adacore.com>
592
593 * gnat_rm.texi: Minor editing.
594
595 2012-10-02 Robert Dewar <dewar@adacore.com>
596
597 * sinfo.adb, sinfo.ads, sem_util.adb, sem_util.ads, types.h,
598 exp_ch4.adb, exp_ch6.adb: Get rid of internal use of N_Return_Statement.
599
600 2012-10-02 Eric Botcazou <ebotcazou@adacore.com>
601
602 * types.h: Minor cosmetic fix.
603
604 2012-10-02 Eric Botcazou <ebotcazou@adacore.com>
605
606 * gcc-interfaces/decl.c (elaborate_expression_1): Use the variable for
607 bounds of loop iteraration scheme only for locally defined subtypes.
608
609 * gcc-interface/trans.c (gigi): Fix formatting.
610 (build_return_expr): Apply the NRV optimization only for BLKmode.
611
612 2012-10-02 Robert Dewar <dewar@adacore.com>
613
614 * sinfo.ads: Remove refs of N_Conditional_Expression and
615 N_Parameterized_Expression.
616
617 2012-10-02 Thomas Quinot <quinot@adacore.com>
618
619 * exp_aggr.adb (Get_Component_Val): Rewrite code that computes
620 justification of bits in enclosing word in an attempt to make
621 it clearer.
622
623 2012-10-02 Robert Dewar <dewar@adacore.com>
624
625 * par_sco.adb, sem_ch3.adb, layout.adb, exp_ch7.adb, exp_imgv.adb,
626 exp_util.adb, exp_util.ads, exp_attr.adb, sinfo.adb, sinfo.ads,
627 exp_ch9.adb, style.ads, scos.ads, debug.adb, einfo.ads, scng.adb,
628 checks.adb, checks.ads, sem.adb, par-ch4.adb, sem_util.adb, types.h,
629 sem_res.adb, expander.adb, scans.ads, par.adb, exp_ch2.adb,
630 gnat1drv.adb, stylesw.ads, sem_elab.adb, exp_ch4.adb, exp_ch4.ads,
631 exp_ch6.adb, sem_ch4.adb, sem_ch4.ads, sem_ch6.adb,
632 opt.ads, sem_eval.adb, sem_eval.ads, exp_intr.adb, sprint.adb,
633 sprint.ads, styleg.ads: Change name Conditional_Expression to
634 If_Expression.
635 * gcc-interface/trans.c (gnat_to_gnu): Replace
636 N_Conditional_Expression by N_If_Expression.
637 * gcc-interface/Make-lang.in: Update dependencies.
638
639 2012-10-02 Robert Dewar <dewar@adacore.com>
640
641 * exp_ch4.adb (Expand_N_Op_Expon): Use expression with actions
642 for x ** 4.
643
644 2012-10-02 Ed Schonberg <schonberg@adacore.com>
645
646 * sem_ch5.adb: (Analyze_Iterator_Specification): If container
647 has a variable indexing aspect, the element is a variable and
648 is modifiable in the loop. This check is also performed when the
649 loop is expanded, but it must be done in semantic analysis when
650 expansion is disabled, for example for ASIS usage.
651
652 2012-10-02 Ed Schonberg <schonberg@adacore.com>
653
654 * lib-xref.adb (Generate_Reference): If a child subprogram
655 has no previous spec, treat a reference to its formals (such
656 as a parameter association) as coming from source in order to
657 generate the proper references and enable gps navigation between
658 reference and declaration.
659
660 2012-10-02 Robert Dewar <dewar@adacore.com>
661
662 * checks.adb (Apply_Arithmetic_Overflow_Checked_Suppressed):
663 New name for Apply_Arithmetic_Overflow_Normal
664 (Apply_Arithmetic_Overflow_Minimized_Eliminated):
665 Add handling for conditional expressions
666 (Is_Signed_Integer_Arithmetic_Op): Now includes conditional
667 expressions (Minimize_Eliminate_Overflow_Checks): Handle
668 conditional expressions.
669 * checks.ads: Minor comment fixes.
670 * exp_ch4.adb (Expand_N_Case_Expression): Call
671 Apply_Arithmetic_Overflow_Check (Expand_N_Conditional_Expression):
672 Call Apply_Arithmetic_Overflow_Check
673 * s-bignum.adb (Normalize): Remove incorrect precondition.
674 * sem_res.adb (Resolve_Case_Expression): Set Do_Overflow_Check
675 flag (Resolve_Conditional_Expression): Set Do_Overflow_Check flag.
676 * sinfo.adb: Add Do_Overflow_Check for conditional expressions.
677 * sinfo.ads: Minor documentation updates.
678
679 2012-10-02 Ed Schonberg <schonberg@adacore.com>
680
681 * exp_ch4.adb (Expand_N_Case_Expression): Do not introduce
682 indirections when the type of the alternatives is an access type:
683 more efficient, and removes anomalies when an alternative is
684 statically null.
685
686 2012-10-02 Robert Dewar <dewar@adacore.com>
687
688 * aspects.ads: Minor comment addition (Invariant is a GNAT aspect).
689
690 2012-10-02 Robert Dewar <dewar@adacore.com>
691
692 * exp_ch7.adb, sem_dim.adb, sem_dim.ads, prj-part.adb, checks.adb,
693 freeze.adb, sem_ch4.adb, sem_ch13.adb: Minor reformatting.
694
695 2012-10-02 Robert Dewar <dewar@adacore.com>
696
697 * sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Fix
698 typo preventing proper processing of Overflow_Checks pragmas
699 for general case.
700
701 2012-10-02 Robert Dewar <dewar@adacore.com>
702
703 * exp_ch4.adb (Expand_N_Op_Mod): Fix crash in ELIMINATED overflow
704 checks mode when bignum mode is used.
705
706 2012-10-02 Robert Dewar <dewar@adacore.com>
707
708 * stylesw.ads, gnat_ugn.texi: Document new style rule for NOT IN.
709 * par-ch4.adb (P_Relational_Operator): Add style check for NOT IN.
710 * style.ads, styleg.adb, styleg.ads (Check_Not_In): New procedure.
711
712 2012-10-02 Vincent Pucci <pucci@adacore.com>
713
714 * sem_attr.adb (Analyze_Attribute): Check dimension for attribute
715 Old before it gets expanded.
716 * sem_dim.adb (Analyze_Dimension_Has_Etype): Correctly propagate
717 dimensions for identifier.
718
719 2012-10-02 Ed Schonberg <schonberg@adacore.com>
720
721 * exp_ch5.adb (Expand_Iterator_Loop): Handle properly the case
722 where the iterator type is derived locally from an instantiation
723 of Ada.Iterators_Interface.
724 * exp_ch7.adb (Establish_Transient_Scope): Do not create a
725 transient scope if within the expansion of an iterator loop,
726 because a transient block already exists.
727
728 2012-10-02 Vincent Celier <celier@adacore.com>
729
730 * gnatcmd.adb: Use absolute path for configuration pragmas files
731 * make.adb (Configuration_Pragmas_Switch.Absolute_Path): Moved
732 to Makeutl.
733 * makeutl.ads, makeutl.adb (Absolute_Path): New function, moved from
734 make.adb.
735
736 2012-10-02 Vincent Celier <celier@adacore.com>
737
738 * prj-part.adb (Post_Parse_Context_Clause): Resurrect Boolean
739 parameter In_Limited. Check for circularity also if In_Limited
740 is True.
741 (Parse_Single_Project): Call Post_Parse_Context_Clause with
742 In_Limited parameter.
743
744 2012-10-02 Bob Duff <duff@adacore.com>
745
746 * checks.adb (Apply_Predicate_Check): Disable check in -gnatc mode.
747
748 2012-10-02 Vincent Pucci <pucci@adacore.com>
749
750 * sem_ch6.adb (Analyze_Function_Call): Dimension propagation
751 for function calls moved to Analyze_Dimension_Call.
752 * sem_dim.adb (Analyze_Dimension_Call): Properly propagate the
753 dimensions from the returned type for function calls.
754
755 2012-10-02 Vincent Celier <celier@adacore.com>
756
757 * gnatcmd.adb: Take into account any configuration pragma file
758 in the project files for gnat pretty/stub/metric.
759
760 2012-10-02 Ed Schonberg <schonberg@adacore.com>
761
762 * sem_ch13.adb (Check_Indexing_Functions): Refine several tests
763 on the legality of indexing aspects: Constant_Indexing functions
764 do not have to return a reference type, and given an indexing
765 aspect Func, not all overloadings of Func in the current scope
766 need to be indexing functions.
767
768 2012-10-02 Vasiliy Fofanov <fofanov@adacore.com>
769
770 * gnat_ugn.texi: Adjust docs for overflow checks to be VMS-friendly.
771
772 2012-10-02 Vincent Celier <celier@adacore.com>
773
774 * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
775 -gnatox and -gnatoxx when x=0/1/2/3.
776
777 2012-10-02 Vincent Pucci <pucci@adacore.com>
778
779 * sem_ch4.adb (Analyze_Indexed_Component_Form): Dimension
780 analysis for indexed components added.
781 * sem_ch6.adb (Analyze_Function_Call): Dimension propagation
782 for function calls added.
783 * sem_dim.adb (Analyze_Dimension): Call to
784 Analyze_Dimension_Has_Etype when N is a function call.
785 (Analyze_Dimension_Call): Don't propagate anymore the dimensions
786 for function calls since this is now treated separately in
787 Analyze_Dimension_Has_Etype.
788 (Analyze_Dimension_Has_Etype): For
789 attribute references, propagate the dimensions from the prefix.
790 * sem_dim.ads (Copy_Dimensions): Fix comment.
791
792 2012-10-02 Hristian Kirtchev <kirtchev@adacore.com>
793
794 * checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine.
795 (Apply_Parameter_Aliasing_And_Validity_Checks): This routine
796 has been split into two.
797 (Apply_Parameter_Validity_Checks): New routine.
798 * exp_ch6.adb (Expand_Call): Add checks to verify that actuals
799 do not overlap. The checks are made on the caller side to overcome
800 issues of parameter passing mechanisms.
801 * freeze.adb (Freeze_Entity): Update call to
802 Apply_Parameter_Aliasing_And_Validity_Checks.
803
804 2012-10-02 Ed Schonberg <schonberg@adacore.com>
805
806 * sem_ch4.adb (Is_Empty_Range): Use bounds of index type
807 to determine whether an array is empty when optimizing
808 a quantified expression over a null range. Use of RM_Size
809 was incorrect. Analyze condition before constant-folding the
810 expression to catch potential errors. Modify the error message
811 to avoid mathematical terminology.
812
813 2012-10-02 Robert Dewar <dewar@adacore.com>
814
815 * usage.adb, gnat_rm.texi, vms_data.ads: Add entry for
816 /OVERFLOW_CHECKS=?? generating -gnato?? for control
817 of extended overflow checking.
818 * ug_words: Add entry for -gnato?? for /OVERFLOW_CHECKS=??
819 * gnat_ugn.texi: Add documentation for -gnato?? for control of overflow
820 checking mode.
821
822 2012-10-02 Ed Schonberg <schonberg@adacore.com>
823
824 * sem_ch4.adb (Analyze_Quantified_Expression): If the iterator in
825 a quantified expression is statically known to be null (e.g. a
826 array with an empty index type) emit a warning.
827
828 2012-10-02 Robert Dewar <dewar@adacore.com>
829
830 * sem_dim.adb: Minor code reorganization.
831 * sem_dim.ads: Add comment.
832
833 2012-10-02 Robert Dewar <dewar@adacore.com>
834
835 * checks.ads, exp_ch4.adb, checks.adb
836 (Minimize_Eliminate_Overflow_Checks): Add Top_Level parameter to avoid
837 unnecessary conversions to Bignum.
838 Minor reformatting.
839
840 2012-10-02 Ed Schonberg <schonberg@adacore.com>
841
842 * sem_ch6.adb (Process_PPCs): Generate invariant checks for a
843 return value whose type is an access type and whose designated
844 type has invariants. Ditto for in-out parameters and in-parameters
845 of an access type.
846 * exp_ch3.adb (Build_Component_Invariant_Call): Add invariant check
847 for an access component whose designated type has invariants.
848
849 2012-10-01 Vincent Pucci <pucci@adacore.com>
850
851 * sem_aggr.adb (New_Copy_Tree_And_Copy_Dimensions): New routine.
852 (Resolve_Record_Aggregate): New_Copy_Tree calls replaced by
853 New_Copy_Tree_And_Copy_Dimensions calls. Move_Dimensions call
854 replaced by Copy_Dimensions call.
855 * sem_dim.adb (Analyze_Dimension_Component_Declaration): Don't
856 remove the dimensions of expression in component declaration anymore.
857 (Copy_Dimensions): New routine.
858 (Move_Dimensions): Add call to Copy_Dimensions.
859 * sem_dim.ads (Copy_Dimensions): New routine.
860 (Move_Dimensions): Spec moved to body of Sem_Dim.
861
862 2012-10-01 Ed Schonberg <schonberg@adacore.com>
863
864 * checks.adb (Apply_Predicate_Check): If the predicate is a
865 static one and the operand is static, evaluate the predicate at
866 compile time.
867 * sem_eval.ads, sem_eval.adb (Eval_Static_Predicate_Check): new
868 procedure, to evaluate a static predicate check whenever possible.
869 * sem_res.adb (Resolve_Type_Conversion): Apply predicate check
870 on the conversion if the target type has predicates.
871
872 2012-10-01 Vincent Pucci <pucci@adacore.com>
873
874 * sem_dim.adb (Has_Symbols): Complain if parameter Symbol has been
875 provided by the user in the dimension output call.
876
877 2012-10-01 Robert Dewar <dewar@adacore.com>
878
879 * checks.adb (Apply_Divide_Checks): New name for
880 Apply_Divide_Check (Minimize_Eliminate_Overflow_Checks):
881 Add code to handle division (and rem and mod) properly.
882 (Apply_Division_Check): New procedure (Apply_Divide_Checks):
883 Use Apply_Division_Check (Apply_Divide_Checks): Use
884 Apply_Arithmetic_Overflow_Minimized_Eliminated.
885 * checks.ads (Apply_Divide_Checks): New name for
886 Apply_Divide_Check, also add clearer documentation for this
887 routine and put in alfa order.
888 * exp_ch4.adb (Apply_Divide_Checks): New name for
889 Apply_Divide_Check.
890 * s-bignum.adb (To_Bignum): Handle largest negative integer
891 properly.
892 * sem.adb (Analyze): Handle overflow suppression correctly
893 (Analyze_List): Handle overflow suppression correctly
894 * sem_res.adb (Analyze_And_Resolve): Handle overflow suppression
895 correctly.
896
897 2012-10-01 Vasiliy Fofanov <fofanov@adacore.com>
898
899 * s-oscons-tmplt.c, g-socket.ads: Revert previous change, breaks VMS.
900
901 2012-10-01 Robert Dewar <dewar@adacore.com>
902
903 * checks.adb (Minimize_Eliminate_Overflow_Checks): Changes
904 for exponentiation.
905 * exp_ch4.adb (Expand_N_Op_Expon): Changes for Minimize/Eliminate
906 overflow checks.
907 * s-bignum.adb (Compare): Fix bad precondition.
908
909 2012-10-01 Ed Schonberg <schonberg@adacore.com>
910
911 * sem_ch3.adb (Build_Derived_Record_Type): If the derived
912 type has new discriminantss that constrain inherited ones, use
913 the discriminant type in the original declaration to check for
914 conformance, because in the presence of array components with a
915 smaller range that are constrained by the origina discriminant,
916 the compiler will have created a narrower subtype for that
917 discriminant.
918
919 2012-10-01 Robert Dewar <dewar@adacore.com>
920
921 * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
922 Handle case of appearing in range in membership test.
923 * exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow):
924 New procedure (Expand_N_In): Use
925 Expand_Membership_Minimize_Eliminate_Overflow.
926 * rtsfind.ads: Add RE_Bignum_In_LLI_Range.
927 * s-bignum.ads, s-bignum.adb (Bignum_In_LLI_Range): New function.
928 * sinfo.ads, sinfo.adb (No_Minimize_Eliminate): New flag.
929
930 2012-10-01 Robert Dewar <dewar@adacore.com>
931
932 * uintp.ads: Minor reformatting.
933
934 2012-10-01 Ed Schonberg <schonberg@adacore.com>
935
936 * checks.adb: Improve warning message.
937
938 2012-10-01 Robert Dewar <dewar@adacore.com>
939
940 * checks.adb: Minor reformatting.
941
942 2012-10-01 Javier Miranda <miranda@adacore.com>
943
944 * exp_ch3.adb (Expand_N_Object_Declaration): Suppress tag
945 assignment for initializations that are aggregates.
946
947 2012-10-01 Robert Dewar <dewar@adacore.com>
948
949 * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
950 New procedure.
951
952 2012-10-01 Robert Dewar <dewar@adacore.com>
953
954 * checks.adb (Minimize_Eliminate_Checks): Changes from testing.
955 (Apply_Arithmetic_Overflow_Minimized_Eliminated): Changes
956 from testing.
957 * sinfo.ads: Remove note on not setting Entity field in overflow
958 case since this is no longer true.
959 * Makefile.rtl: Add s-bignum.o
960
961 2012-10-01 Thomas Quinot <quinot@adacore.com>
962
963 * Make-generated.in: Correction to previous change for s-oscons
964 target.
965
966 2012-10-01 Thomas Quinot <quinot@adacore.com>
967
968 * s-bignum.adb (Allocate_Bignum): Reorganize to kill strict
969 aliasing warning.
970
971 2012-10-01 Robert Dewar <dewar@adacore.com>
972
973 * checks.adb (Overflow_Check_Mode): New function
974 (Apply_Overflow_Check): New procedure (Is_Check_Suppressed):
975 Moved here from Sem, Overflow_Check case now specially treated.
976 * checks.ads (Overflow_Check_Mode): New function
977 (Is_Check_Suppressed): Moved here from Sem (more logical)
978 * exp_ch4.adb (Substitute_Valid_Check): Suppress warning about
979 optimization if we are in MINIMIZED or ELIMINATED overflow
980 checking mode and within an assertiom expression.
981 * rtsfind.ads: Add entries for Bignum stuff.
982 * s-bignum.ads, s-bignum.adb: New files.
983 * sem.ads, sem.adb (Is_Check_Suppressed): Moved to Checks, more logical.
984 * sem_prag.adb (Process_Suppress_Unsuppress): New behavior for
985 Unsuppress of Overflow_Check (sets Checked instead of Minimized)
986 * sem_res.adb: Update comments.
987 * sinfo.ads (N_Op): Add documentation on overflow handling.
988 * tbuild.ads, tbuild.adb (Convert_To_And_Rewrite): New procedure.
989 * types.ads (Minimized_Or_Eliminated): New subtype.
990
991 2012-10-01 Eric Botcazou <ebotcazou@adacore.com>
992
993 * layout.adb (Layout_Type): Do not set twice the address size
994 on an access-to-unconstrained array if Debug_Flag_6 is set.
995
996 2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
997
998 * sem_ch3.adb (Analyze_Declarations): Remove the specialized
999 code which prevents freezing when the declarative list contains
1000 a _postconditions body. This is no longer needed because the
1001 body is now inserted at the end of the declarations.
1002 * sem_ch6.adb (Insert_After_Last_Declaration): New routine.
1003 (Insert_Before_First_Source_Declaration): Removed.
1004 (Process_PPCs): Insert the _postconditions body at the end of
1005 the declarative list to prevent premature freezing of types that
1006 appear in the declarations.
1007
1008 2012-10-01 Robert Dewar <dewar@adacore.com>
1009
1010 * sem_aggr.adb, sem_dim.adb: Minor reformatting.
1011
1012 2012-10-01 Ed Schonberg <schonberg@adacore.com>
1013
1014 * sem_prag.adb (Process_Convention, Process_Import_Or_Interface):
1015 Adjust test so that when the pragma comes from an aspect
1016 specification it only applies to the entity in the original
1017 declaration.
1018
1019 2012-10-01 Thomas Quinot <quinot@adacore.com>
1020
1021 * gnat_ugn.texi: Document new command line switch -fada-spec-parent.
1022
1023 2012-10-01 Thomas Quinot <quinot@adacore.com>
1024
1025 * s-oscons-tmplt.c, g-socket.ads: Minor code improvement: use gcc
1026 builtin __alignof__ to get the alignment of struct fd_set.
1027
1028 2012-10-01 Vincent Pucci <pucci@adacore.com>
1029
1030 * exp_ch6.adb (Expand_Call): Remove call to
1031 Remove_Dimension_In_Call.
1032 * sem_aggr.adb (Resolve_Array_Aggregate): Analyze dimension of
1033 components in array aggregate.
1034 (Resolve_Aggr_Expr): Propagate dimensions from the original expression
1035 Expr to the new created expression New_Expr when resolving the
1036 expression of a component in record aggregates.
1037 (Resolve_Record_Aggregate): Analyze
1038 dimension of components in record (or extension) aggregate.
1039 * sem_ch6.adb (Analyze_Subprogram_Specification): Analyze
1040 dimension of formals with default expressions in subprogram
1041 specification.
1042 * sem_ch8.adb (Analyze_Expanded_Name): Analyze dimension of
1043 expanded names.
1044 (Find_Selected_Component): Analyze dimension of selected component.
1045 * sem_dim.adb: Several dimension error messages reformatting.
1046 (Dimensions_Msg_Of): New flag Description_Needed in order to
1047 differentiate two different sort of dimension error messages.
1048 (Dim_Warning_For_Numeric_Literal): New routine.
1049 (Exists): New routine.
1050 (Move_Dimensions): Routine spec moved to spec file.
1051 * sem_dim.ads (String_From_Numeric_Literal): New routine.
1052 (Analyze_Dimension): Analyze dimension only when the
1053 node comes from source. Dimension analysis for expanded names added.
1054 (Analyze_Dimension_Array_Aggregate): New routine.
1055 (Analyze_Dimension_Call): New routine.
1056 (Analyze_Dimension_Component_Declaration): Warning if default
1057 expression is a numeric literal.
1058 (Analyze_Dimension_Extension_Or_Record_Aggregate): New routine.
1059 (Analyze_Dimension_Formals): New routine.
1060 (Analyze_Dimension_Object_Declaration): Warning if default
1061 expression is a numeric literal.
1062 (Symbol_Of): Return either the dimension subtype symbol or the
1063 dimension symbol built by From_Dim_To_Str_Of_Unit_Symbols.
1064 * sem_dim.ads (Analyze_Dimension_Array_Aggregate): New routine.
1065 (Analyze_Dimension_Call): New routine.
1066 (Analyze_Dimension_Extension_Or_Record_Aggregate): New routine.
1067 (Analyze_Dimension_Formals): New routine.
1068 (Move_Dimensions): Moved from sem_dim.adb.
1069 * s-dimmks.ads: Turn off the warnings for dimensioned object
1070 declaration. Dimensioned subtypes sorted in alphabetical
1071 order. New subtypes Area, Speed, Volume.
1072 * s-dmotpr.ads: Turn off the warnings for dimensioned object
1073 declaration.
1074 * sem_res.adb (Resolve_Call): Analyze dimension for calls.
1075
1076 2012-10-01 Thomas Quinot <quinot@adacore.com>
1077
1078 * Make-generated.in: Minor cleanup of all targets: use
1079 MOVE_IF_CHANGE to put generated files in place, to avoid useless
1080 recompilations.
1081
1082 2012-10-01 Javier Miranda <miranda@adacore.com>
1083
1084 * exp_disp.adb (Expand_Dispatching_Call): For functions returning
1085 interface types add an implicit conversion to the returned object
1086 to force the displacement of the pointer to the returned object
1087 to reference the corresponding secondary dispatch table. This
1088 is needed to handle well combined calls involving secondary
1089 dispatch tables (for example Obj.Prim1.Prim2).
1090 * exp_ch4.adb (Expand_Allocator_Expression): Declare internal
1091 access type as access to constant or access to variable depending
1092 on the context. Found working in this ticket.
1093
1094 2012-10-01 Ed Schonberg <schonberg@adacore.com>
1095
1096 * checks.adb (Apply_Predicate_Check): Do not apply check to
1097 actual of predicate checking procedure, to prevent infinite
1098 recursion.
1099
1100 2012-10-01 Arnaud Charlet <charlet@adacore.com>
1101
1102 * gcc-interface/Make-lang.in: Update dependencies.
1103 (GCC_LINK): Add -static-libstdc++.
1104
1105 2012-10-01 Arnaud Charlet <charlet@adacore.com>
1106
1107 * a-catizo.adb, a-stwiun.adb, a-cdlili.adb, a-cihama.adb, a-direct.adb,
1108 a-coinve.adb, a-calend.adb, a-ciorse.adb, a-coorma.adb, a-cfdlli.adb,
1109 a-stzunb-shared.adb, a-cfhase.adb, bindgen.adb, ceinfo.adb, a-tags.adb,
1110 einfo.adb, checks.adb, eval_fat.adb, a-cborma.adb, a-stwifi.adb,
1111 a-tifiio.adb, a-textio.adb, a-cidlli.adb, a-strunb-shared.adb,
1112 a-cimutr.adb, a-calcon.adb, a-exexpr-gcc.adb, a-ciormu.adb,
1113 a-stzunb.adb, a-stzsea.adb, a-ngelfu.adb, a-stzfix.adb,
1114 a-cihase.adb, a-cohama.adb, a-exetim-posix.adb, a-dirval-vms.adb,
1115 a-caldel-vms.adb, a-coorse.adb, errout.adb,
1116 a-except.adb, butil.adb, a-dirval-mingw.adb, a-cforma.adb,
1117 a-except-2005.adb, a-wtedit.adb, cstand.adb, a-stwiun-shared.adb,
1118 a-cbhama.adb, a-direio.adb, clean.adb, a-cborse.adb, back_end.adb,
1119 binde.adb, a-exexda.adb, a-comutr.adb, a-ciorma.adb, a-cobove.adb,
1120 a-coormu.adb, a-teioed.adb, a-convec.adb, a-wtenau.adb, exp_aggr.adb,
1121 a-ztedit.adb, a-cohase.adb, a-exetim-mingw.adb, bcheck.adb,
1122 a-dynpri.adb, a-cfhama.adb, a-calfor.adb, a-cbdlli.adb,
1123 a-crdlli.adb, a-cbmutr.adb, a-sequio.adb, a-ngcoar.adb, a-cforse.adb,
1124 a-strunb.adb, a-calend-vms.adb, a-clrefi.adb, a-cofove.adb,
1125 a-ztenau.adb, a-strfix.adb, a-cbhase.adb, a-stzsup.adb: Minor
1126 reformatting.
1127
1128 2012-10-01 Vincent Pucci <pucci@adacore.com>
1129
1130 * s-gearop.adb (Vector_Matrix_Product): Dimensions check fixed. Index
1131 of Left in S evaluation fixed.
1132
1133 2012-10-01 Javier Miranda <miranda@adacore.com>
1134
1135 * sem_ch3.adb (Analyze_Declarations): Avoid
1136 premature freezing caused by the internally generated subprogram
1137 _postconditions.
1138 * checks.adb (Expr_Known_Valid): Float literals are assumed to be valid
1139 in VM targets.
1140
1141 2012-10-01 Thomas Quinot <quinot@adacore.com>
1142
1143 * sinput.ads, sinput.adb, sinput-l.adb sinput-c.adb (Sinput): New
1144 Instances table, tracking all generic instantiations. Source file
1145 attribute Instance replaces previous Instantiation attribute with an
1146 index into the Instances table.
1147 (Iterate_On_Instances): New generic procedure.
1148 (Create_Instantiation_Source): Record instantiations in Instances.
1149 (Tree_Read, Tree_Write): Read/write the instance table.
1150 * scils.ads, scos.adb (SCO_Instance_Table): New table, contains
1151 information copied from Sinput.Instance_Table, but self-contained
1152 within the SCO data structures.
1153 * par_sco.ads, par_sco.adb (To_Source_Location): Move to library level.
1154 (Record_Instance): New subprogram, used by...
1155 (Populate_SCO_Instance_Table): New subprogram to fill
1156 the SCO instance table from the Sinput one (called by SCO_Output).
1157 * opt.ads (Generate_SCO_Instance_Table): New option.
1158 * put_scos.adb (Write_Instance_Table): New subprogram, used by...
1159 (Put_SCOs): Dump the instance table at the end of SCO information
1160 if requested.
1161 * get_scos.adb (Get_SCOs): Read SCO_Instance_Table.
1162 * types.h: Add declaration for Instance_Id.
1163 * back_end.adb (Call_Back_End): Pass instance ids in source file
1164 information table.
1165 (Scan_Back_End_Switches): -fdebug-instances sets
1166 Opt.Generate_SCO_Instance_Table.
1167 * gcc-interface/gigi.h: File_Info_Type includes instance id.
1168 * gcc-interface/trans.c: Under -fdebug-instances, set instance
1169 id in line map from same in file info.
1170
1171 2012-10-01 Thomas Quinot <quinot@adacore.com>
1172
1173 * sem_elab.adb: Minor reformatting
1174 (Check_Elab_Call): Minor fix to debugging code
1175 (add special circuit for the valid case where a 'Access attribute
1176 reference is passed to Check_Elab_Call).
1177
1178 2012-10-01 Thomas Quinot <quinot@adacore.com>
1179
1180 * exp_ch3.adb: Minor reformatting.
1181
1182 2012-10-01 Ed Schonberg <schonberg@adacore.com>
1183
1184 * exp_ch3.ads (Build_Array_Invariant_Proc): moved to body.
1185 * exp_ch3.adb (Build_Array_Invariant_Proc,
1186 Build_Record_Invariant_Proc): transform into functions.
1187 (Insert_Component_Invariant_Checks): for composite types that have
1188 components with specified invariants, build a checking procedure,
1189 and make into the invariant procedure of the composite type,
1190 or incorporate it into the user- defined invariant procedure if
1191 one has been created.
1192 * sem_ch3.adb (Array_Type_Declaration): Checking for invariants
1193 on the component type is defered to the expander.
1194
1195 2012-10-01 Thomas Quinot <quinot@adacore.com>
1196
1197 * xsnamest.adb, namet.h, sem_ch10.adb, s-oscons-tmplt.c,
1198 xoscons.adb: Minor reformatting.
1199
1200 2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
1201
1202 * checks.adb (Apply_Parameter_Aliasing_And_Validity_Checks):
1203 Do not process subprogram renaminds because a) those cannot
1204 have PPC pragmas b) the renamed entity already has the PPCs.
1205 (Build_PPC_Pragma): Prepend a PPC pragma for consistency with
1206 Process_PPCs.
1207 * sem_ch6.adb (Last_Implicit_Declaration): Removed.
1208 (Process_PPCs): Insert a post condition body at the start of the
1209 declarative region of the related subprogram. This way the body
1210 will not freeze anything it shouldn't.
1211
1212 2012-10-01 Robert Dewar <dewar@adacore.com>
1213
1214 * freeze.adb, sem_ch6.adb, opt.ads, sem_ch13.adb,
1215 exp_ch3.adb: Minor reformatting.
1216
1217 2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
1218
1219 * checks.adb (Build_PPC_Pragma): A PPC pragma can now be properly
1220 associated with a subprogram body.
1221
1222 2012-10-01 Ed Schonberg <schonberg@adacore.com>
1223
1224 * aspects.ads: Type_Invariant'class is a valid aspect.
1225 * sem_ch6.adb (Is_Public_Subprogram_For): with the exception of
1226 initialization procedures, subprograms that do not come from
1227 source are not public for the purpose of invariant checking.
1228 * sem_ch13.adb (Build_Invariant_Procedure): Handle properly the
1229 case of a non-private type in a package without a private part,
1230 when the type inherits invariants from its ancestor.
1231
1232 2012-10-01 Ed Schonberg <schonberg@adacore.com>
1233
1234 * exp_ch3.adb (Build_Record_Invariant_Proc): new procedure to
1235 generate a checking procedure for record types that may have
1236 components whose types have type invariants declared.
1237
1238 2012-10-01 Vincent Pucci <pucci@adacore.com>
1239
1240 * system-solaris-sparcv9.ads, system-mingw.ads, system-vms_64.ads: Flag
1241 Support_Atomic_Primitives set to True.
1242
1243 2012-10-01 Robert Dewar <dewar@adacore.com>
1244
1245 * impunit.adb: Ada.Locales is a language defined unit.
1246
1247 2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
1248
1249 * checks.adb (Apply_Parameter_Aliasing_Checks): Removed.
1250 (Apply_Parameter_Aliasing_And_Validity_Checks): New routine.
1251 (Apply_Parameter_Validity_Checks): Removed.
1252 * checks.ads (Apply_Parameter_Aliasing_Checks): Removed.
1253 (Apply_Parameter_Aliasing_And_Validity_Checks): New routine.
1254 (Apply_Parameter_Validity_Checks): Removed.
1255 * exp_ch6.adb (Expand_Call): Remove the generation of parameter
1256 aliasing checks.
1257 * freeze.adb: Remove with and use clauses for Validsw.
1258 (Freeze_Entity): Update the guard and generation of aliasing
1259 and scalar initialization checks for subprogram parameters.
1260 * opt.ads: Add new flags Check_Aliasing_Of_Parameters and
1261 Check_Validity_Of_Parameters along with comments on usage.
1262 * sem_attr.adb (Analyze_Attribute): Pragma Overlaps_Storage is
1263 no longer an Ada 2012 feature.
1264 * sem_ch4.adb: Remove with and use clauses for Checks and Validsw.
1265 (Analyze_Call): Remove the generation of aliasing checks for
1266 subprogram parameters.
1267 * sem_ch13.adb: Remove with and use clauses for Validsw.
1268 (Analyze_Aspect_Specifications): Remove the generation of scalar
1269 initialization checks.
1270 * switch-c.adb (Scan_Front_End_Switches): Add processing for
1271 -gnateA and -gnateV.
1272 * usage.adb (Usage): Add information on switches -gnateA and
1273 -gnateV. Remove information on validity switches 'l', 'L',
1274 'v' and 'V'.
1275 * validsw.adb (Reset_Validity_Check_Options): Remove the
1276 reset of flags Validity_Check_Non_Overlapping_Params
1277 and Validity_Check_Valid_Scalars_On_Params.
1278 (Save_Validity_Check_Options): Remove the processing
1279 for flags Validity_Check_Non_Overlapping_Params
1280 and Validity_Check_Valid_Scalars_On_Params.
1281 (Set_Validity_Check_Options): Remove the processing
1282 for flags Validity_Check_Non_Overlapping_Params and
1283 Validity_Check_Valid_Scalars_On_Params.
1284 * validsw.ads: Remove flags Validity_Check_Non_Overlapping_Params
1285 and Validity_Check_Valid_Scalars_On_Params along with their
1286 comments on usage.
1287
1288 2012-10-01 Yannick Moy <moy@adacore.com>
1289
1290 * sem_ch13.adb (Add_Invariants): Analyze the invariant expression
1291 as an assertion expression.
1292 * sem_ch3.adb / sem_ch3.ads (Preanalyze_Assert_Expression):
1293 New procedure that wraps a call to Preanalyze_Spec_Expression
1294 for assertion expressions, so that In_Assertion_Expr can be
1295 properly adjusted.
1296 * sem_prag.adb (Analyze_PPC_In_Decl_Part
1297 Check_Precondition_Postcondition Preanalyze_CTC_Args): Call the
1298 new Preanalyze_Assert_Expression.
1299
1300 2012-10-01 Robert Dewar <dewar@adacore.com>
1301
1302 * checks.ads: Minor reformatting.
1303
1304 2012-10-01 Yannick Moy <moy@adacore.com>
1305
1306 * types.ads, sem_prag.adb, sem.ads: Correct minor typos in comments.
1307
1308 2012-10-01 Vincent Celier <celier@adacore.com>
1309
1310 * make.adb (Scan_Make_Arg): Only test for "vP" of the option
1311 includes at least 3 characters.
1312 * gnatcmd.adb (GNATCmd): Ditto.
1313
1314 2012-10-01 Eric Botcazou <ebotcazou@adacore.com>
1315
1316 * exp_ch7.adb, sinfo.ads: Add comments.
1317
1318 2012-10-01 Robert Dewar <dewar@adacore.com>
1319
1320 * checks.adb: Remove reference to Enable_Overflow_Checks Use
1321 Suppress_Options rather than Scope_Suppress.
1322 * gnat1drv.adb (Adjust_Global_Switches): Handle new overflow
1323 settings (Adjust_Global_Switches): Initialize Scope_Suppress
1324 from Suppress_Options.
1325 * opt.adb: Remove Enable_Overflow_Checks (use Suppress_Options
1326 instead).
1327 * opt.ads: Remove Overflow_Checks_Unsuppressed (not used)
1328 Remove Enable_Overflow_Checks (use Suppress_Options instead)
1329 Suppress_Options is now current setting (replaces Scope_Suppress).
1330 * osint.adb (Initialize): Deal with initializing overflow
1331 checking.
1332 * par-prag.adb: Add dummy entry for pragma Overflow_Checks.
1333 * sem.adb (Semantics): Save and restore In_Assertion_Expr Use
1334 Suppress_Options instead of Scope_Suppress.
1335 * sem.ads (In_Assertion_Expr): New flag (Scope_Suppress):
1336 Removed, use Suppress_Options instead.
1337 * sem_eval.adb (Compile_Time_Compare): Return Unknown in
1338 preanalysis mode.
1339 * sem_prag.adb (Process_Suppress_Unsuppress): Setting of
1340 Overflow_Checks_Unsuppressed removed (not used anywhere!)
1341 (Analyze_Pragma, case Check): Set In_Assertion_Expression
1342 (Analyze_Pragma, case Overflow_Checks): Implement new pragma
1343 * snames.ads-tmpl: Add names needed for handling pragma
1344 Overflow_Checks
1345 * switch-c.adb (Scan_Front_End_Switches) Handle -gnato? and
1346 -gnato?? where ? is 0-3
1347 * types.ads: Updates and fixes to comment on Suppress_Record.
1348
1349 2012-10-01 Vincent Celier <celier@adacore.com>
1350
1351 * prj-part.adb (Parse): Remove incorrect comment about checking
1352 imported non extending projects from and "extending all"
1353 one. Minor correction.
1354
1355 2012-10-01 Robert Dewar <dewar@adacore.com>
1356
1357 * make.adb, exp_ch3.adb: Minor reformatting.
1358
1359 2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
1360
1361 * validsw.adb (Save_Validity_Check_Options): Do not set
1362 Validity_Check_Non_Overlapping_Params and
1363 Validity_Check_Valid_Scalars_On_Params when -gnatVa is present
1364 because the related checks are deemed too aggressive.
1365
1366 2012-10-01 Ed Schonberg <schonberg@adacore.com>
1367
1368 * sem_util.ads sem_util.adb (Check_Internal_Protected_Use):
1369 reject use of protected procedure or entry within the body of
1370 a protected function of the same protected type, when usage is
1371 a call, an actual in an instantiation, a or prefix of 'Access.
1372 * sem_ch8.adb (Analyze_Subprogram_Renaming): Verify that target
1373 object in renaming of protected procedure is a variable, and
1374 apply Check_Internal_Protected_Use.
1375 * sem_res.adb (Analyze_Call, Analyze_Entry_Call): apply
1376 Check_Internal_Protected_Use rather than on-line code.
1377 * sem_attr.adb (Analyze_Access_Attribute): Verify that target
1378 object in accsss to protected procedure is a variable, and apply
1379 Check_Internal_Protected_Use.
1380
1381 2012-10-01 Gary Dismukes <dismukes@adacore.com>
1382
1383 * sem_ch4.adb (Find_Equality_Types.Try_One_Interp): Exclude the
1384 predefined interpretation from consideration if it's for a "/="
1385 operator of a tagged type. This will allow Analyze_Equality_Op to
1386 rewrite the "/=" as a logical negation of a call to the appropriate
1387 dispatching equality function. This needs to be done during
1388 analysis rather than expansion for the benefit of ASIS, which
1389 otherwise gets the unresolved N_Op_Ne operator from Standard.
1390
1391 2012-10-01 Thomas Quinot <quinot@adacore.com>
1392
1393 * gnatcmd.adb, make.adb (Scan_Make_Arg, Inspect_Switches): Recognize
1394 and reject an invalid parameter passed to -vP.
1395
1396 2012-10-01 Yannick Moy <moy@adacore.com>
1397
1398 * sem_warn.adb (Check_Infinite_Loop_Warning/Test_Ref): Improve
1399 the detection of modifications to the loop variable by noting
1400 that, if the type of variable is elementary and the condition
1401 does not contain a function call, then the condition cannot be
1402 modified by side-effects from a procedure call.
1403
1404 2012-10-01 Robert Dewar <dewar@adacore.com>
1405
1406 * checks.adb: Add comments.
1407
1408 2012-10-01 Javier Miranda <miranda@adacore.com>
1409
1410 * exp_ch3.adb (Expand_N_Object_Declaration): Improve condition catching
1411 never-ending recursion. The previous condition erroneously disabled
1412 silently the expansion of the class-wide interface object
1413 initialization in cases not involving the recursion.
1414
1415 2012-10-01 Thomas Quinot <quinot@adacore.com>
1416
1417 * make.adb: Minor documentation fix: error messages are sent to
1418 stderr, not stdout.
1419
1420 2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
1421
1422 * checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine.
1423 (Apply_Parameter_Validity_Checks): New routines.
1424 * exp_ch6.adb (Expand_Call): Add aliasing checks to detect
1425 overlapping objects.
1426 * freeze.adb: Add with and use clauses for Checks and Validsw.
1427 (Freeze_Entity): Add checks to detect proper initialization
1428 of scalars.
1429 * sem_ch4.adb: Add with and use clauses for Checks and Validsw.
1430 (Analyze_Call): Add aliasing checks to detect overlapping objects.
1431 * sem_ch13.adb: Add with and use clauses for Validsw.
1432 (Analyze_Aspect_Specifications): Add checks to detect proper
1433 initialization of scalars.
1434 * sem_prag.adb (Chain_PPC): Correct the extraction of the
1435 subprogram name.
1436 * sem_util.adb (Is_Object_Reference): Attribute 'Result now
1437 produces an object.
1438 * usage.adb (Usage): Add usage lines for validity switches 'l',
1439 'L', 'v' and 'V'.
1440 * validsw.adb (Reset_Validity_Check_Options): Include
1441 processing for flags Validity_Check_Non_Overlapping_Params and
1442 Validity_Check_Valid_Scalars_On_Params. Code reformatting.
1443 (Save_Validity_Check_Options): Include processing
1444 for flags Validity_Check_Non_Overlapping_Params
1445 and Validity_Check_Valid_Scalars_On_Params.
1446 (Set_Validity_Check_Options): Add processing for validity switches
1447 'a', 'l', 'L', 'n', 'v' and 'V'. Code reformatting.
1448 * validsw.ads: Add new flags Validity_Check_Non_Overlapping_Params
1449 and Validity_Check_Valid_Scalars_On_Params along with comments
1450 on usage.
1451
1452 2012-10-01 Thomas Quinot <quinot@adacore.com>
1453
1454 * namet.ads, xsnamest.adb, prj-env.adb, sem_warn.adb,
1455 errout.ads: Minor reformatting.
1456 * prj-part.adb: Add comment.
1457
1458 2012-10-01 Robert Dewar <dewar@adacore.com>
1459
1460 * sinfo.ads, exp_aggr.adb, sem_ch13.adb: Minor reformatting.
1461
1462 2012-10-01 Ed Schonberg <schonberg@adacore.com>
1463
1464 * sem_aggr.adb (Resolve_Array_Aggregate): Handle properly
1465 component associations given by subtypes that have static
1466 predicates. Improve error message for overlapping ranges in
1467 array aggregates.
1468
1469 2012-10-01 Pascal Obry <obry@adacore.com>
1470
1471 * snames.ads-tmpl (Name_Link_Lib_Subdir): New constant.
1472
1473 2012-10-01 Ed Schonberg <schonberg@adacore.com>
1474
1475 * sem_ch9.adb (Analyze_Requeue): The target of a requeue
1476 statement on a protected entry must be a variable. This is part
1477 of AI05-0225.
1478
1479 2012-09-26 Ian Lance Taylor <iant@google.com>
1480
1481 * gcc-interface/Makefile.in (LIBBACKTRACE): New variable.
1482 (LIBS): Add $(LIBBACKTRACE).
1483 (LIBDEPS): Add $(LIBBACKTRACE).
1484 (TOOLS_LIBS): Add ../../../libbacktrace/.libs/libbacktrace.a.
1485
1486 2012-09-10 Diego Novillo <dnovillo@google.com>
1487
1488 * gcc-interface/decl.c (build_subst_list): Adjust call to VEC_safe_push.
1489 (build_variant_list): Likewise.
1490 * gcc-interface/utils.c (convert): Adjust calls to VEC_quick_push.
1491
1492 2012-09-07 Eric Botcazou <ebotcazou@adacore.com>
1493
1494 * gcc-interface/trans.c (Loop_Statement_to_gnu): Revert to using
1495 size_type_node instead of sizetype.
1496
1497 2012-08-19 Eric Botcazou <ebotcazou@adacore.com>
1498
1499 * layout.adb (Set_Elem_Alignment): Cap the alignment of access types
1500 to that of a regular access type for non-strict-alignment platforms.
1501 * gcc-interface/utils.c (finish_fat_pointer_type): Do not set the
1502 alignment for non-strict-alignment platforms.
1503
1504 2012-08-19 Eric Botcazou <ebotcazou@adacore.com>
1505
1506 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Use proper
1507 dummy type for the temporary COMPONENT_REF built for a derived tagged
1508 type with discriminant.
1509
1510 2012-08-14 Diego Novillo <dnovillo@google.com>
1511
1512 Merge from cxx-conversion branch. Re-implement VEC in C++.
1513
1514 * gcc-interface/trans.c (finalize_nrv_unc_r): Adjust VEC_index usage.
1515 * gcc-interface/utils.c (convert): Likewise.
1516 (remove_conversions): Likewise.
1517 * gcc-interface/utils2.c (compare_fat_pointers): Likewise.
1518 (build_unary_op): Likewise.
1519 (gnat_stabilize_reference): Likewise.
1520
1521 2012-08-06 Jose Ruiz <ruiz@adacore.com>
1522
1523 * gcc-interface/Makefile.in: Add support for 32-bit VxWorks for SPARC
1524 in kernel mode.
1525
1526 2012-08-06 Arnaud Charlet <charlet@adacore.com>
1527
1528 * prj-attr.adb (Register_New_Package): Add missing blank.
1529
1530 2012-08-06 Ed Schonberg <schonberg@adacore.com>
1531
1532 * exp_aggr.adb (Is_Two_Dim_Packed_Array): New predicate,
1533 used when computing maximum size allowable to construct static
1534 aggregate.
1535
1536 2012-08-06 Vincent Pucci <pucci@adacore.com>
1537
1538 * freeze.adb (Freeze_Entity): Inherit_Aspects_At_Freeze_Point
1539 calls added for derived types and subtypes.
1540 * sem_aux.adb, sem_aux.ads (Get_Rep_Item, Get_Rep_Pragma,
1541 Has_Rep_Pragma): New routines.
1542 * sem_ch13.ads (Inherit_Aspects_At_Freeze_Point): New routine.
1543 * sem_ch13.adb (Analyze_Aspect_Specifications): Error message
1544 for aspect Lock_Free fixed.
1545 (Inherits_Aspects_At_Freeze_Point): New routine.
1546 * sem_ch3.adb: Several flag settings removed since inheritance
1547 of aspects must be performed at freeze point.
1548
1549 2012-08-06 Thomas Quinot <quinot@adacore.com>
1550
1551 * s-oscons-tmplt.c: Fix s-oscons.ads formatting on VxWorks.
1552
1553 2012-08-06 Vincent Pucci <pucci@adacore.com>
1554
1555 * sem_dim.adb (Analyze_Dimension_Binary_Op): Issue an error message
1556 for unknown exponent at compile-time.
1557
1558 2012-08-06 Gary Dismukes <dismukes@adacore.com>
1559
1560 * sem_eval.ads (Compile_Time_Known_Value_Or_Aggr): Enhance
1561 comment to make it clear that the aggregate's evaluation might
1562 still involve run-time checks even though the aggregate is
1563 considered known at compile time.
1564 * sinfo.ads (Compile_Time_Known_Aggregate): Correct comment to
1565 refer to Exp_Aggr instead of Sem_Aggr.
1566
1567 2012-08-06 Robert Dewar <dewar@adacore.com>
1568
1569 * xoscons.adb: Minor code reorganization (remove unused variable
1570 E at line 331).
1571 * g-sercom.ads, exp_attr.adb: Minor reformatting.
1572 * sinfo.adb, sinfo.ads: Minor cleanup, remove unused flag
1573 Static_Processing_OK.
1574
1575 2012-08-06 Ed Schonberg <schonberg@adacore.com>
1576
1577 * sem_ch3.adb (Build_Derived_Concurrent_Type): Copy discriminant
1578 constraint when building a constrained subtype, to prevent
1579 undesirable tree sharing betweeb geberated subtype and derived
1580 type definition.
1581
1582 2012-08-06 Thomas Quinot <quinot@adacore.com>
1583
1584 * g-sercom-mingw.adb, s-oscons-tmplt.c: Add missing constants
1585 on Windows.
1586
1587 2012-08-06 Sergey Rybin <rybin@adacore.com frybin>
1588
1589 * tree_io.ads: Update ASIS_Version_Number because of the tree fix
1590 for discriminant constraints for concurrent types.
1591
1592 2012-08-06 Thomas Quinot <quinot@adacore.com>
1593
1594 * sem_ch4.adb: Minor reformatting.
1595
1596 2012-08-06 Thomas Quinot <quinot@adacore.com>
1597
1598 * s-oscons-tmplt.c, xoscons.adb: Per the Single UNIX Specification,
1599 types cc_t, speed_t, and tcflag_t defined in <termios.h> all are
1600 unsigned types. Add required special handling to have their correct
1601 unsigned values in s-oscons.ads.
1602
1603 2012-08-06 Thomas Quinot <quinot@adacore.com>
1604
1605 * par-ch13.adb: Minor reformatting.
1606
1607 2012-08-06 Thomas Quinot <quinot@adacore.com>
1608
1609 * g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb
1610 (Set): Add Local and Flow_Control settings.
1611
1612 2012-08-06 Ed Schonberg <schonberg@adacore.com>
1613
1614 * exp_attr.adb: Suppress saving of 'Old if assertions are not
1615 enabled.
1616
1617 2012-08-06 Yannick Moy <moy@adacore.com>
1618
1619 * sem_ch4.adb (Analyze_Selected_Component): Issue an error in
1620 Alfa mode for component not present.
1621
1622 2012-08-06 Thomas Quinot <quinot@adacore.com>
1623
1624 * exp_ch7.adb (Insert_Actions_In_Scope_Around): Do not
1625 use a renaming of Scope_Stack.Table (Scope_Stack.Last), as
1626 Process_Transient_Object may introduce new scopes and cause
1627 Scope_Stack.Table to be reallocated.
1628
1629 2012-08-06 Robert Dewar <dewar@adacore.com>
1630
1631 * exp_util.adb, switch-c.adb, inline.ads, sem_ch10.adb, types.ads,
1632 checks.adb, sem_prag.adb, sem.adb, sem.ads, sem_res.adb, sem_attr.adb,
1633 gnat1drv.adb, exp_ch4.adb, exp_ch6.adb, opt.ads, osint.adb: Implement
1634 extended overflow checks (step 1).
1635 (Overflow_Check_Type, Suppress_Record, Suppress_All): New types.
1636 (Suppress_Array): Extended to include switches to control extended
1637 overflow checking (and renamed to Suppress_Record).
1638 Update all uses of Suppress_Array.
1639
1640 2012-08-06 Thomas Quinot <quinot@adacore.com>
1641
1642 * makeutl.ads: Minor documentation fix.
1643
1644 2012-08-06 Thomas Quinot <quinot@adacore.com>
1645
1646 * exp_ch7.adb: Minor reformatting.
1647
1648 2012-08-06 Geert Bosch <bosch@adacore.com>
1649
1650 * a-ngelfu.adb: Change obsolete comment that this is a non-strict
1651 implementation.
1652
1653 2012-08-06 Steve Baird <baird@adacore.com>
1654
1655 * exp_ch7.adb (Build_Finalizer.Process_Object_Declaration): If
1656 CodePeer_Mode = True then omit exception handlers for finalization calls
1657
1658 2012-08-06 Robert Dewar <dewar@adacore.com>
1659
1660 * exp_aggr.adb: Minor reformatting.
1661
1662 2012-08-06 Robert Dewar <dewar@adacore.com>
1663
1664 * sem_ch6.adb: Remove useless flag Body_Deleted.
1665
1666 2012-08-06 Thomas Quinot <quinot@adacore.com>
1667
1668 * sinfo.ads (End_Span): Change default from No_Uint to Uint_0,
1669 as this is what all usage occurrences of this attribute are
1670 expecting.
1671 * uintp.adb (UI_To_Int): Add assertion to guard against calling
1672 with No_Uint.
1673
1674 2012-08-06 Vincent Pucci <pucci@adacore.com>
1675
1676 PR ada/54125
1677 * exp_attr.adb (Expand_N_Attribute_Reference): Expand new
1678 Atomic_Always_Lock_Free attribute.
1679 * sem_attr.adb (Analyze_Attribute): Analyze new
1680 Atomic_Always_Lock_Free attribute.
1681 (Eval_Attribute): Nothing to do with new Atomic_Always_Lock_Free
1682 attribute.
1683 * sem_ch9.adb (Allows_Lock_Free_Implementation):
1684 Support_Atomic_Primitives check replaces previous erroneous
1685 size check.
1686 * sem_util.adb, sem_util.ads (Support_Atomic_Primitives):
1687 New routine.
1688 * snames.ads-tmpl: New name Name_Atomic_Always_Lock_Free and
1689 new attribute Attribute_Atomic_Always_Lock_Free defined.
1690 * s-atopri.adb: Support_Atomic_Primitives checks replaced by
1691 Atomic_Always_Lock_Free queries.
1692 * system-aix64.ads, system-aix.ads, system-darwin-ppc.ads,
1693 system-hpux.ads, system-linux-alpha.ads, system-linux-hppa.ads,
1694 system-linux-ppc.ads, system-linux-s390.ads,
1695 system-linux-s390x.ads, system-linux-sh4.ads,
1696 system-linux-sparc.ads, system-lynxos178-ppc.ads,
1697 system-lynxos-ppc.ads, system-mingw.ads,
1698 system-vxworks-arm.ads, system-solaris-sparc.ads,
1699 system-solaris-sparcv9.ads, system-vms_64.ads,
1700 system-vxworks-m68k.ads, system-vxworks-mips.ads,
1701 system-vxworks-ppc.ads, system-vxworks-sparcv9.ads: Flag
1702 Support_Atomic_Primitives removed.
1703
1704 2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
1705
1706 * sem_mech.adb (Set_Mechanisms): OUT and IN OUT parameters are
1707 now unconditionally passed by reference. IN parameters subject
1708 to convention C_Pass_By_Copy are passed by copy, otherwise they
1709 are passed by reference.
1710
1711 2012-08-06 Ed Schonberg <schonberg@adacore.com>
1712
1713 * sem_ch3.adb (Analyze_Object_Declaration): According to
1714 AI95-0303, protected objects with interrupt handlers can be
1715 declared in nested scopes. This is a binding interpretation,
1716 and thus applies to all versions of the compiler.
1717
1718 2012-08-06 Robert Dewar <dewar@adacore.com>
1719
1720 * frontend.adb, exp_aggr.adb: Minor reformatting.
1721
1722 2012-08-06 Thomas Quinot <quinot@adacore.com>
1723
1724 * par-endh.adb: Minor reformatting.
1725
1726 2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
1727
1728 * exp_ch7.adb (Process_Transient_Objects): Remove obsolete loop
1729 processing related to array initialization. The expansion of
1730 loops already contains a mechanism to detect controlled objects
1731 generated by expansion and introduce a block around the loop
1732 statements for finalization purposes.
1733
1734 2012-08-06 Vincent Pucci <pucci@adacore.com>
1735
1736 * sem_ch13.adb: Current scope must be within
1737 or same as the scope of the entity while analysing aspect
1738 specifications at freeze point.
1739
1740 2012-08-06 Thomas Quinot <quinot@adacore.com>
1741
1742 * par_sco.adb: Add note about dubious SCO for TERMINATE
1743 alternative.
1744 * sem_ch8.adb, exp_ch11.adb: Minor reformatting.
1745
1746 2012-08-06 Ed Schonberg <schonberg@adacore.com>
1747
1748 * exp_aggr.adb (Two_Dim_Packed_Array_Handled): New procedure to
1749 transform an aggregate for a packed two-dimensional array into
1750 a one-dimensional array of constant values, in order to avoid
1751 the generation of component-by-component assignments.
1752
1753 2012-08-06 Thomas Quinot <quinot@adacore.com>
1754
1755 * frontend.adb: Do not attempt to process deferred configuration
1756 pragmas if the main unit failed to load, to avoid cascaded
1757 inconsistencies that can lead to a compiler crash.
1758
1759 2012-08-06 Vincent Pucci <pucci@adacore.com>
1760
1761 * s-atopri.adb: Minor reformatting.
1762
1763 2012-08-06 Arnaud Charlet <charlet@adacore.com>
1764
1765 * gnat-style.texi: Clarify that all subprograms should be
1766 documented. Minor rewording.
1767
1768 2012-08-06 Robert Dewar <dewar@adacore.com>
1769
1770 * aspects.ads: Define Aspect_Id_Exclude_No_Aspect.
1771 * par-ch13.adb, restrict.adb: Use Aspect_Id_Exclude_No_Aspect to
1772 simplify code.
1773
1774 2012-08-06 Yannick Moy <moy@adacore.com>
1775
1776 * gnat-style.texi: Update style guide for declarations.
1777
1778 2012-08-06 Yannick Moy <moy@adacore.com>
1779
1780 * sem_attr.adb (Analyze_Attribute): In the case for 'Old,
1781 skip a special expansion which is not needed in Alfa mode.
1782
1783 2012-08-06 Yannick Moy <moy@adacore.com>
1784
1785 * sem_ch5.adb (Analyze_Iterator_Specification): Do not perform
1786 an expansion of the iterator in Alfa mode.
1787
1788 2012-08-06 Robert Dewar <dewar@adacore.com>
1789
1790 * s-oscons-tmplt.c, sem_ch9.adb, osint.adb: Minor reformatting.
1791
1792 2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
1793
1794 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Remove obsolete
1795 Alfa-specific guard. The code is a leftover from an early
1796 implementation of iterators which is no longer in use.
1797
1798 2012-08-06 Vincent Celier <celier@adacore.com>
1799
1800 * par-ch13.adb (Get_Aspect_Specifications): Do not consider
1801 No_Aspect when checking for a mispelled aspect.
1802
1803 2012-08-06 Robert Dewar <dewar@adacore.com>
1804
1805 * s-htable.adb: Minor reformatting.
1806
1807 2012-08-06 Thomas Quinot <quinot@adacore.com>
1808
1809 * s-oscons-tmplt.c, g-socket.adb (System.OS_Constants.Target_OS):
1810 Suppress warnings so that we don't have to do it at each usage.
1811
1812 2012-08-06 Vincent Pucci <pucci@adacore.com>
1813
1814 * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
1815 Use of Known_Static_Esize instead of Known_Esize and
1816 Known_Static_RM_Size instead of Known_RM_Size in order to
1817 properly call UI_To_Int. Don't check the size of the component
1818 type in case of generic.
1819 * sem_ch9.adb (Allows_Lock_Free_Implementation):
1820 Use of Known_Static_Esize instead of Known_Esize and
1821 Known_Static_RM_Size instead of Known_RM_Size in order to properly
1822 call UI_To_Int. Don't check the size of the component type in
1823 case of generic.
1824
1825 2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
1826
1827 * checks.adb (Discrete_Range_Cond): Do not try to optimize on
1828 the assumption that the type of an expression can always fit in
1829 the target type of a conversion.
1830
1831 2012-07-30 Robert Dewar <dewar@adacore.com>
1832
1833 * bindusg.adb: Clarify file in -A lines.
1834
1835 2012-07-30 Robert Dewar <dewar@adacore.com>
1836
1837 * freeze.adb: Minor reformatting.
1838
1839 2012-07-30 Robert Dewar <dewar@adacore.com>
1840
1841 * gnatcmd.adb, makeutl.adb, makeutl.ads: Minor code reorganization.
1842
1843 2012-07-30 Vincent Pucci <pucci@adacore.com>
1844
1845 * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): Minor
1846 reformatting.
1847 * sem_ch9.adb (Allows_Lock_Free_Implementation): Minor reformatting.
1848 Capture the correct error message in case of a quantified expression.
1849
1850 2012-07-30 Thomas Quinot <quinot@adacore.com>
1851
1852 * g-socket.adb (Get_Socket_Option, Set_Socket_Option): On Windows, the
1853 value is a milliseconds count in a DWORD, not a struct timeval.
1854
1855 2012-07-30 Hristian Kirtchev <kirtchev@adacore.com>
1856
1857 * sem_ch12.adb (Earlier): Add local variables T1 and T2. Minor code
1858 refactoring.
1859
1860 2012-07-30 Thomas Quinot <quinot@adacore.com>
1861
1862 * gnatcmd.adb, make.adb, makeutl.adb, makeutl.ads
1863 (Test_If_Relative_Path): Rename to Ensure_Absolute_Path to better
1864 reflect what this subprogram does. Rename argument Including_L_Switch
1865 to For_Gnatbind, and also exempt -A from rewriting.
1866 * bindusg.adb: Document optional =file argument to gnatbind -A.
1867
1868 2012-07-30 Ed Schonberg <schonberg@adacore.com>
1869
1870 * freeze.adb (Freeze_Entity): Do no apply restriction check on
1871 storage pools to access to subprogram types.
1872
1873 2012-07-30 Robert Dewar <dewar@adacore.com>
1874
1875 * par_sco.adb, a-cihama.adb, a-coinve.adb, exp_ch7.adb, a-ciorse.adb,
1876 exp_ch9.adb, sem_dim.adb, par-ch13.adb, sem_ch9.adb, a-cidlli.adb,
1877 a-cimutr.adb, freeze.adb, a-ciormu.adb, sem_res.adb, sem_attr.adb,
1878 a-cihase.adb, exp_ch4.adb, sem_ch4.adb, a-ciorma.adb,
1879 s-tasinf-linux.ads, sem_ch13.adb, a-coinho.adb: Minor reformatting.
1880 Add comments.
1881
1882 2012-07-30 Vincent Pucci <pucci@adacore.com>
1883
1884 * sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict implicit
1885 dereferences of access values.
1886
1887 2012-07-27 Iain Sandoe <iain@codesourcery.com>
1888
1889 * system-darwin-ppc64.ads: Add Support_Atomic_Primitives, set to True.
1890
1891 2012-07-25 Eric Botcazou <ebotcazou@adacore.com>
1892
1893 * gcc-interface/utils2.c (gnat_stabilize_reference) <BIT_FIELD_REF>: Do
1894 not stabilize operand #1 and #2.
1895
1896 2012-07-23 Tristan Gingold <gingold@adacore.com>
1897
1898 * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): Use
1899 End_Label sloc when possible for sloc of the TRY_CATCH_EXPR node.
1900
1901 2012-07-23 Olivier Hainque <hainque@adacore.com>
1902
1903 * gcc-interface/Makefile.in: Adjust processing of Linker_Options for
1904 VxWorks.
1905 * gcc-interface/Make-lang.in: Update dependencies.
1906
1907 2012-07-23 Arnaud Charlet <charlet@adacore.com>
1908
1909 * s-tasinf-linux.ads: Fix typo.
1910
1911 2012-07-23 Thomas Quinot <quinot@adacore.com>
1912
1913 * exp_ch7.adb, switch-m.adb, exp_ch3.adb, freeze.adb: Minor reformatting
1914
1915 2012-07-23 Ed Schonberg <schonberg@adacore.com>
1916
1917 * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): If original
1918 loop carries an identifier, preserve it when rewriting it as a
1919 standard loop to validate exit statements that may reference
1920 that name in the body of the loop.
1921
1922 2012-07-23 Thomas Quinot <quinot@adacore.com>
1923
1924 * exp_ch9.adb: Minor code cleanup.
1925
1926 2012-07-23 Ed Schonberg <schonberg@adacore.com>
1927
1928 * sem_ch4.adb (Analyze_Selected_Component): When checking for
1929 potential ambiguities with class-wide operations on synchronized
1930 types, attach the copied node properly to the tree, to prevent
1931 errors during expansion.
1932
1933 2012-07-23 Yannick Moy <moy@adacore.com>
1934
1935 * sem_ch5.adb (Analyze_Loop_Statement): Make sure the loop body
1936 is analyzed in Alfa mode.
1937
1938 2012-07-23 Ed Schonberg <schonberg@adacore.com>
1939
1940 * sem_res.adb: Adjust previous change.
1941
1942 2012-07-23 Vincent Pucci <pucci@adacore.com>
1943
1944 * sem_ch9.adb (Allows_Lock_Free_Implementation): Flag
1945 Lock_Free_Given renames previous flag Complain. Description
1946 updated. Henceforth, catch every error messages issued by this
1947 routine when Lock_Free_Given is True. Declaration restriction
1948 updated: No non-elementary parameter instead (even in parameter)
1949 New subprogram body restrictions implemented: No allocator,
1950 no address, import or export rep items, no delay statement,
1951 no goto statement, no quantified expression and no dereference
1952 of access value.
1953
1954 2012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
1955
1956 * checks.adb (Determine_Range): Add local variable Btyp. Handle
1957 the case where the base type of an enumeration subtype is
1958 private. Replace all occurrences of Base_Type with Btyp.
1959 * exp_attr.adb (Attribute_Valid): Handle the case where the
1960 base type of an enumeration subtype is private. Replace all
1961 occurrences of Base_Type with Btyp.
1962 * sem_util.adb (Get_Enum_Lit_From_Pos): Add local variable
1963 Btyp. Handle the case where the base type of an enumeration
1964 subtype is private. Replace all occurrences of Base_Type with
1965 Btyp.
1966
1967 2012-07-23 Ed Schonberg <schonberg@adacore.com>
1968
1969 * par-ch6.adb (P_Mode): in Ada 2005, a mode indicator can apply
1970 to a formal object of an anonymous access type.
1971
1972 2012-07-23 Ed Schonberg <schonberg@adacore.com>
1973
1974 * sem_ch4.adb (Try_Container_Indexing): A user-defined indexing
1975 aspect can have more than one index, e.g. to describe indexing
1976 of a multidimensional object.
1977
1978 2012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
1979
1980 * exp_ch4.adb (Apply_Accessibility_Check): Reimplemented. The check is
1981 now more complex and contains optional finalization part and mandatory
1982 deallocation part.
1983
1984 2012-07-23 Gary Dismukes <dismukes@adacore.com>
1985
1986 * a-cihama.adb, a-cihase.adb, a-cimutr.adb, a-ciorma.adb, a-ciormu.adb,
1987 a-ciorse.adb, a-coinho.adb, a-coinve.adb, a-cidlli.adb: Unsuppress
1988 Accessibility_Check for Element_Type allocators.
1989
1990 2012-07-23 Vasiliy Fofanov <fofanov@adacore.com>
1991
1992 * projects.texi: Fix typo.
1993
1994 2012-07-23 Ed Schonberg <schonberg@adacore.com>
1995
1996 * sem_res.adb (Resolve_Explicit_Derenference): If prefix is
1997 overloaded, remove those interpretations whose designated type
1998 does not match the context, to avoid spurious ambiguities that
1999 may be caused by the Ada 2012 conversion rule for anonymous
2000 access types.
2001
2002 2012-07-23 Vincent Celier <celier@adacore.com>
2003
2004 * g-spitbo.adb (Substr (String)): Return full string and do not
2005 raise exception when Start is 1 and Len is exactly the length
2006 of the string parameter.
2007 * g-spitbo.ads: Fix spelling error in the name of exception
2008 Index_Error.
2009
2010 2012-07-23 Ed Schonberg <schonberg@adacore.com>
2011
2012 * par.adb: new subprogram Get_Aspect_Specifications.
2013 * par-ch6.adb (P_Subprogram): handle subprogram bodies with aspect
2014 specifications.
2015 * par-ch13.adb (Get_Aspect_Specifications): extracted from
2016 P_Aspect_Specifications. Collect aspect specifications in some
2017 legal context, but do not attach them to any declaration. Used
2018 when parsing subprogram declarations or bodies that include
2019 aspect specifications.
2020 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If aspects are
2021 present, analyze them, or reject them if the subprogram as a
2022 previous spec.
2023
2024 2012-07-23 Vasiliy Fofanov <fofanov@adacore.com>
2025
2026 * gnat_ugn.texi: Omit section on other platforms/runtimes support
2027 in gnattest for vms version.
2028
2029 2012-07-23 Ed Schonberg <schonberg@adacore.com>
2030
2031 * sem_ch13.adb (Analyze_Aspect_Specifications):
2032 Handle properly aspects that can be specified on a subprogram
2033 body: CPU, Priority, and Interrupt_Priority.
2034
2035 2012-07-23 Claire Dross <dross@adacore.com>
2036
2037 * a-cfdlli.ads: Switch definition of Constant_Reference_Type
2038 and Empty_List.
2039
2040 2012-07-23 Thomas Quinot <quinot@adacore.com>
2041
2042 * par_sco.adb (Process_Decisions.Output_Header): For the guard
2043 on an alternative in a SELECT statement, use the First_Sloc
2044 of the guard expression (not its topmost sloc) as the decision
2045 location, because this is what is referenced by dominance markers.
2046
2047 2012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
2048
2049 * exp_ch7.adb (Requires_Hooking): Examine the original expression
2050 of an object declaration node because a function call that
2051 returns on the secondary stack may have been rewritten into
2052 something else.
2053
2054 2012-07-23 Vincent Pucci <pucci@adacore.com>
2055
2056 * sem_dim.adb (Analyze_Dimension_Has_Etype): For identifier, propagate
2057 dimension when entity is a non-dimensionless constant.
2058 (Analyze_Dimension_Object_Declaration): Propagate
2059 dimension from the expression to the entity when type is a
2060 dimensioned type and object is a constant.
2061
2062 2012-07-23 Ed Schonberg <schonberg@adacore.com>
2063
2064 * sem_attr.adb (Analyze_Attribute, case 'Old): if the prefix
2065 is not an entity name, expand at once so that code generated by
2066 the expansion of the prefix is not generated before the constant
2067 that captures the old value is properly inserted and analyzed.
2068
2069 2012-07-23 Thomas Quinot <quinot@adacore.com>
2070
2071 * exp_ch9.adb (Ensure_Statement_Present): Mark generated NULL
2072 statement as Comes_From_Source so that GIGI does not eliminate it.
2073
2074 2012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
2075
2076 * sem_ch12.adb (Insert_Freeze_Node_For_Instance): Inst is now
2077 a local variable. Retrieve the related instance when processing
2078 a subprogram instantiation. Such instances appear as wrapper
2079 packages.
2080
2081 2012-07-23 Vincent Pucci <pucci@adacore.com>
2082
2083 * system-aix64.ads, system-aix.ads, system-darwin-ppc.ads,
2084 system-hpux.ads, system-linux-alpha.ads,
2085 system-linux-hppa.ads, system-linux-ppc.ads,
2086 system-linux-s390.ads, system-linux-s390x.ads,
2087 system-linux-sh4.ads, system-linux-sparc.ads,
2088 system-lynxos-ppc.ads, system-mingw.ads,
2089 system-solaris-sparc.ads, system-solaris-sparcv9.ads,
2090 system-vms_64.ads, * system-vxworks-arm.ads, system-vxworks-m68k.ads,
2091 system-vxworks-mips.ads, system-vxworks-ppc.ads,
2092 system-vxworks-sparcv9.ads: Support_Atomic_Primitives set to False.
2093 * system-darwin-x86.ads, system-darwin-x86_64.ads,
2094 system-freebsd-x86.ads, system-freebsd-x86_64.ads,
2095 system-hpux-ia64.ads, system-linux-ia64.ads, system-linux-x86.ads,
2096 system-linux-x86_64.ads, system-lynxos-x86.ads,
2097 system-mingw-x86_64.ads, system-solaris-x86.ads,
2098 system-solaris-x86_64.ads, system-vms-ia64.ads,
2099 system-vxworks-x86.ads: Support_Atomic_Primitives set to True.
2100 * s-atopri.adb (Lock_Free_Read_X): New body.
2101 (Lock_Free_Try_Write_X): Support_Atomic_Primitives check added.
2102 (Lock_Free_Try_Write_64): New body.
2103 * s-atopri.ads: New type uint.
2104 (Sync_Compare_And_Swap_64): __sync_val_compare_and_swap_8 intrinsic
2105 import.
2106 (Lock_Free_Read_X): Body moved to s-atopri.adb.
2107 (Lock_Free_Try_Write_64): Similar to other Lock_Free_Try_Write_X
2108 routines.
2109 * targparm.adb: New enumeration literal SAP
2110 (Support_Atomic_Primitives) for type Targparm_Tags. New constant
2111 SAP_Str. New component SAP_Str'Access for array Targparm_Str.
2112 (Get_Target_Parameters): Parse Support_Atomic_Primitives_On_Target
2113 flag.
2114 * targparm.ads: New back-end code generation flag
2115 Support_Atomic_Primitives_On_Target
2116
2117 2012-07-23 Vincent Pucci <pucci@adacore.com>
2118
2119 * gnat_ugn.texi: Dimensionality checking documentation updated.
2120
2121 2012-07-23 Ed Schonberg <schonberg@adacore.com>
2122
2123 * sem_prag.adb (Make_Inline): If the pragma applies to a
2124 subprogram renaming, set inline flags on both the renamed entity
2125 and on the renaming, so that some ASIS queries can be handled
2126 consistently in the absence of expansion.
2127
2128 2012-07-23 Fedor Rybin <frybin@adacore.com>
2129
2130 * gnat_ugn.texi: Removing obsolete limitation of gnattest
2131 to support only ada05. Updating gnattest support for other
2132 platforms/run-times section to reflect the usage of taget
2133 prefix in gnattest calls. Fixing missed obsolete --stub-default
2134 option name.
2135
2136 2012-07-23 Robert Dewar <dewar@adacore.com>
2137
2138 * uintp.adb: Minor reformatting.
2139
2140 2012-07-23 Olivier Hainque <hainque@adacore.com>
2141
2142 * system-vxworks-ppc.ads: Replace the default
2143 Linker_Options requesting crtbe by a commented out request for
2144 -nostartfiles.
2145
2146 2012-07-23 Vincent Celier <celier@adacore.com>
2147
2148 * prj-nmsc.adb (Check_Naming): Do not get the exceptions names
2149 in a virtual project.
2150
2151 2012-07-23 Robert Dewar <dewar@adacore.com>
2152
2153 * layout.adb, sem_prag.adb, sem.ads, freeze.adb,
2154 switch-m.adb, exp_disp.adb, system-vxworks-ppc.ads, exp_ch6.adb: Minor
2155 reformatting.
2156
2157 2012-07-23 Tristan Gingold <gingold@adacore.com>
2158
2159 * gcc-interface/trans.c: (Handled_Sequence_Of_Statements_to_gnu): Set
2160 location on TRY_CATCH_EXPR.
2161
2162 2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
2163
2164 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Try to ensure
2165 that an object of CW type initialized to a value is sufficiently
2166 aligned for this value.
2167
2168 2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
2169
2170 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Do not
2171 look up the REP part of the base type in advance. Deal with that of
2172 the variant types.
2173 (get_rep_part): Be prepared for record types with fields.
2174
2175 2012-07-18 Eric Botcazou <ebotcazou@adacore.com>
2176
2177 * gcc-interface/trans.c (stmt_group_may_fallthru): New function.
2178 (gnat_to_gnu) <N_Block_Statement>: Use it to find out whether the
2179 block needs to be translated.
2180
2181 2012-07-17 Tristan Gingold <gingold@adacore.com>
2182
2183 * gnat_rm.texi: Adjust previous change.
2184
2185 2012-07-17 Ed Schonberg <schonberg@adacore.com>
2186
2187 * sem_prag.adb (Process_Import_Or_Interface): If the pragma
2188 comes from an aspect, it applies to the corresponding entity
2189 without further check.
2190
2191 2012-07-17 Olivier Hainque <hainque@adacore.com>
2192
2193 * initialize.c (__gnat_initialize for VxWorks): Remove section with
2194 call to __gnat_vxw_setup_for_eh.
2195 * system-vxworks-ppc.ads: Add -auto-register to -crtbe, relying
2196 on the VxWorks constructor mechanism for network loaded modules
2197 by default.
2198
2199 2012-07-17 Tristan Gingold <gingold@adacore.com>
2200
2201 * adaint.c: Minor reformatting.
2202
2203 2012-07-17 Pascal Obry <obry@adacore.com>
2204
2205 * s-regexp.adb (Adjust): Fix access violation in Adjust.
2206
2207 2012-07-17 Ed Schonberg <schonberg@adacore.com>
2208
2209 * freeze.adb (Freeze_Entity): Warn if an imported subprogram
2210 has pre/post conditions, because these will not be enforced.
2211
2212 2012-07-17 Eric Botcazou <ebotcazou@adacore.com>
2213
2214 * exp_ch7.adb (Process_Transient_Objects): Put all the
2215 finalization blocks and the final raise statement into a wrapper
2216 block.
2217
2218 2012-07-17 Vincent Pucci <pucci@adacore.com>
2219
2220 * s-atopri.adb (Lock_Free_Try_Write_X): Atomic_Compare_Exchange_X
2221 replaced by Sync_Compare_And_Swap_X.
2222 (Lock_Free_Try_Write_64): Removed.
2223 * s-atopri.ads (Sync_Compare_And_Swap_X): Replaces previous
2224 routine Atomic_Compare_Exchange_X.
2225 (Lock_Free_Read_64): Renaming of Atomic_Load_64.
2226 (Lock_Free_Try_Write_64): Renaming of Sync_Compare_And_Swap_64.
2227
2228 2012-07-17 Vincent Celier <celier@adacore.com>
2229
2230 * switch-m.adb (Normalize_Compiler_Switches): Recognize new
2231 switches -gnatn1 and -gnatn2.
2232
2233 2012-07-17 Vincent Pucci <pucci@adacore.com>
2234
2235 * gnat_ugn.texi: GNAT dimensionality checking
2236 documentation updated with System.Dim.Mks modifications.
2237
2238 2012-07-17 Ed Schonberg <schonberg@adacore.com>
2239
2240 * exp_ch3.adb: sloc of array init_proc is sloc of type declaration.
2241
2242 2012-07-17 Tristan Gingold <gingold@adacore.com>
2243
2244 * raise-gcc.c (get_call_site_action_for): Remove useless init
2245 expression for p.
2246 (get_action_description_for): Do not overwrite action->kind.
2247
2248 2012-07-17 Hristian Kirtchev <kirtchev@adacore.com>
2249
2250 * exp_attr.adb (Expand_N_Attribute_Reference): Add local variables Attr
2251 and Conversion_Added. Add local constant Typ.
2252 Retrieve the original attribute after the arithmetic check
2253 machinery has modified the node. Add a conversion to the target
2254 type when the prefix of attribute Max_Size_In_Storage_Elements
2255 is a controlled type.
2256
2257 2012-07-17 Gary Dismukes <dismukes@adacore.com>
2258
2259 * exp_ch6.adb (Expand_Inlined_Call): For each actual parameter
2260 of mode 'out' or 'in out' that denotes an entity, reset
2261 Last_Assignment on the entity so that any assignments to the
2262 corresponding formal in the inlining will not trigger spurious
2263 warnings about overwriting assignments.
2264
2265 2012-07-17 Robert Dewar <dewar@adacore.com>
2266
2267 * s-assert.ads: Fix comments to make it clear that this is used
2268 for all assertions, not just pragma Assert.
2269
2270 2012-07-17 Jerome Guitton <guitton@adacore.com>
2271
2272 * par_sco.ads: Minor typo fix.
2273
2274 2012-07-17 Gary Dismukes <dismukes@adacore.com>
2275
2276 * layout.adb (Layout_Type): In the case where the target is
2277 AAMP, use 32 bits (a single pointer) rather than 64 bits for an
2278 anonymous access-to-subprogram type if the type is library-level
2279 and Is_Local_Anonymous_Access is True.
2280
2281 2012-07-17 Jose Ruiz <ruiz@adacore.com>
2282
2283 * s-tassta.adb, s-tarest.adb (Create_Task, Create_Restricted_Task,
2284 Initialize): Add comments explaining that the CPU affinity value that
2285 is passed to the run-time library can be either Unspecified_CPU, to
2286 indicate that the task inherits the affinity of its activating task,
2287 or a value in the range of CPU_Range but no greater than Number_Of_CPUs.
2288
2289 2012-07-17 Javier Miranda <miranda@adacore.com>
2290
2291 * exp_disp.adb (Make_DT): Remove decoration of Ada.Tags entities.
2292 (Make_Tags): Add decoration of Ada.Tags entities.
2293
2294 2012-07-17 Ed Schonberg <schonberg@adacore.com>
2295
2296 * sem_ch6.adb (Check_Statement_Sequence): When locating the
2297 last significant statement in a sequence, ignore iserted nodes
2298 that typically come from expansion of controlled operations.
2299
2300 2012-07-17 Tristan Gingold <gingold@adacore.com>
2301
2302 * gnat_rm.texi: Document foreign exceptions.
2303
2304 2012-07-17 Robert Dewar <dewar@adacore.com>
2305
2306 * sem_prag.adb, treepr.ads: Minor reformatting.
2307
2308 2012-07-17 Robert Dewar <dewar@adacore.com>
2309
2310 * exp_ch9.adb: Minor code reorganization.
2311 * exp_ch3.adb: Minor code improvement.
2312
2313 2012-07-17 Tristan Gingold <gingold@adacore.com>
2314
2315 * seh_init.c (__gnat_SEH_error_handler): Not compiled anymore
2316 on Windows 64 (+ SEH), as it is unused.
2317
2318 2012-07-17 Javier Miranda <miranda@adacore.com>
2319
2320 * sem_prag.adb (CPP_Class): Transform obsolescent pragma CPP_Class into
2321 CPP convention automatically.
2322
2323 2012-07-16 Tristan Gingold <gingold@adacore.com>
2324
2325 * gcc-interface/decl.c (intrin_return_compatible_p): Map Address to
2326 void *.
2327
2328 2012-07-16 Thomas Quinot <quinot@adacore.com>
2329
2330 * exp_ch9.adb (Ensure_Statement_Present): New subprogram.
2331 (Expand_N_Asynchronous_Select,
2332 Expand_N_Selective_Accept.Process_Accept_Alternative,
2333 Expand_N_Selective_Accept.Process_Delay_Alternative,
2334 Expand_N_Timed_Entry_Call): For an alternative with no trailing
2335 statements, introduce a null statement to carry the sloc of
2336 the initial special statement (accept, delay, or entry call)
2337 in the alternative, for coverage analysis purposes.
2338
2339 2012-07-16 Thomas Quinot <quinot@adacore.com>
2340
2341 * sem_eval.adb (In_Subrange_Of): Fix typo in test for scalar
2342 arguments.
2343
2344 2012-07-16 Robert Dewar <dewar@adacore.com>
2345
2346 * a-exexpr.adb, freeze.adb, a-exexpr-gcc.adb, a-except-2005.adb,
2347 sem_eval.adb, s-fileio.adb: Minor reformatting.
2348
2349 2012-07-16 Javier Miranda <miranda@adacore.com>
2350
2351 * sem_prag.adb (Analyze_Pragma): Remove support for obsolescent
2352 pragma CPP_Class.
2353 * sem_ch13.adb (Analyze_Freeze_Entity): Add missing error on Ada
2354 derivations of CPP types. Found updating the tests affected by
2355 the removal of pragma CPP_Class.
2356
2357 2012-07-16 Thomas Quinot <quinot@adacore.com>
2358
2359 * back_end.adb: Minor reformatting.
2360
2361 2012-07-16 Thomas Quinot <quinot@adacore.com>
2362
2363 * exp_ch9.adb (Expand_N_Selective_Accept.Process_Accept_Alternative):
2364 Remove junk test that was always true. For the case of no statements
2365 following the ACCEPT, jump directly to End_Lab instead of
2366 introducing an intermediate jump.
2367 (Expand_N_Selective_Accept.Process_Delay_Alternative): Fix
2368 predicate testing for presence of statements following the DELAY.
2369 that was always true. For the case of no statements following
2370 the ACCEPT, jump directly to End_Lab instead of introducing an
2371 intermediate jump.
2372 (Expand_N_Selective_Accept): Fix incorrect insertion point for
2373 end label.
2374
2375 2012-07-16 Thomas Quinot <quinot@adacore.com>
2376
2377 * gnat_rm.texi: Minor documentation improvements.
2378
2379 2012-07-16 Yannick Moy <moy@adacore.com>
2380
2381 * sem_ch13.adb (Analyze_Aspect_Specifications): Allow Pre
2382 and Pre'Class aspects on the same declaration.
2383 * sem_prag.adb (Chain_PPC): Allow Pre and Pre'Class aspects on the
2384 same hierarchy of primitive operations.
2385
2386 2012-07-16 Thomas Quinot <quinot@adacore.com>
2387
2388 * freeze.adb (Check_Component_Storage_Order): Do not reject a
2389 nested composite with different scalar storage order if it is
2390 byte aligned.
2391
2392 2012-07-16 Thomas Quinot <quinot@adacore.com>
2393
2394 * gnat_rm.texi: Update documentation for Scalar_Storage_Order.
2395
2396 2012-07-16 Tristan Gingold <gingold@adacore.com>
2397
2398 * a-exexpr.adb (Propagate_Exception): Adjust call to
2399 Exception_Traces procedures.
2400 * a-exexpr-gcc.adb (Setup_Current_Excep): Now a
2401 function that returns an access to the Ada occurrence.
2402 (Propagate_GCC_Exception): Adjust calls.
2403 * raise.h (struct Exception_Occurrence): Declare.
2404 * a-exextr.adb: Remove useless pragma. (Notify_Handled_Exception,
2405 Notify_Unhandled_Exception) (Unhandled_Exception_Terminate):
2406 Add Excep parameter.
2407 * a-except.adb (Notify_Handled_Exception,
2408 Notify_Unhandled_Exception) (Unhandled_Exception_Terminate):
2409 Add Excep parameter.
2410 (Process_Raise_Exception): Adjust calls.
2411 * a-except-2005.adb (Notify_Handled_Exception,
2412 Notify_Unhandled_Exception) (Unhandled_Exception_Terminate): Add
2413 Excep parameter.
2414 (Raise_Exception): Calls Raise_Exception_Always.
2415 * raise-gcc.c (__gnat_setup_current_excep,
2416 __gnat_notify_handled_exception)
2417 (__gnat_notify_unhandled_exception): Adjust declarations.
2418 (PERSONALITY_FUNCTION): Adjust calls.
2419 (__gnat_personality_seh0): Remove warning.
2420
2421 2012-07-16 Javier Miranda <miranda@adacore.com>
2422
2423 * sem_eval.adb (Test_Expression_Is_Foldable): Adding documentation.
2424 (Eval_Relational_Op): Adding documentation.
2425
2426 2012-07-16 Robert Dewar <dewar@adacore.com>
2427
2428 * freeze.adb, g-debpoo.adb, exp_ch3.adb: Minor reformatting.
2429
2430 2012-07-16 Thomas Quinot <quinot@adacore.com>
2431
2432 * s-oscons-tmplt.c: Add definitions of E2BIG and EILSEQ.
2433
2434 2012-07-16 Tristan Gingold <gingold@adacore.com>
2435
2436 * a-exexpr.adb (Propagate_Continue): New function replacing
2437 Raise_Current_Excep.
2438 (Allocate_Occurrence): New function.
2439 (Propagate_Exception): Add Excep parameter, remove call to Call_Chain.
2440 * a-exexpr-gcc.adb (GNAT_GCC_Exception): Occurrence component
2441 is now aliased.
2442 (To_GCC_Exception): Convert from Address.
2443 (Allocate_Occurrence): Allocate an Unwind exception occurrence.
2444 (Setup_Current_Excep): Fill the machine occurrence in case of
2445 foreign exception.
2446 (Propagate_Exception): Add Excep parameter, remove call to Call_Chain.
2447 * a-except.adb (Set_Exception_C_Msg, Set_Exception_Msg): add
2448 Excep parameter.
2449 (Raise_Exception, Raise_Exception_Always,
2450 Raise_Exception_No_Defer): Adjust calls to the above procedures.
2451 (Raise_From_Signal_Handler, Raise_With_Location_And_Msg)
2452 (Rcheck_PE_Finalize_Raised_Exception): Likewise.
2453 * a-except-2005.adb (Set_Exception_C_Msg, Set_Exception_Msg):
2454 add Excep parameter.
2455 (Propagate_Exception): Likewise.
2456 (Allocate_Occurrence): New function.
2457 (Raise_Current_Excep): Removed.
2458 (Complete_Occurrence): New function to save the call chain.
2459 (Complete_And_Propagate_Occurrence): New procedure.
2460 (Create_Occurrence_From_Signal_Handler): New function to build an
2461 occurrence without propagating it.
2462 (Create_Machine_Occurrence_From_Signal_Handler): Likewise, but
2463 return the machine occurrence.
2464 (Raise_From_Signal_Handler): Use Create_Occurrence_From_Signal_Handler.
2465 (Raise_Exception, Raise_Exception_Always, Raise_Exception_No_Defer):
2466 Adjust calls to the above procedures. Allocate the occurrence at
2467 the beginning.
2468 (Raise_With_Location_And_Msg, Raise_With_Msg)
2469 (Rcheck_PE_Finalize_Raised_Exceptionm Reraise): Likewise.
2470 (Reraise_Occurrence): Use Reraise_Occurrence_Always.
2471 (Reraise_Occurrence_Always): Use Reraise_Occurrence_No_Defer.
2472 (Reraise_Occurrence_No_Defer): Preserve machine occurrence.
2473 (Save_Occurrence): Do not save machine occurrence.
2474 * a-except-2005.ads (Exception_Occurrence): Add Machine_Occurrence
2475 component.
2476 (Null_Occurrence): Consider it.
2477 * a-exexda.adb (Set_Exception_C_Msg, Set_Exception_Msg): add
2478 Excep parameter.
2479
2480 2012-07-16 Tristan Gingold <gingold@adacore.com>
2481
2482 * seh_init.c (__gnat_map_SEH): New function extracted from
2483 __gnat_SEH_error_handler.
2484 * raise-gcc.c: __gnat_personality_seh0: Directly transforms
2485 Windows system exception into GCC one when possible, in order
2486 to save stack room (particularly useful when Storage_Error will
2487 be propagated).
2488
2489 2012-07-16 Robert Dewar <dewar@adacore.com>
2490
2491 * a-direct.adb, g-dirope.adb: Minor reformatting.
2492
2493 2012-07-16 Tristan Gingold <gingold@adacore.com>
2494
2495 * a-except.ads, a-except-2005.ads: Remove outdated comment.
2496
2497 2012-07-16 Robert Dewar <dewar@adacore.com>
2498
2499 * sem_ch6.adb (Subprogram_Name_Greater): Fix algorithm to
2500 conform to documentation.
2501
2502 2012-07-16 Ed Schonberg <schonberg@adacore.com>
2503
2504 * gnat1drv.adb (Check_Library_Items): Removed, no longer used.
2505
2506 2012-07-16 Ed Schonberg <schonberg@adacore.com>
2507
2508 * sem_ch3.adb (Array_Type_Declaration): if component type has
2509 invariants, the array type itself requires an invariant procedure.
2510 * exp_ch3.ads, exp_ch3.adb (Build_Array_Invariant_Proc): new
2511 procedure, to build a checking procedure that applies the
2512 invariant check on some type T to each component of an array
2513 of T's. Code is similar to the construction of the init_proc
2514 for an array, and handles multidimensional arrays by recursing
2515 over successive dimensions.
2516
2517 2012-07-16 Hristian Kirtchev <kirtchev@adacore.com>
2518
2519 * g-debpoo.adb: Revert previous change.
2520
2521 2012-07-16 Hristian Kirtchev <kirtchev@adacore.com>
2522
2523 * freeze.adb (Freeze_Entity): Insert the itype reference to a
2524 library-level class-wide subtype after the freeze node of the
2525 equivalent record type.
2526
2527 2012-07-16 Pascal Obry <obry@adacore.com>
2528
2529 * s-crtl.ads (mkdir): New routine, support encoding.
2530 * adaint.h (__gnat_mkdir): Update spec to pass encoding.
2531 * mkdir.c (__gnat_mkdir): Add encoding parameter.
2532 * a-direct.adb (Create_Directory): Use CRTL.mkdir, parse encoding
2533 in form parameter.
2534 * g-dirope.adb (Make_Dir): Update to pass encoding parameter.
2535
2536 2012-07-16 Pascal Obry <obry@adacore.com>
2537
2538 * adaint.c: Minor reformatting.
2539
2540 2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2541
2542 * gcc-interface/utils.c: Include timevar.h.
2543 * Make-lang.in: Fix dependencies.
2544
2545 2012-07-16 Vasiliy Fofanov <fofanov@adacore.com>
2546
2547 * ug_words, vms_data.ads: Document VMS qualifiers for -gnatn1/2
2548 switches.
2549
2550 2012-07-16 Bob Duff <duff@adacore.com>
2551
2552 * sinfo.ads: Minor comment fix.
2553
2554 2012-07-16 Bob Duff <duff@adacore.com>
2555
2556 * sem_elab.adb (Within_Elaborate_All): Walk the with clauses to
2557 find pragmas Elaborate_All that may be found in the transitive
2558 closure of the dependences.
2559
2560 2012-07-16 Robert Dewar <dewar@adacore.com>
2561
2562 * exp_pakd.adb, freeze.adb, sem_util.adb, vms_data.ads: Minor
2563 reformatting.
2564
2565 2012-07-12 Vasiliy Fofanov <fofanov@adacore.com>
2566
2567 * vms_data.ads: Add VMS qualifiers for -gnatn1/2 switches.
2568
2569 2012-07-12 Thomas Quinot <quinot@adacore.com>
2570
2571 * exp_ch5.adb, exp_pakd.adb, rtsfind.ads, freeze.adb, sem_util.adb,
2572 sem_util.ads, exp_aggr.adb
2573 (Exp_Aggr.Packed_Array_Aggregate_Handled): Simplify processing
2574 for reverse storage order aggregate.
2575 (Exp_Pakd.Byte_Swap): New utility routine used by...
2576 (Exp_Pakd.Expand_Bit_Packed_Element_Set,
2577 Expand_Packed_Element_Reference): For the case of a free-standing
2578 packed array with reverse storage order, perform byte swapping.
2579 (Rtsfind): Make new entities RE_Bswap_{16,32,64} available.
2580 (Freeze.Check_Component_Storage_Order): New utility routine
2581 to enforce legality rules for nested composite types whose
2582 enclosing composite has an explicitly defined Scalar_Storage_Order
2583 attribute.
2584 (Sem_Util.In_Reverse_Storage_Order_Object): Renamed from
2585 Sem_Util.In_Reverse_Storage_Order_Record, as SSO now applies to
2586 array types as well.
2587 (Exp_Ch5.Expand_Assign_Array): Remove now unnecessary kludge
2588 for change of scalar storage order in assignments. The Lhs and
2589 Rhs now always have the same scalar storage order.
2590
2591 2012-07-12 Hristian Kirtchev <kirtchev@adacore.com>
2592
2593 * g-debpoo.adb (Allocate): Add local constant
2594 No_Element. Initialize the allocated memory chunk to No_Element.
2595
2596 2012-07-12 Ed Schonberg <schonberg@adacore.com>
2597
2598 * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly
2599 the case of an instance of a child unit where a formal derived
2600 type DT is an extension of a type T declared in a parent unit,
2601 and the actual in the instance of the child is the type T declared
2602 in the parent instance, and that actual is not a derived type.
2603
2604 2012-07-12 Eric Botcazou <ebotcazou@adacore.com>
2605 Tristan Gingold <gingold@adacore.com>
2606
2607 * system-hpux-ia64.ads: Enable ZCX by default.
2608 * gcc-interface/Makefile.in: Use alternate stack on ia64-hpux.
2609 Change soext to .so.
2610
2611 2012-07-12 Robert Dewar <dewar@adacore.com>
2612
2613 * s-atopri.adb, s-atopri.ads: Minor reformatting.
2614
2615 2012-07-12 Robert Dewar <dewar@adacore.com>
2616
2617 * ali.adb: Add circuitry to read new named form of restrictions lines.
2618 * debug.adb: Add doc for new -gnatd.R switch (used positional
2619 notation for output of restrictions data in ali file).
2620 * lib-writ.adb: Implement new named format for restrictions lines.
2621 * lib-writ.ads: Add documentation for new named format for
2622 restrictions in ali files.
2623 * restrict.adb, restrict.ads, sem_prag.adb: Update comments.
2624 * rident.ads: Go back to withing System.Rident
2625 * s-rident.ads: Add extensive comment on dealing with consistency
2626 checking.
2627
2628 2012-07-12 Thomas Quinot <quinot@adacore.com>
2629
2630 * par_sco.adb, scos.ads: Emit detailed SCOs for SELECT statements.
2631
2632 2012-07-12 Robert Dewar <dewar@adacore.com>
2633
2634 * sem_disp.adb: Minor reformatting
2635 * s-bytswa.ads: Minor comment update.
2636
2637 2012-07-12 Vincent Pucci <pucci@adacore.com>
2638
2639 * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
2640 Atomic_Load_N replaced by Lock_Free_Read_N. Atomic_Compare_Exchange_N
2641 replaced by Lock_Free_Try_Write_N.
2642 Renaming of several local variables. For
2643 procedure, Expected_Comp declaration moved to the declaration
2644 list of the procedure.
2645 * rtsfind.ads: RE_Atomic_Compare_Exchange_8,
2646 RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32,
2647 RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8,
2648 RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64,
2649 RE_Atomic_Synchronize, RE_Relaxed removed. RE_Lock_Free_Read_8,
2650 RE_Lock_Free_Read_16, RE_Lock_Free_Read_32, RE_Lock_Free_Read_64,
2651 RE_Lock_Free_Try_Write_8, RE_Lock_Free_Try_Write_16,
2652 RE_Lock_Free_Try_Write_32, RE_Lock_Free_Try_Write_64 added.
2653 * s-atopri.adb: New file.
2654 * s-atopri.ads (Atomic_Compare_Exchange_8): Renaming of
2655 parameters. Import primitive __sync_val_compare_and_swap_1.
2656 (Atomic_Compare_Exchange_16): Renaming of parameters.
2657 Import primitive __sync_val_compare_and_swap_2.
2658 (Atomic_Compare_Exchange_32): Renaming of parameters.
2659 Import primitive __sync_val_compare_and_swap_4.
2660 (Atomic_Compare_Exchange_64): Renaming of parameters. Import
2661 primitive __sync_val_compare_and_swap_8.
2662 (Atomic_Load_8): Ptr renames parameter X.
2663 (Atomic_Load_16): Ptr renames parameter X.
2664 (Atomic_Load_32): Ptr renames parameter X.
2665 (Atomic_Load_64): Ptr renames parameter X.
2666 (Lock_Free_Read_8): New routine.
2667 (Lock_Free_Read_16): New routine.
2668 (Lock_Free_Read_32): New routine.
2669 (Lock_Free_Read_64): New routine.
2670 (Lock_Free_Try_Write_8): New routine.
2671 (Lock_Free_Try_Write_16): New routine.
2672 (Lock_Free_Try_Write_32): New routine.
2673 (Lock_Free_Try_Write_64): New routine.
2674
2675 2012-07-12 Robert Dewar <dewar@adacore.com>
2676
2677 * exp_attr.adb, exp_ch9.adb, sem_ch9.adb, exp_aggr.adb: Minor
2678 reformatting.
2679
2680 2012-07-12 Vincent Pucci <pucci@adacore.com>
2681
2682 * sem_dim.adb (Analyze_Dimension_Function_Call): Reformatting of error
2683 msgs for elementary functions.
2684
2685 2012-07-12 Vincent Pucci <pucci@adacore.com>
2686
2687 * sem_attr.adb (Eval_Attribute): Minor reformatting.
2688
2689 2012-07-12 Pascal Obry <obry@adacore.com>
2690
2691 * prj-nmsc.adb (Check_Library_Attributes): Allow the same library
2692 project in different project tree (different aggregated projects).
2693
2694 2012-07-12 Thomas Quinot <quinot@adacore.com>
2695
2696 * s-bytswa.adb, g-bytswa.adb, g-bytswa.ads, s-bytswa.ads: Further
2697 reorganization of byte swapping routines.
2698
2699 2012-07-12 Ed Schonberg <schonberg@adacore.com>
2700
2701 * sem_disp.adb (Check_Dispatching_Context): Refine legality
2702 checks on tagg indeterminate calls to abstract operations,
2703 that appear in the context of other calls.
2704
2705 2012-07-12 Thomas Quinot <quinot@adacore.com>
2706
2707 * s-bytswa.adb (Swapped2.Bswap16): Remove local function,
2708 no longer needed.
2709
2710 2012-07-12 Javier Miranda <miranda@adacore.com>
2711
2712 * exp_attr.adb (Expand_N_Attribute_Reference): For
2713 attributes 'access, 'unchecked_access and 'unrestricted_access,
2714 iff the current instance reference is located in a protected
2715 subprogram or entry then rewrite the access attribute to be the
2716 name of the "_object" parameter.
2717
2718 2012-07-12 Tristan Gingold <gingold@adacore.com>
2719
2720 * raise.h: Revert previous patch: structure is used in init.c
2721 by vms.
2722
2723 2012-07-12 Vincent Celier <celier@adacore.com>
2724
2725 * make.adb (Binding_Phase): If --subdirs was used, but not
2726 -P, change the working directory to the specified subdirectory
2727 before invoking gnatbind.
2728 (Linking_Phase): If --subdirs was used, but not -P, change the working
2729 directory to the specified subdirectory before invoking gnatlink.
2730
2731 2012-07-12 Vincent Pucci <pucci@adacore.com>
2732
2733 * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
2734 For a procedure, instead of replacing each Comp reference by a
2735 reference to Current_Comp, make a renaming Comp of Current_Comp
2736 that rewrites the original renaming generated by the compiler
2737 during the analysis. Move the declarations of the procedure
2738 inside the generated block.
2739 (Process_Stmts): Moved in the body
2740 of Build_Lock_Free_Unprotected_Subprogram_Body.
2741 (Process_Node):
2742 Moved in the body of Build_Lock_Free_Unprotected_Subprogram_Body.
2743 * sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict any
2744 non-elementary out parameters in protected procedures.
2745
2746 2012-07-12 Thomas Quinot <quinot@adacore.com>
2747
2748 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
2749 Scalar_Storage_Order): Attribute applies to base type only.
2750
2751 2012-07-12 Ed Schonberg <schonberg@adacore.com>
2752
2753 * exp_aggr.adb (Convert_To_Positional): Increase acceptable size
2754 of static aggregate when Static_Elaboration_Desired is requested.
2755 Add a warning if the request cannot be satisfied either because
2756 some components or some array bounds are non-static.
2757
2758 2012-07-12 Thomas Quinot <quinot@adacore.com>
2759
2760 * exp_pakd.adb: Minor reformatting.
2761
2762 2012-07-12 Tristan Gingold <gingold@adacore.com>
2763
2764 * tracebak.c: Fix warnings.
2765 * raise-gcc.c (__gnat_adjust_context): New function
2766 (__gnat_personality_seh0): Call __gnat_adjust_context to adjust
2767 PC in machine frame for exceptions that occur in the current
2768 function.
2769
2770 2012-07-12 Thomas Quinot <quinot@adacore.com>
2771
2772 * g-bytswa.adb, g-bytswa.ads, s-bytswa.adb, s-bytswa.ads, Makefile.rtl:
2773 Move GNAT.Byte_Swapping to System (with a renaming under GNAT)
2774 so that it is usable in expanded code.
2775
2776 2012-07-12 Tristan Gingold <gingold@adacore.com>
2777
2778 * s-osinte-hpux.ads: Increase alternate stack size on hpux.
2779
2780 2012-07-12 Javier Miranda <miranda@adacore.com>
2781
2782 * exp_ch3.adb (Make_Neq_Body): Fix typo in comment.
2783
2784 2012-07-12 Eric Botcazou <ebotcazou@adacore.com>
2785
2786 * tb-gcc.c (trace_callback): On IA-64/HP-UX, use workaround only
2787 if USE_LIBUNWIND_EXCEPTIONS is defined.
2788 * init.c: Further tweaks for IA-64/HP-UX.
2789
2790 2012-07-12 Tristan Gingold <gingold@adacore.com>
2791
2792 * raise-gcc.c: Do not include unwind-dw2-fde.h. Adjust comments.
2793 (db_region_for): Second argument is ip. Do not recompute ip.
2794 (action_kind): Remove typedef, add unhandler enum const.
2795 (action_descriptor): Adjust type of kind field.
2796 (db_action_for): Second argument is ip, do not recompute it.
2797 (get_call_site_action_for): First argument is call_site, do not
2798 recompute it. Remove useless return.
2799 (is_handled_by): Now return enum action_kind.
2800 Handle GNAT_ALL_OTHERS first.
2801 Return unhandler for GNAT_UNHANDLED_OTHERS.
2802 (get_action_description_for): First argument is now ip, do not
2803 recompute it. Adjust code for call to is_handled_by.
2804 (__gnat_notify_unhandled_exception): Add prototype.
2805 (PERSONALITY_FUNCTION): Call get_ip_from_context. Adjust calls.
2806 Handle unhandler case.
2807 (__gnat_cleanupunwind_handler): Add comments, add
2808 ATTRIBUTE_UNUSED on arguments.
2809 (__gnat_Unwind_RaiseException, __gnat_Unwind_ForcedUnwind): Define
2810 only once.
2811 * raise.h: Makes struct Exception_Data opaque.
2812
2813 2012-07-12 Robert Dewar <dewar@adacore.com>
2814
2815 * make.adb, sem_ch9.adb, prj.adb, s-rident.ads, snames.ads-tmpl: Minor
2816 reformatting.
2817
2818 2012-07-12 Javier Miranda <miranda@adacore.com>
2819
2820 * exp_ch3.adb (Is_User_Defined_Equality): New subprogram.
2821 (Make_Neq_Body): New subprogram.
2822 (Make_Predefined_Primitive_Specs): Adding local variable
2823 Has_Predef_Eq_ Renaming to ensure that we enable the machinery
2824 which handles renamings of predefined primitive operators.
2825
2826 2012-07-09 Pascal Obry <obry@adacore.com>
2827
2828 * prj.adb (For_Every_Project_Imported_Context): Make sure we
2829 callback with the project having sources.
2830 Minor reformatting.
2831
2832 2012-07-09 Eric Botcazou <ebotcazou@adacore.com>
2833
2834 * make.adb: Fix typo.
2835
2836 2012-07-09 Vincent Pucci <pucci@adacore.com>
2837
2838 * sem_ch9.adb (Check_Node): Allow attributes
2839 that denote static function for lock-free implementation.
2840 (Is_Static_Function): New routine.
2841
2842 2012-07-09 Tristan Gingold <gingold@adacore.com>
2843
2844 * tracebak.c: Adjust skip_frames on Win64.
2845
2846 2012-07-09 Tristan Gingold <gingold@adacore.com>
2847
2848 * init.c: Add __gnat_adjust_context_for_raise for ia64/hpux.
2849 * raise-gcc.c: __gnat_cleanupunwind_handler: Do not call
2850 _Unwind_GetGR on hpux when using libgcc unwinder. Part of
2851
2852 2012-07-09 Vincent Pucci <pucci@adacore.com>
2853
2854 * exp_attr.adb, sem_attr.adb: Minor reformatting.
2855 * par-ch13.adb, par-ch4.adb, par-util.adb: Reformatting
2856 considering that internal attribute names are not defined anymore
2857 in the main attribute names list.
2858 * snames.adb-tmpl (Get_Attribute_Id): Special processinf
2859 for names CPU, Dispatching_Domain and Interrupt_Priority.
2860 (Is_Internal_Attribute_Name): Minor reformatting.
2861 * snames.ads-tmpl: New list of internal attribute names. Internal
2862 attributes moved at the end of the attribute Id list.
2863
2864 2012-07-09 Robert Dewar <dewar@adacore.com>
2865
2866 * freeze.adb: Minor code reorganization (use Ekind_In).
2867 * exp_attr.adb, sem_ch9.adb par-ch4.adb, s-taprop-mingw.adb,
2868 sem_attr.adb, exp_ch8.adb, snames.adb-tmpl, par-util.adb,
2869 sem_ch13.adb, snames.ads-tmpl: Minor reformatting.
2870
2871 2012-07-09 Tristan Gingold <gingold@adacore.com>
2872
2873 * raise-gcc.c: Adjust previous patch.
2874
2875 2012-07-09 Vincent Celier <celier@adacore.com>
2876
2877 * make.adb (Compilation_Phase): Do not build libraries in
2878 Codepeer mode (do not call Library_Phase).
2879
2880 2012-07-09 Ed Schonberg <schonberg@adacore.com>
2881
2882 * sem_ch13.adb: Extend previous change to elementary types.
2883
2884 2012-07-09 Javier Miranda <miranda@adacore.com>
2885
2886 * exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Reverse
2887 previous patch since unconditionally handling as renaming_as_body
2888 renamings of predefined dispatching equality and unequality operator
2889 cause visibility problems with private overridings of the equality
2890 operator (see ACATS C854001).
2891
2892 2012-07-09 Vincent Pucci <pucci@adacore.com>
2893
2894 * exp_attr.adb (Signal_Bad_Attribute): Raise Program_Error in
2895 case of internal attribute names (already rejected by the parser).
2896 * par-ch13.adb (P_Representation_Clause): Complain if an internal
2897 attribute name that comes from source occurs.
2898 * par-ch4.adb (P_Name): Complain if an internal attribute name
2899 occurs in the context of an attribute reference.
2900 * par-util.adb (Signal_Bad_Attribute): Don't complain about
2901 mispelling attribute with internal attributes.
2902 * sem_attr.adb (Analyze_Attribute): Raise Program_Error in case
2903 of internal attribute names (already rejected by the parser).
2904 * snames.adb-tmpl (Is_Internal_Attribute_Name): New routine.
2905 * snames.ads-tmpl: Attributes CPU, Dispatching_Domain and
2906 Interrupt_Priority are marked as INT attributes since they
2907 don't denote real attribute and are only used internally in
2908 the compiler.
2909 (Is_Internal_Attribute_Name): New routine.
2910
2911 2012-07-09 Thomas Quinot <quinot@adacore.com>
2912
2913 * einfo.adb (Set_Reverse_Storage_Order): Update assertion,
2914 flag is now valid for array types as well.
2915
2916 2012-07-09 Tristan Gingold <gingold@adacore.com>
2917
2918 * tracebak.c: Implement __gnat_backtrace for Win64 SEH.
2919
2920 2012-07-09 Robert Dewar <dewar@adacore.com>
2921
2922 * einfo.ads: Minor reformatting.
2923
2924 2012-07-09 Javier Miranda <miranda@adacore.com>
2925
2926 * exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Handle as
2927 renaming_as_body renamings of predefined dispatching equality
2928 and unequality operators.
2929
2930 2012-07-09 Robert Dewar <dewar@adacore.com>
2931
2932 * rident.ads: Do not instantiate r-ident.ads, this is now an
2933 independent unit.
2934
2935 2012-07-09 Javier Miranda <miranda@adacore.com>
2936
2937 * exp_disp.adb (Write_DT): Avoid runtime crash of this debugging
2938 routine.
2939 * sem_disp.adb (Find_Dispatching_Time): Protect this routine
2940 against partially decorated entities.
2941
2942 2012-07-09 Ed Schonberg <schonberg@adacore.com>
2943
2944 * sem_ch13.adb (Check_Size): Reject a size clause that specifies
2945 a value greater than Int'Last for a scalar type.
2946
2947 2012-07-09 Vincent Pucci <pucci@adacore.com>
2948
2949 * sem_ch9.adb (Allows_Lock_Free_Implementation): type must support
2950 atomic operation moved to the protected body case. No non-elementary
2951 out parameter moved to the protected declaration case. Functions have
2952 only one lock-free restriction.
2953 (Analyze_Protected_Type_Declaration): Issue a warning when
2954 Priority given with Lock_Free.
2955
2956 2012-07-09 Vincent Pucci <pucci@adacore.com>
2957
2958 * sem_dim.adb: Grammar of aspect Dimension fixed.
2959
2960 2012-07-09 Vincent Pucci <pucci@adacore.com>
2961
2962 * freeze.adb (Freeze_Record_Type): Code reorg in order to avoid
2963 pushing and popping the scope stack whenever a delayed aspect occurs.
2964
2965 2012-07-09 Gary Dismukes <dismukes@adacore.com>
2966
2967 * s-os_lib.ads: Remove pragma Elaborate_Body, as
2968 this is now unnecessary due to recently added pragma Preelaborate.
2969
2970 2012-07-09 Jose Ruiz <ruiz@adacore.com>
2971
2972 * s-taprop-mingw.adb (Set_Priority): Remove the code that was
2973 previously in place to reorder the ready queue when a task drops
2974 its priority due to the loss of inherited priority.
2975
2976 2012-07-09 Robert Dewar <dewar@adacore.com>
2977
2978 * layout.adb, i-cstrea.ads, a-ststio.ads, prj-util.ads, sem_cat.adb,
2979 s-commun.ads, s-ficobl.ads, s-os_lib.ads, s-fileio.ads: Minor
2980 reformatting.
2981
2982 2012-07-09 Eric Botcazou <ebotcazou@adacore.com>
2983
2984 * raise-gcc.c: Update comments. Fix typo.
2985
2986 2012-07-09 Thomas Quinot <quinot@adacore.com>
2987
2988 * einfo.adb, einfo.ads, sem_attr.adb, sem_ch13.adb: Attribute
2989 Scalar_Storage_Order can be defined or queried for array types as well
2990 as record types.
2991
2992 2012-07-09 Tristan Gingold <gingold@adacore.com>
2993
2994 * a-exexpr-gcc.adb (CleanupUnwind_Handler): Now imported from
2995 raise-gcc.c
2996 * raise-gcc.c (__gnat_cleanupunwind_handler): Defined.
2997 Strictly follow the ABI convention on ia64.
2998
2999 2012-07-09 Gary Dismukes <dismukes@adacore.com>
3000
3001 * a-ststio.ads: Add pragma Preelaborate, per AI05-0283.
3002 * i-cstrea.ads (max_path_len): Change from variable to deferred
3003 constant to allow it to be used as a bound in string component
3004 in type System.File_IO.Temp_File_Record.
3005 * s-os_lib.ads, s-commun.ads, s-ficobl.ads, s-fileio.ads: Add pragma
3006 Preelaborate.
3007 * s-fileio.adb (Get_Case_Sensitive): Move function inside
3008 procedure Open.
3009 (File_Names_Case_Sensitive): Move variable inside
3010 procedure Open, to avoid violation of Preelaborate restriction
3011 (due to call to Get_Case_Sensitive).
3012
3013 2012-07-09 Ed Schonberg <schonberg@adacore.com>
3014
3015 * layout.adb (Set_Elem_Alignment): Protect against meaningless
3016 size clause, to prevent overflow in internal computation of
3017 alignment.
3018
3019 2012-07-09 Robert Dewar <dewar@adacore.com>
3020
3021 * freeze.adb, prj-util.adb, prj-util.ads, sem_ch13.adb: Minor
3022 reformatting.
3023
3024 2012-07-09 Gary Dismukes <dismukes@adacore.com>
3025
3026 * sem_cat.adb (Check_Categorization_Dependencies):
3027 Allow dependence of both Remote_Types and Remote_Call_Interface
3028 declarations (not just Remote_Types units) on preelaborated
3029 units, but require that the dependence be made via a private
3030 with_clause. Issue a specialized error message.
3031
3032 2012-07-09 Pascal Obry <obry@adacore.com>
3033
3034 * prj-util.adb, prj-util.ads (For_Interface_Sources): New routine.
3035
3036 2012-07-09 Tristan Gingold <gingold@adacore.com>
3037
3038 * seh_init.c (__gnat_SEH_error_handler): On Win64 and SEH,
3039 return for unknown exceptions.
3040 * raise-gcc.c (__gnat_personality_seh0): Call __gnat_SEH_error_handler.
3041
3042 2012-07-09 Joel Brobecker <brobecker@adacore.com brobecker>
3043
3044 * exp_dbug.ads (No_Dollar_In_Label): Delete.
3045
3046 2012-07-09 Vincent Pucci <pucci@adacore.com>
3047
3048 * sem_ch13.adb (Check_Overloaded_Name): New routine.
3049
3050 2012-07-09 Vincent Pucci <pucci@adacore.com>
3051
3052 * freeze.adb (Freeze_Record_Type): Analyze the delayed aspects of the
3053 components in a record type.
3054
3055 2012-07-09 Pascal Obry <obry@adacore.com>
3056
3057 * prj-util.ads: Minor reformatting.
3058
3059 2012-07-09 Tristan Gingold <gingold@adacore.com>
3060
3061 * raise-gcc.c (db_indent): Simplify style, improve comments.
3062 Remove !IN_RTS part (dead).
3063
3064 2012-07-09 Robert Dewar <dewar@adacore.com>
3065
3066 * usage.adb: Minor change to format of -gnatn line.
3067
3068 2012-07-09 Tristan Gingold <gingold@adacore.com>
3069
3070 * a-exexpr-gcc.adb: Reorder routine.
3071
3072 2012-07-09 Vincent Celier <celier@adacore.com>
3073
3074 * lib-writ.ads: Add documentation for the Z lines (implicitly
3075 withed units) and Y lines (limited withed units).
3076
3077 2012-07-09 Robert Dewar <dewar@adacore.com>
3078
3079 * lib.ads, exp_attr.adb, exp_ch9.adb, sem_dim.adb, sem_ch9.adb,
3080 sem_prag.adb, sem_ch12.adb, mlib-utl.adb, freeze.adb, sem_res.adb,
3081 sem_attr.adb, sem_case.adb, gnatlink.adb, exp_ch4.adb, sem_ch6.adb,
3082 sem_elim.adb, s-dimmks.ads, sem_ch13.adb: Minor code clean ups.
3083
3084 2012-07-09 Eric Botcazou <ebotcazou@adacore.com>
3085
3086 * gnat_ugn.texi (Switches for gcc): Document -gnatn[12] only
3087 lightly in the summary and more thoroughly in inlining section.
3088 (Performance Considerations): Document -gnatn[12] in inlining
3089 section.
3090
3091 2012-07-09 Tristan Gingold <gingold@adacore.com>
3092
3093 * a-exexpr-gcc.adb (Unhandled_Except_Handler): New procedure.
3094 (Unhandled_Others_Value): New const.
3095 * raise-gcc.c (GNAT_UNHANDLED_OTHERS): Define.
3096 (action_descriptor): Remove ttype_entry.
3097 (get_action_description_for): Do not assign ttype_entry.
3098 (is_handled_by): Consider GNAT_UNHANDLED_OTHERS.
3099
3100 2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
3101
3102 * gcc-interface/trans.c (Call_to_gnu): Robustify test for function case
3103 if the CICO mechanism is used.
3104
3105 2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
3106
3107 * gcc-interface/utils2.c (build_simple_component_ref): Do not look
3108 through an extension if the type contains a placeholder.
3109
3110 2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
3111
3112 * exp_disp.adb (Expand_Dispatching_Call): Propagate the convention on
3113 the designated subprogram type and also set Is_Dispatch_Table_Entity.
3114 (Expand_Interface_Thunk): Propagate the convention on the thunk.
3115 (Set_CPP_Constructors_Old): Set Is_Constructor and Convention_CPP on
3116 the internal view of the constructors.
3117 (Set_CPP_Constructors): Likewise.
3118 * sem_prag.adb (Analyze_Pragma) <Pragma_CPP_Constructor>: Set the
3119 convention on the function.
3120 * gcc-interface/gigi.h (is_cplusplus_method): Declare.
3121 * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
3122 (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the `thiscall'
3123 calling convention
3124 (get_minimal_subprog_decl): Likewise.
3125 (is_cplusplus_method): New predicate.
3126 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Issue an
3127 error on access to C++ constructor or member function.
3128
3129 2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
3130
3131 * gcc-interface/utils.c (gnat_pushdecl): Set TYPE_CONTEXT for types
3132 attached to a TYPE_DECL.
3133
3134 2012-06-26 Vincent Pucci <pucci@adacore.com>
3135
3136 * exp_ch3.adb (Build_Init_Statements): Don't check the parents
3137 in the Rep Item Chain of the task for aspects Interrupt_Priority,
3138 Priority, CPU and Dispatching_Domain.
3139 * exp_ch9.adb (Expand_N_Task_Type_Declaration): fields _Priority,
3140 _CPU and _Domain are present in the corresponding record type
3141 only if the task entity has a pragma, attribute definition
3142 clause or aspect specification.
3143 (Make_Initialize_Protection): Don't check the parents in the Rep Item
3144 Chain of the task for aspects Interrupt_Priority, Priority, CPU and
3145 Dispatching_Domain.
3146 * freeze.adb (Freeze_Entity): Use of Evaluate_Aspects_At_Freeze_Point
3147 call replaced by Analyze_Aspects_At_Freeze_Point.
3148 * sem_ch13.adb, sem_ch13.ads (Analyze_Aspects_At_Freeze_Point):
3149 Renaming of Evaluate_Aspects_At_Freeze_Point.
3150
3151 2012-06-26 Yannick Moy <moy@adacore.com>
3152
3153 * sem_attr.adb (Analyze_Attribute): Detect if 'Old is used outside a
3154 postcondition, and issue an error in such a case.
3155
3156 2012-06-26 Yannick Moy <moy@adacore.com>
3157
3158 * gnat_rm.texi: Minor editing.
3159
3160 2012-06-26 Tristan Gingold <gingold@adacore.com>
3161
3162 * raise-gcc.c: Minor cleanup: remove unused prototype.
3163 * seh_init.c: Do not create an image wide unwind info to catch
3164 SEH when SEH unwind info are emitted by the compiler.
3165
3166 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
3167
3168 * gcc-interface/trans.c: Include target.h.
3169 (gigi): Try to put out .ident with targetm.asm_out.output_ident.
3170 Remove uses of ASM_OUTPUT_IDENT.
3171 * gcc-interface/Make-lang.in: Fix dependencies.
3172
3173 2012-06-15 Eric Botcazou <ebotcazou@adacore.com>
3174
3175 PR ada/53592
3176 * gcc-interface/gigi.h (maybe_vector_array): Make static inline.
3177 * gcc-interface/utils.c (maybe_vector_array): Delete.
3178 * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Mark the
3179 array object as addressable if it has vector type and is on the LHS.
3180
3181 2012-06-15 Eric Botcazou <ebotcazou@adacore.com>
3182
3183 PR middle-end/53590
3184 * gcc-interface/misc.c (gnat_init_options_struct): Set
3185 opts->x_flag_delete_dead_exceptions to 1.
3186
3187 2012-06-14 Jose Ruiz <ruiz@adacore.com>
3188
3189 * gcc-interface/Make-lang.in (ada.install-common, ada.uninstall):
3190 Use the prefix specified with the --program-prefix configure option
3191 to determine the install name of the Ada tools.
3192 (ada.all.cross): Use a for loop to iterate over the set of Ada tools
3193 instead of duplicate the same processing.
3194 Update dependencies.
3195
3196 2012-06-14 Vincent Pucci <pucci@adacore.com>
3197
3198 * exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_Symbol
3199 call replaced by Expand_Put_Call_With_Symbol call.
3200 * sem_dim.adb: New fields Unit_Names, Unit_Symbols
3201 and Dim_Symbols for record type System_Type.
3202 (From_Dimension_To_String_Of_Symbols): Removed.
3203 (From_Dim_To_Str_Of_Dim_Symbols): Renames previous
3204 routine From_Dimension_To_String_Of_Symbols.
3205 (From_Dim_To_Str_Of_Unit_Symbols): New routine.
3206 (Analyze_Aspect_Dimension): argument Symbol in aspect
3207 Dimension aggregate is optional. Named association implemented.
3208 (Has_Compile_Time_Known_Expressions): Removed.
3209 (Analyze_Aspect_Dimension_System): New
3210 component Dim_Symbol in each Dimension aggregate in
3211 aspect Dimension_System. Named associations implemented.
3212 (Add_Dimension_Vector_To_Buffer): Removed.
3213 (Add_Whole_To_Buffer): Removed.
3214 (Expand_Put_Call_With_Dimension_Symbol.): Removed.
3215 (Expand_Put_Call_With_Symbol): Renames previous routine
3216 Expand_Put_Call_With_Dimension_Symbol.
3217 (Has_Dimension_Symbols): Removed.
3218 (Has_Symbols): Renames previous routine
3219 Has_Dimension_Symbols. (Store_String_Oexpon): New routine.
3220 * sem_dim.ads (Expand_Put_Call_With_Dimension_Symbol.): Removed.
3221 (Expand_Put_Call_With_Symbol): Renames previous routine
3222 Expand_Put_Call_With_Dimension_Symbol.
3223 * s-diflio.adb, s-diinio.adb (Put): Symbol renames Symbols.
3224 (Put_Dim_Of): New routines.
3225 * s-diflio.ads, s-diinio.ads: documentation updated.
3226 (Put): Symbol renames Symbols.
3227 (Put_Dim_Of): New routines.
3228 * s-dim.ads: documentation updated.
3229 * s-dimmks.ads: dimensioned type and subtypes updated.
3230 * snames.ads-tmpl: Name_Dim_Symbol, Name_Put_Dim_Of, Name_Symbol,
3231 and Name_Unit_Symbol added. Name_Symbols removed.
3232
3233 2012-06-14 Vincent Pucci <pucci@adacore.com>
3234
3235 * freeze.adb (In_Exp_Body): Expression function case added.
3236 (Freeze_Expression): Insert the Freeze_Nodes
3237 list before the correct current scope in case of a quantified
3238 expression.
3239
3240 2012-06-14 Pascal Obry <obry@adacore.com>
3241
3242 * projects.texi: Document the Install package for gprinstall.
3243 2012-06-14 Ed Schonberg <schonberg@adacore.com>
3244
3245 * sem_elim.adb (Check_For_Eliminated_Subprogram): Do not check within
3246 a default expression.
3247 * sem_res.adb (Resolve_Call): simplify code.
3248
3249 2012-06-14 Ed Schonberg <schonberg@adacore.com>
3250
3251 * sem_case.adb (Check, Issue_Msg): within an instance, non-other
3252 values in a variant part or a case expression do not have to
3253 belong to the actual subtype.
3254
3255 2012-06-14 Ed Schonberg <schonberg@adacore.com>
3256
3257 * sem_ch12.adb (Validate_Derived_Type_Instance): If parent is
3258 an interface type, check whether it is itself a previous formal
3259 already instantiated in the current list of actuals.
3260
3261 2012-06-14 Ed Schonberg <schonberg@adacore.com>
3262
3263 * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): The
3264 expression for a stream attribute is a name that may be overloaded
3265 with other declarations. To determine whether it matches the
3266 aspect at the freeze point, it is necessary to verify that one
3267 of its interpretations matches.
3268
3269 2012-06-14 Robert Dewar <dewar@adacore.com>
3270
3271 * exp_ch7.adb, exp_util.adb, sem_aux.ads, exp_ch9.adb,
3272 sem_ch10.adb, freeze.adb, sem_util.adb, exp_ch4.adb,
3273 s-taprop-dummy.adb: Minor reformatting.
3274
3275 2012-06-14 Vincent Pucci <pucci@adacore.com>
3276
3277 * exp_attr.adb (Expand_N_Attribute_Reference): Lock_Free
3278 attribute case added.
3279 * par-prag.adb (Prag): Lock_Free pragma case added.
3280 * sem_attr.adb (Analyze_Attribute_Reference): Lock_Free attribute
3281 case added.
3282 * sem_ch13.adb (Analyze_Aspect_Specifications): Record_Rep_Item
3283 call added for Aspect_Lock_Free.
3284 * sem_ch9.adb (Allows_Lock_Free_Implementation): New Lock_Free
3285 error messages for subprogram bodies.
3286 (Lock_Free_Disabled): New routine.
3287 (Analyze_Protected_Body): Call to Lock_Free_Disabled added.
3288 * sem_prag.adb (Analyze_Pragma): Lock_Free pragma case added.
3289 * snames.adb-tmpl (Get_Pragma_Id): Name_Lock_Free case added.
3290 (Is_Pragma_Name): Name_Lock_Free case added.
3291 * snames.ads-tmpl: Attribute_Lock_Free and Pragma_Lock_Free added.
3292
3293 2012-06-14 Ed Schonberg <schonberg@adacore.com>
3294
3295 * a-coorma.adb, a-cborma.adb, a-cbhama.adb, a-ciorma.adb: Add missing
3296 aliased keyword.
3297
3298 2012-06-14 Bob Duff <duff@adacore.com>
3299
3300 * lib.ads, lib.adb, sem.adb (Write_Unit_Info): Move this
3301 procedure from Sem body to Lib spec, so it can be used for
3302 debugging elsewhere.
3303
3304 2012-06-14 Ed Schonberg <schonberg@adacore.com>
3305
3306 * sem_ch6.adb (Check_Conformance): Add Ada 2012 check on mode
3307 conformance: "aliased" must apply to both or neither formal
3308 parameters.
3309
3310 2012-06-14 Gary Dismukes <dismukes@adacore.com>
3311
3312 * exp_ch9.adb: Minor reformatting.
3313
3314 2012-06-14 Thomas Quinot <quinot@adacore.com>
3315
3316 * freeze.adb (Freeze_Record_Type): Warn about useless bit order
3317 specification [when there's no component clause] regardless
3318 of whether the specified bit order is reversed or not.
3319
3320 2012-06-14 Tristan Gingold <gingold@adacore.com>
3321
3322 * raise-gcc.c (__gnat_personality_seh0): New function.
3323
3324 2012-06-14 Tristan Gingold <gingold@adacore.com>
3325
3326 * gnatname.adb (Gnatname): Make sure that dynamic table
3327 argument_data is initialized.
3328
3329 2012-06-14 Robert Dewar <dewar@adacore.com>
3330
3331 * sem_aux.adb: Minor code reorganization.
3332
3333 2012-06-14 Vincent Pucci <pucci@adacore.com>
3334
3335 * einfo.adb einfo.ads (Get_Rep_Item): Removed.
3336 (Get_Rep_Item_For_Entity): Removed.
3337 (Get_Rep_Pragma): Removed.
3338 (Get_Rep_Pragma_For_Entity): Removed.
3339 (Has_Rep_Item): Removed.
3340 (Has_Rep_Pragma): Removed.
3341 (Has_Rep_Pragma_For_Entity): Removed.
3342 * exp_ch9.adb (Expand_N_Task_Type_Declaration):
3343 Has_Rep_Pragma_For_Entity replaced by Has_Rep_Pragma
3344 and Get_Rep_Pragma_For_Entity replaced by Get_Rep_Pragma.
3345 (Make_Task_Create_Call): Has_Rep_Pragma_For_Entity replaced
3346 by Has_Rep_Pragma and Get_Rep_Pragma_For_Entity replaced by
3347 Get_Rep_Pragma.
3348 * exp_intr.adb: Dependency to Sem_Aux added for call to Get_Rep_Pragma.
3349 * sem_aux.adb (Get_Rep_Item): New routine.
3350 (Get_Rep_Pragma): New routine.
3351 (Has_Rep_Item): New routine.
3352 (Has_Rep_Pragma): New routine.
3353 (Nearest_Ancestor): Minor reformatting.
3354 * sem_aux.ads (Get_Rep_Item): New routine.
3355 (Get_Rep_Pragma): New routine.
3356 (Has_Rep_Item): New routine.
3357 (Has_Rep_Pragma): New routine.
3358 * sem_ch13.adb (Duplicate_Clause): Restore original error messages.
3359 * sem_eval.adb (Subtypes_Statically_Match): Get_Rep_Item_For_Entity
3360 replaced by Get_Rep_Item.
3361 * sem_prag.adb (Analyze_Pragma): Restore original error messages.
3362 (Check_Duplicate_Pragma): Restore original error messages.
3363
3364 2012-06-14 Ed Schonberg <schonberg@adacore.com>
3365
3366 * sem_util.adb (Is_Object_Reference): in Ada 2012, qualified
3367 expressions are valid names.
3368
3369 2012-06-14 Ed Schonberg <schonberg@adacore.com>
3370
3371 * sem_ch10.adb (Analyze_Compilation_Unit): If the unit is an
3372 instantiation do not emit warnings for obsolescent units. The
3373 warnings belong on the corresponding generic.
3374
3375 2012-06-14 Hristian Kirtchev <kirtchev@adacore.com>
3376
3377 * einfo.adb: Update the usage of Node15.
3378 (Return_Flag_Or_Transient_Decl): Removed.
3379 (Set_Return_Flag_Or_Transient_Decl): Removed.
3380 (Set_Status_Flag_Or_Transient_Decl): New routine.
3381 (Status_Flag_Or_Transient_Decl): New routine.
3382 (Write_Field15_Name): Update the output for variables and constants.
3383 * einfo.ads: Remove attribute
3384 Return_Flag_Or_Transient_Decl along with occurrences in nodes.
3385 (Return_Flag_Or_Transient_Decl): Removed along with pragma Inline.
3386 (Set_Return_Flag_Or_Transient_Decl): Removed along with pragma Inline.
3387 (Set_Status_Flag_Or_Transient_Decl): New routine along with pragma
3388 Inline.
3389 (Status_Flag_Or_Transient_Decl): New routine along with pragma Inline.
3390 * exp_ch4.adb (Create_Alternative): New routine.
3391 (Expand_N_Conditional_Expression): Handle the case
3392 where at least one of the conditional expression
3393 alternatives prodices a controlled temporary by means of a function
3394 call.
3395 (Is_Controlled_Function_Call): New routine.
3396 (Process_Transient_Object): Update the call to
3397 Set_Return_Flag_Or_Transient_Decl.
3398 * exp_ch6.adb (Enclosing_Context): New routine.
3399 (Expand_N_Extended_Return_Statement): Update all calls to
3400 Set_Return_Flag_Or_Transient_Decl.
3401 (Expand_Ctrl_Function_Call): Prohibit the finalization of a controlled
3402 function result when the context is a conditional expression.
3403 * exp_ch7.adb (Process_Declarations): Update all calls to
3404 Return_Flag_Or_Transient_Decl. Add processing for intermediate
3405 results of conditional expressions where one of the alternatives
3406 uses a controlled function call.
3407 (Process_Object_Declaration): Update all calls to
3408 Return_Flag_Or_Transient_Decl and rearrange the logic to process
3409 "hook" objects first.
3410 (Process_Transient_Objects): Update the call to
3411 Set_Return_Flag_Or_Transient_Decl.
3412 * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean,
3413 Boolean)): Update all calls to Return_Flag_Or_Transient_Decl. Add
3414 detection for intermediate results of conditional expressions
3415 where one of the alternatives uses a controlled function call.
3416
3417 2012-06-13 Eric Botcazou <ebotcazou@adacore.com>
3418
3419 Revert
3420 2012-05-19 Eric Botcazou <ebotcazou@adacore.com>
3421
3422 * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
3423 (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
3424 calling convention
3425 (get_minimal_subprog_decl): Likewise.
3426 (gnat_first_param_is_class): New predicate.
3427
3428 2012-06-12 Robert Dewar <dewar@adacore.com>
3429
3430 * gcc-interface/Make-lang.in: Update dependencies.
3431 * sem_ch9.ads, einfo.adb, einfo.ads, sem_prag.adb, freeze.adb,
3432 sem_util.adb, sem_ch13.adb, sem_ch13.ads, exp_ch3.adb: Add comments.
3433 Minor reformatting.
3434
3435 2012-06-12 Ed Schonberg <schonberg@adacore.com>
3436
3437 * sem_ch12.adb (Instantiate_Formal_Subprogram): Remove code that
3438 implements AI05-0296, because the actual may be overloaded.
3439 * sem_ch8.adb (Analyze_Subprogram_Renaming): and move it here,
3440 to be applied once the actual subprogram is properly resolved.
3441
3442 2012-06-12 Robert Dewar <dewar@adacore.com>
3443
3444 * switch-c.adb, a-exexpr-gcc.adb: Minor reformatting.
3445
3446 2012-06-12 Vincent Pucci <pucci@adacore.com>
3447
3448 * checks.adb (Tag_Checks_Suppressed): Remove Kill_Tag_Checks check.
3449 * einfo.adb (Universal_Aliasing): Apply to the implementation
3450 base type instead of the base type.
3451 (Get_Rep_Item_For_Entity):
3452 Return a pragma if the pragma node is not present in the Rep
3453 Item chain of the parent.
3454 (Kill_Tag_Checks): Removed (unused flag).
3455 (Set_Kill_Tag_Checks): Removed.
3456 (Get_First_Rep_Item): New routine.
3457 (Get_Rep_Pragma_For_Entity): New routine.
3458 (Has_Rep_Item): New routine.
3459 (Has_Rep_Pragma_For_Entity): New routine.
3460 (Present_In_Rep_Item): New routine.
3461 * einfo.ads (Kill_Tag_Checks): Removed.
3462 (Set_Kill_Tag_Checks): Removed.
3463 (Get_First_Rep_Item): New routine.
3464 (Get_Rep_Pragma_For_Entity): New routine.
3465 (Has_Rep_Item): New routine.
3466 (Has_Rep_Pragma_For_Entity): New routine.
3467 (Present_In_Rep_Item): New routine.
3468 * exp_attr.adb, sem_attr.adb: Attribute_CPU,
3469 Attribute_Dispatching_Domain and Attribute_Interrupt_Priority
3470 case added.
3471 * exp_ch13.adb (Expand_N_Attribute_Definition_Clause): For
3472 attribute Storage_Size, insert the new assignement statement
3473 after the Size variable declaration.
3474 * exp_ch3.adb (Build_Init_Statements): Fill the CPU,
3475 Dispatching_Domain, Priority and Size components with the Rep
3476 Item expression (if any).
3477 * exp_ch9.adb (Expand_N_Task_Type_Declaration): _CPU,
3478 _Priority, _Domain fields are always present in the
3479 corresponding record type.
3480 (Find_Task_Or_Protected_Pragma): Removed.
3481 (Get_Relative_Deadline_Pragma): New routine.
3482 (Make_Initialize_Protection): Find_Task_Or_Protected_Pragma removed.
3483 (Make_Task_Create_Call): Check CPU, Size or
3484 Dispatching_Domain Rep Item is present using new routine Has_Rep_Item.
3485 * freeze.adb (Freeze_All): Push_Scope_And_Install_Discriminants
3486 and Uninstall_Discriminants_And_Pop_Scope calls added.
3487 (Freeze_Entity): Evaluate_Aspects_At_Freeze_Point call added.
3488 * sem_aux.adb (Nearest_Ancestor): Retrieve the nearest ancestor
3489 for private derived types.
3490 * sem_ch13.adb (Analyze_Aspect_Specifications): Clean-up
3491 and reordering. Delay analysis for all aspects (except some
3492 peculiar cases).
3493 (Analyze_Attribute_Definition_Clause):
3494 Attribute_CPU, Attribute_Dispatching_Domain,
3495 Interrupt_Priority and Attribute_Priority cases added.
3496 (Analyze_Freeze_Entity): Push_Scope_And_Install_Discriminants
3497 and Uninstall_Discriminants_And_Pop_Scope calls added.
3498 (Check_Aspect_At_Freeze_Point): Reordering and clean-up.
3499 (Duplicate_Clause): Issue an explicit error msg when the current
3500 clause duplicates an aspect specification, an attribute definition
3501 clause or a pragma.
3502 (Evaluate_Aspects_At_Freeze_Point): New routine.
3503 * sem_ch13.ads (Evaluate_Aspects_At_Freeze_Point): New routine.
3504 * sem_ch9.adb, sem_ch9.ads (Install_Discriminants): New routine.
3505 (Push_Scope_And_Install_Discriminants): New routine.
3506 (Uninstall_Discriminants): New routine.
3507 (Uninstall_Discriminants_And_Pop_Scope): New routine.
3508 * sem_prag.adb (Check_Duplicate_Pragma): Issue an explicit error
3509 msg when the current pragma duplicates an aspect specification,
3510 an attribute definition clause or a pragma.
3511 (Analyze_Pragma): Remove use of flags Has_Pragma_CPU,
3512 Has_Pragma_Priority and Has_Pragma_Dispatching_Domain.
3513 * sem_util.adb (Compile_Time_Constraint_Error): Don't complain
3514 about the type if the corresponding concurrent type doesn't come
3515 from source.
3516 * sinfo.adb, sinfo.ads (Has_Pragma_CPU): Removed.
3517 (Has_Pragma_Dispatching_Domain): Removed.
3518 (Has_Pragma_Priority): Removed.
3519 (Has_Task_Info_Pragma): Removed.
3520 (Has_Task_Name_Pragma): Removed.
3521 (Set_Has_Pragma_CPU): Removed.
3522 (Set_Has_Pragma_Dispatching_Domain): Removed.
3523 (Set_Has_Pragma_Priority): Removed.
3524 (Set_Has_Task_Info_Pragma): Removed.
3525 (Set_Has_Task_Name_Pragma): Removed.
3526 * snames.adb-tmpl (Get_Pragma_Id): Pragma_CPU,
3527 Pragma_Dispatching_Domain and Pragma_Interrupt_Priority added.
3528 (Is_Pragma_Name): Name_CPU, Name_Dispatching_Domain and
3529 Name_Interrupt_Priority added.
3530 * snames.ads-tmpl: Name_Dispatching_Domain, Name_CPU
3531 and Name_Interrupt_Priority moved to the list of
3532 Attribute_Name. Attribute_CPU, Attribute_Dispatching_Domain and
3533 Attribute_Interrupt_Priority added. Pragma_Dispatching_Domain,
3534 Pragma_CPU and Pragma_Interrupt_Priority moved to the end of
3535 the Pragma_Name list.
3536
3537 2012-06-12 Arnaud Charlet <charlet@adacore.com>
3538
3539 * xref_lib.adb (Get_Full_Type): Add support for 'G'.
3540
3541 2012-06-12 Tristan Gingold <gingold@adacore.com>
3542
3543 * a-exexpr-gcc.adb (Unwind_Exception): Add 4 more private fields.
3544
3545 2012-06-12 Fedor Rybin <frybin@adacore.com>
3546
3547 * gnat_ugn.texi: Update doc on gnattest.
3548
3549 2012-06-12 Robert Dewar <dewar@adacore.com>
3550
3551 * sem_ch12.adb: Add comments.
3552
3553 2012-06-12 Robert Dewar <dewar@adacore.com>
3554
3555 * switch-c.adb, inline.adb, usage.adb, opt.ads: Minor reformatting.
3556
3557 2012-06-12 Robert Dewar <dewar@adacore.com>
3558
3559 * sem_ch12.adb: Minor reformatting.
3560
3561 2012-06-12 Eric Botcazou <ebotcazou@adacore.com>
3562
3563 * opt.ads (Inline_Level): New variable.
3564 * gnat1drv.adb (Adjust_Global_Switches): Set it based on optimization
3565 level if it has not been set by the user.
3566 * switch-c.adb (Scan_Front_End_Switches): Accept -gnatn1 and -gnatn2
3567 and set Inline_Level accordingly.
3568 * inline.adb (Add_Inlined_Body): Declate new Inline_Level_Type type.
3569 (Must_Inline): Return Inline_Level_T instead of Boolean to indicate
3570 whether the package of the inlined subprogram must be compiled.
3571 If Inline_Level is set to 1, only compile packages of subprograms
3572 directly called from the main unit.
3573 * usage.adb (Usage): Adjust line for -gnatn switch.
3574 * gnat_ugn.texi (Switches for gcc): Document -gnatn1 and -gnatn2.
3575
3576 2012-06-12 Ed Schonberg <schonberg@adacore.com>
3577
3578 * sem_ch12.adb (Instantiate_Formal_Subprogram): Do not apply
3579 AI05-296 if the actual is overloaded. In this case The rule must
3580 be applied after resolution, in Analyze_Subprogram_Renaming.
3581
3582 2012-06-12 Robert Dewar <dewar@adacore.com>
3583
3584 * stringt.adb: Minor reformatting.
3585
3586 2012-06-12 Robert Dewar <dewar@adacore.com>
3587
3588 * ali-util.adb, stringt.ads: Minor reformatting.
3589
3590 2012-06-12 Hristian Kirtchev <kirtchev@adacore.com>
3591
3592 * exp_ch7.adb (Process_Declarations): Handle the case where
3593 the original context has been wrapped in a block to avoid
3594 interference between exception handlers and At_End handlers.
3595 (Wrap_HSS_In_Block): Mark the block which contains the original
3596 statements of the context as being a finalization wrapper.
3597 * sinfo.adb (Is_Finalization_Wrapper): New routine.
3598 (Set_Is_Finalization_Wrapper): New routine.
3599
3600 * sinfo.ads: Add new attribute Is_Finalization_Wrapper applicable
3601 to block statemnts.
3602 (Is_Finalization_Wrapper): New routine with corresponding pragma Inline.
3603 (Set_Is_Finalization_Wrapper): New routine with corresponding pragma
3604 Inline.
3605
3606 2012-06-12 Steve Baird <baird@adacore.com>
3607
3608 * gnat1drv.adb (Adjust_Global_Switches): No longer need to set
3609 Exception_Extra_Info in CodePeer_Mode.
3610
3611 2012-06-12 Robert Dewar <dewar@adacore.com>
3612
3613 * sem_dist.adb, exp_ch7.adb, sem_type.adb, exp_attr.adb,
3614 sinfo.ads, sem_ch7.adb, exp_alfa.adb, sem_scil.adb, sem_ch12.adb,
3615 sem_util.adb, sem_res.adb, sem_attr.adb, sem_elab.adb, exp_ch6.adb,
3616 sem_ch4.adb, sem_warn.adb, scil_ll.adb, exp_cg.adb: Minor code
3617 reorganization.
3618
3619 2012-06-12 Eric Botcazou <ebotcazou@adacore.com>
3620
3621 * s-tasini.ads: Minor fix in comment.
3622
3623 2012-06-12 Thomas Quinot <quinot@adacore.com>
3624
3625 * freeze.adb (Freeze_Record_Type): Warn on record with
3626 Scalar_Storage_Order if there is no placed component.
3627
3628 2012-06-12 Thomas Quinot <quinot@adacore.com>
3629
3630 * sem_ch3.adb: Minor comment fix.
3631
3632 2012-06-12 Vincent Celier <celier@adacore.com>
3633
3634 * ali-util.adb (Time_Stamp_Mismatch): In minimal recompilation
3635 mode, use Stringt Mark and Release to avoid growing the Stringt
3636 internal tables uselessly.
3637 * stringt.adb (Strings_Last): New global variable
3638 (String_Chars_Last): New global variable.
3639 (Mark, Release): New procedures.
3640 * stringt.ads (Mark, Release) New procedures.
3641
3642 2012-06-12 Hristian Kirtchev <kirtchev@adacore.com>
3643
3644 * exp_ch7.adb (Process_Transient_Objects): Renamed constant
3645 Requires_Hooking to Must_Hook and replace all occurrences of the name.
3646 (Requires_Hooking): New routine. Detect all contexts that require
3647 transient variable export to the outer finalizer due to a potential
3648 exception.
3649
3650 2012-06-12 Ed Schonberg <schonberg@adacore.com>
3651
3652 * sem_ch12.adb: Small adjustment.
3653
3654 2012-06-12 Vincent Celier <celier@adacore.com>
3655
3656 * vms_cmds.ads (Command_Type): New enumeration value Test
3657 * vms_conv.adb (Initialize): Add component at index Test in
3658 Command_List
3659 * vms_data.ads (Test_Switches): New global variable for the
3660 switches of gnattest, currently empty.
3661
3662 2012-06-12 Ed Schonberg <schonberg@adacore.com>
3663
3664 * sem_ch3.adb (Analyze_Subtype_Declaration): if an incomplete
3665 type is tagged, so is a subtype of it.
3666 * sem_ch12.adb (Validate_Actual_Subprogram): implement AI05-0296,
3667 concerning freeze rules in the presence of formal incomplete
3668 types: a formal abstract subprogram cannot have an incomplete
3669 controlling type, and the profile of the actual subprogram does
3670 not freeze if it includes an incomplete untagged type.
3671
3672 2012-06-12 Robert Dewar <dewar@adacore.com>
3673
3674 * a-direct.adb: Minor reformatting.
3675
3676 2012-06-12 Robert Dewar <dewar@adacore.com>
3677
3678 * gnat_ugn.texi: Add missing documentation for -gnatw.v and
3679 -gnatw.V.
3680
3681 2012-06-12 Thomas Quinot <quinot@adacore.com>
3682
3683 * sem_ch7.adb, sem_prag.adb, sem_ch12.adb, sem_ch4.adb,
3684 sem_ch13.adb: Minor rewording of error messages for unchecked unions.
3685
3686 2012-06-12 Robert Dewar <dewar@adacore.com>
3687
3688 * lib-xref.ads: Minor reformatting.
3689
3690 2012-06-12 Pascal Obry <obry@adacore.com>
3691
3692 * a-direct.adb (Delete_File): Delete symbolic links silently
3693 instead of raising the Name_Error exception when the symbolic
3694 link is pointing to a non existent file.
3695
3696 2012-06-12 Robert Dewar <dewar@adacore.com>
3697
3698 * xref_lib.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting.
3699
3700 2012-06-12 Javier Miranda <miranda@adacore.com>
3701
3702 * lib-xref.ads Adding missing documentation.
3703
3704 2012-06-12 Hristian Kirtchev <kirtchev@adacore.com>
3705
3706 * exp_ch7.adb (Create_Finalizer): Add the
3707 exception reraise mechanism at the very end of the finalizer
3708 statements. This placement ensures that all objects are finalized,
3709 the secondary stack mark released and aborts undeferred before
3710 propagating an exception.
3711
3712 2012-06-12 Ed Schonberg <schonberg@adacore.com>
3713
3714 * sem_ch10.adb (Remove_Unit_From_Visibility): if the unit is a
3715 wrapper package. remove from visibility the original subprogram
3716 instance.
3717
3718 2012-06-12 Javier Miranda <miranda@adacore.com>
3719
3720 * sem_prag.adb (Process_Convention): Generate reference to entity
3721 exported to foreign language. Needed for GPS navigation.
3722 * xref_lib.adb (Parse_Identifier_Info): Parse exported entities.
3723 * lib-xref (Output_References): Output exported entities.
3724
3725 2012-06-12 Pascal Obry <obry@adacore.com>
3726
3727 * prj-attr.adb: Add install package and corresponding attributes.
3728 * snames.ads-tmpl (Name_Active): New constant.
3729 (Name_Exec_Subdir): Likewise.
3730 (Name_Install): Likewise.
3731 (Name_Lib_Subdir): Likewise.
3732 (Name_Project_Subdir): Likewise.
3733 (Name_Sources_Subdir): Likewise.
3734
3735 2012-06-12 Bob Duff <duff@adacore.com>
3736
3737 * sem_res.adb (Check_Infinite_Recursion):
3738 Suppress spurious warning on recursion after "raise with ...".
3739
3740 2012-06-12 Thomas Quinot <quinot@adacore.com>
3741
3742 * sem_prag.adb (Analyze_Pragma, case Unchecked_Union): Do
3743 not crash on illegal unchecked union that is a null record.
3744
3745 2012-06-12 Thomas Quinot <quinot@adacore.com>
3746
3747 * exp_ch4.adb (Has_Inferable_Discriminants): Reorganize code to
3748 treat implicit dereferences with a constrained unchecked union
3749 nominal subtype as having inferable discriminants.
3750
3751 2012-06-12 Robert Dewar <dewar@adacore.com>
3752
3753 * sem_ch6.adb: Minor reformatting.
3754
3755 2012-06-12 Eric Botcazou <ebotcazou@adacore.com>
3756
3757 * gnat_ugn.texi: Couple of minor corrections.
3758
3759 2012-06-12 Thomas Quinot <quinot@adacore.com>
3760
3761 * sem_prag.adb (Check_Variant): An empty component list is not
3762 illegal in an unchecked union variant.
3763
3764 2012-06-12 Gary Dismukes <dismukes@adacore.com>
3765
3766 * projects.texi: Remove comments.
3767
3768 2012-06-12 Thomas Quinot <quinot@adacore.com>
3769
3770 * back_end.adb (Scan_Back_End_Switches): Treat -fdump-scos as
3771 synonym of -gnateS.
3772 (gnat_post_options): Disable gimple-based SCO generator.
3773 * gnat_ugn.texi: Document that -gnateS is an obsolete synonym
3774 of -fdump-scos.
3775
3776 2012-06-12 Ed Schonberg <schonberg@adacore.com>
3777
3778 * sem_ch6.adb (Different_Generic_Profile): new predicate for
3779 Find_Corresponding_Spec, to handle a rare case of accidental
3780 overloading in an instance, when the profile of a subprogram body
3781 that depends on a formal type becomes compatible with that of
3782 a homonym whose profile in the generic mentions the actual type.
3783
3784 2012-06-12 Thomas Quinot <quinot@adacore.com>
3785
3786 * gnat1drv.adb: Minor reformatting.
3787
3788 2012-06-12 Ed Schonberg <schonberg@adacore.com>
3789
3790 * sem_util.adb (Build_Explicit_Dereference): If the expression
3791 is an entity, ensure that the type of the expression is the same
3792 as that of the entity.
3793
3794 2012-06-12 Pat Rogers <rogers@adacore.com>
3795
3796 * projects.texi: Corrected instances of the word "build" that
3797 should be "built" instead. Other similar changes and minor
3798 punctuation changes.
3799
3800 2012-06-12 Eric Botcazou <ebotcazou@adacore.com>
3801
3802 * sem_util.adb (Is_Atomic_Object): Return true for an atomic
3803 component as well as a prefix which is an atomic component.
3804
3805 2012-06-12 Ed Schonberg <schonberg@adacore.com>
3806
3807 * exp_prag.adb (Expand_Pragma_Import_Or_Interface): revert previous
3808 patch. The processing of interfacing aspects now generates a
3809 proper Ada 2005 pragma.
3810 * sem_prag.adb (Analyze_Pragma, cases Pragma_Export and
3811 Pragma_Import): revert previous patch. The processing of
3812 interfacing aspects now generates a proper Ada 2005 pragma.
3813 * sem_ch13.adb (Analyze_Aspect_Specifications): generate proper
3814 pragam for aspects Convention, Import and Export. Scan list
3815 of aspects to collect link name and external name if present,
3816 and verify that a complete pragma can be generated.
3817
3818 2012-06-11 Olivier Hainque <hainque@adacore.com>
3819
3820 * gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Remove
3821 $(PIC_FLAG_FOR_TARGET).
3822 (gnatlib-shared-default): Add $(PIC_FLAG_FOR_TARGET) to
3823 GNATLIBCFLAGS_FOR_C passed to gnatlib.
3824 (gnatlib-shared-win32): Likewise.
3825 (gnatlib-shared-darwin): Likewise.
3826 (gnatlib-shared-dual-win32): Pass PIC_FLAG_FOR_TARGET to
3827 gnatlib-shared-win32.
3828
3829 2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
3830
3831 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Convert GNU_SIZE
3832 to units before invoking allocatable_size_p on it.
3833 Remove orphaned comment. Do not use ssize_int.
3834 <E_Record_Subtype>: Traverse list in original order. Minor tweak.
3835 (allocatable_size_p): Adjust and simplify.
3836 (build_subst_list): Use consistent terminology throughout.
3837 (build_variant_list): Likewise. Traverse list in original order.
3838 (create_field_decl_from): Likewise.
3839 (copy_and_substitute_in_size): Likewise.
3840 (create_variant_part_from): Add comment about field list order.
3841 * gcc-interface/utils.c (build_vms_descriptor): Do not use ssize_int.
3842 * gcc-interface/utils2.c (build_allocator): Likewise.
3843
3844 2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
3845
3846 * gcc-interface/trans.c (Identifier_to_gnu): Test Is_Elementary_Type
3847 instead of Is_Scalar_Type for a constant with an address clause.
3848 Do not return the underlying constant for a constant used by reference
3849 if it holds the address of a constant and an lvalue is required.
3850
3851 2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
3852
3853 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not specifically deal
3854 with external constants wrt force_global here...
3855 <E_Constant>: ...but here instead.
3856 * gcc-interface/utils.c (gnat_pushdecl): Do not put external DECLs onto
3857 the list of global DECLs.
3858
3859 2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
3860
3861 * gcc-interface/decl.c (gnat_to_gnu_entity): Translate the Esize on
3862 entry only for elementary types and abort if it is too large.
3863 <E_Record_Type>: Make sure the Esize is known before using it.
3864
3865 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
3866
3867 * gcc-interface/utils2.c: Do not include output.h.
3868 * gcc-interface/Make-lang.in: Fix dependencies.
3869
3870 2012-05-29 Michael Matz <matz@suse.de>
3871
3872 * gcc-interface/utils.c (create_var_decl_1): Don't call expand_decl.
3873
3874 2012-05-26 Eric Botcazou <ebotcazou@adacore.com>
3875
3876 * gcc-interface/decl.c (variant_desc): Rename 'record' to 'new_type'.
3877 (build_variant_list): Adjust to above renaming.
3878 (gnat_to_gnu_entity) <E_Record_Subtype>: Likewise. Give a unique name
3879 to the type of the variant containers.
3880 (create_variant_part_from): Likewise. Give a unique name to the type
3881 of the variant part.
3882
3883 2012-05-25 Eric Botcazou <ebotcazou@adacore.com>
3884
3885 PR ada/52362
3886 * link.c (__gnat_object_file_option): Set to "-Wl,@" for GNU linker.
3887 (__gnat_using_gnu_linker): Delete.
3888 * gnatlink.adb (Gnatlink): Declare Object_File_Option_Ptr here...
3889 Declare Object_File_Option string constant and Using_GNU_response_file
3890 boolean constant.
3891 (Process_Binder_File): ...instead of here. Delete Using_GNU_Linker,
3892 Opening and Closing local variables. Do not handle the GNU linker
3893 specially.
3894 (Write_RF): New procedure to write into the response file. Escape some
3895 characters if a GNU response file is used. Keep track of error status.
3896 Invoke Write_RF to write into the response file. Delete the file only
3897 if the link was successful.
3898 * mlib-utl.adb: Do not `with' package System.
3899 (Gcc): Likewise. Declare Object_File_Option string constant and
3900 Using_GNU_response_file boolean constant.
3901 (Write_RF): Take a string instead of address and length. Escape some
3902 characters if a GNU response file is used.
3903 Invoke Write_RF to write into the response file. Delete the file only
3904 if the link was successful. Do not warn if it cannot be deleted.
3905
3906 2012-05-20 Eric Botcazou <ebotcazou@adacore.com>
3907
3908 * gcc-interface/utils.c (gnat_write_global_declarations): Put a name
3909 on the dummy global variable.
3910
3911 2012-05-19 Eric Botcazou <ebotcazou@adacore.com>
3912
3913 * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
3914 (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
3915 calling convention
3916 (get_minimal_subprog_decl): Likewise.
3917 (gnat_first_param_is_class): New predicate.
3918
3919 * gcc-interface/misc.c (gnat_handle_option): Fix formatting.
3920 * gcc-interface/Makefile.in: Likewise.
3921
3922 2012-05-18 Eric Botcazou <ebotcazou@adacore.com>
3923
3924 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an object at
3925 global level with unconstrained nominal subtype and a non-fixed size,
3926 make a variable for the size.
3927
3928 2012-05-15 Andris Pavenis <andris.pavenis@iki.fi>
3929
3930 PR ada/52494
3931 * s-taprop-dummy.adb (Specific): New package.
3932
3933 2012-05-15 Olivier Hainque <hainque@adacore.com>
3934
3935 * gcc-interface/Make-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS
3936 instead of trying to mimic it.
3937
3938 2012-05-15 Robert Dewar <dewar@adacore.com>
3939
3940 * sem_ch5.adb, sem_util.adb, s-stposu.adb, exp_ch4.adb: Minor
3941 reformatting.
3942
3943 2012-05-15 Geert Bosch <bosch@adacore.com>
3944
3945 * uintp.adb (UI_Rem): Remove optimizations, as they are complex and are
3946 not needed.
3947 (Sum_Digits): Remove, no longer used.
3948 (Sum_Double_Digits): Likewise.
3949
3950 2012-05-15 Yannick Moy <moy@adacore.com>
3951
3952 * aspects.ads: Minor typo.
3953
3954 2012-05-15 Thomas Quinot <quinot@adacore.com>
3955
3956 * gnat_rm.texi (Scalar_Storage_Order): Fix RM reference.
3957 * sem_ch13.adb: Minor comment fix: incorrect RM reference.
3958
3959 2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
3960
3961 * sem_prag.adb (Process_Atomic_Shared_Volatile): Propagate
3962 atomicity from an object to its underlying type only if it
3963 is composite.
3964
3965 2012-05-15 Ed Schonberg <schonberg@adacore.com>
3966
3967 * sem_ch5.adb (Analyze_Iterator_Specification): Set kind of
3968 loop variable after pre-analysis of iterator name, to prevent
3969 premature usage of loop variable.
3970
3971 2012-05-15 Ed Schonberg <schonberg@adacore.com>
3972
3973 * sem_util.adb (Is_Variable): In Ada 2012, an explicit
3974 dereference that is a rewriting of an expression whose type has
3975 a declared Implicit_Derenference aspect is a variable.
3976
3977 2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
3978
3979 * exp_ch4.adb (Insert_Dereference_Action): Reimplemented. The
3980 routine performs address and size adjustments for dereferences
3981 of heap-allocated controlled objects. This manipulation is needed
3982 in order to restore the original state of the memory at the time
3983 it was allocated by the finalization machinery.
3984 * rtsfind.ads: Add RE_Adjust_Controlled_Dereference to tables
3985 RE_Id and RE_Unit_Table.
3986 * sinfo.adb (Has_Dereference_Action): New routine.
3987 (Set_Has_Dereference_Action): New routine.
3988 * sinfo.ads: Add new semantic flag Has_Dereference_Action along
3989 its association in nodes.
3990 (Has_Dereference_Action): New routine and pragma Inline.
3991 (Set_Has_Dereference_Action): New routine and pragma Inline.
3992 * s-stposu.ads, s-stposu.adb (Adjust_Controlled_Dereference): New
3993 routine.
3994
3995 2012-05-15 Thomas Quinot <quinot@adacore.com>
3996
3997 * uintp.adb (Image_Uint): Use UI_Div_Rem to get quotient and
3998 remainder of U / Base in a single operation.
3999
4000 2012-05-15 Robert Dewar <dewar@adacore.com>
4001
4002 * exp_ch5.adb, inline.adb, sem_ch10.adb, prj.ads, sem_util.adb,
4003 a-ngelfu.ads, exp_ch4.adb, exp_ch6.adb, aspects.ads, sem_ch6.adb,
4004 vms_data.ads, exp_ch3.adb, prj-env.adb: Minor reformatting.
4005
4006 2012-05-15 Thomas Quinot <quinot@adacore.com>
4007
4008 * exp_ch4.adb (Has_Inferable_Discriminants): For a qualified
4009 expression, use correct node for test on the subtype denoted by
4010 the subtype mark.
4011
4012 2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
4013
4014 * inline.adb (Scope_In_Main_Unit): Rename into...
4015 (In_Main_Unit_Or_Subunit): ...this. Also return
4016 true if the subprogram is within a subunit of the
4017 main unit.
4018 (Add_Inlined_Body): Adjust for above renaming.
4019 (Add_Inlined_Subprogram): Likewise. Pass the subprogram directly.
4020 (Analyze_Inlined_Bodies): Really set aside inlined subprograms
4021 not handled by Add_Inlined_Body.
4022
4023 2012-05-15 Ed Schonberg <schonberg@adacore.com>
4024
4025 * sem_ch10.adb (Expand_With_Clause): In the context of a generic
4026 package declaration, a private with-clause on a child unit implies
4027 that the implicit with clauses on its parents are private as well.
4028
4029 2012-05-15 Javier Miranda <miranda@adacore.com>
4030
4031 * sem_ch6.adb (Is_Interface_Conformant): Add missing call to
4032 Base_Type to handle subtypes.
4033 * exp_ch6.adb (Expand_Call): For calls located in thunks handle
4034 unchecked conversions of access types found in actuals.
4035 * exp_disp.adb (Expand_Interface_Thunk): Add missing unchecked
4036 conversion to actuals whose type is an access type. Done to
4037 avoid reporting spurious errors.
4038
4039 2012-05-15 Vincent Celier <celier@adacore.com>
4040
4041 * prj-env.adb (Create_Mapping): Ignore sources that are
4042 suppressed (Create_Mapping_File.Process): Ditto
4043 * prj-nmsc.adb (Add_Source): Update to take into
4044 account suppressed files that may hide inherited sources.
4045 (Mark_Excluded_Sources): Mark excluded sources of the current
4046 project as suppressed.
4047 * prj.ads (Source_Data): New Boolean component Suppressed,
4048 defaulted to False
4049
4050 2012-05-15 Thomas Quinot <quinot@adacore.com>
4051
4052 * exp_intr.adb: Minor reformatting.
4053
4054 2012-05-15 Thomas Quinot <quinot@adacore.com>
4055
4056 * gnat_rm.texi: Document attribute Scalar_Storage_Order.
4057
4058 2012-05-15 Javier Miranda <miranda@adacore.com>
4059
4060 * exp_ch3.adb (Build_Offset_To_Top): Modify the
4061 expansion of the offset_to_top functions to ensure that their
4062 profile is conformant with the profile specified in Ada.Tags. No
4063 change in functionality.
4064
4065 2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
4066
4067 * inline.adb (Subp_Info): Remove Count and Next_Nopred
4068 components, add Processed component and move around Next component.
4069 (Add_Call): Reverse meaning of Successors table to the natural one.
4070 (Add_Inlined_Body): Do not inline a package if it is in the main unit.
4071 (Add_Inlined_Subprogram): Do not add the subprogram to the list if the
4072 package is in the main unit. Do not recurse on the successors.
4073 (Add_Subp): Adjust to new contents of Subp_Info.
4074 (Analyze_Inlined_Bodies): Do not attempt
4075 to compute a topological order on the list of inlined subprograms,
4076 but compute the transitive closure from the main unit instead.
4077 (Get_Code_Unit_Entity): Always return the spec for a package.
4078
4079 2012-05-15 Yannick Moy <moy@adacore.com>
4080
4081 * aspects.ads: Minor addition of comments to provide info on
4082 how to add new aspects.
4083
4084 2012-05-15 Thomas Quinot <quinot@adacore.com>
4085
4086 * osint.ads: Minor reformatting.
4087
4088 2012-05-15 Thomas Quinot <quinot@adacore.com>
4089
4090 * exp_ch5.adb, exp_pakd.adb, sem_util.adb, sem_util.ads
4091 (Expand_Assign_Array): Handle the case of a packed bit array within a
4092 record with reverse storage order (assign element by element in that
4093 case).
4094 (In_Reverse_Storage_Order_Record): New subprogram,
4095 code extracted from Exp_Pakd.
4096
4097 2012-05-15 Yannick Moy <moy@adacore.com>
4098
4099 * a-ngelfu.ads: Add postconditions using Ada 2012
4100 aspect syntax, reflecting some of the RM requirements for these
4101 functions, from Annex A.5.1 or G.2.4.
4102
4103 2012-05-15 Thomas Quinot <quinot@adacore.com>
4104
4105 * adaint.c: Minor fix: move misplaced comment.
4106
4107 2012-05-15 Doug Rupp <rupp@adacore.com>
4108
4109 * vms_data.ads: Enhance help for /IMMEDIATE_ERRORS to discourage
4110 use by customers.
4111
4112 2012-05-15 Tristan Gingold <gingold@adacore.com>
4113
4114 * a-exextr.adb: Add comment.
4115
4116 2012-05-15 Ed Schonberg <schonberg@adacore.com>
4117
4118 * sem_ch3.adb: Minor reformatting (remove long dead code).
4119
4120 2012-05-15 Ed Schonberg <schonberg@adacore.com>
4121
4122 * aspects.adb, aspects.ads: Add aspects for Convention, Export,
4123 External_Name, Import, and Link_Name.
4124 * exp_prag.adb (Expand_Pragma_Import_Or_Interface): if the
4125 pragma comes from an aspect specification, the entity is the
4126 first argument.
4127 * sem_prag.adb (Analyze_Pragma, cases Pragma_Export and
4128 Pragma_Import): if the pragma comes from an aspect specification,
4129 the entity is the first argument, and the second has the value
4130 True by default.
4131 * sem_ch13.adb (Analyze_Aspect_Specifications): generate pragam
4132 for aspect Convention. Add placeholders for Link_Name and
4133 External_Name.
4134
4135 2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
4136
4137 * exp_ch9.adb (Expand_N_Asynchronous_Select): Extract the statements
4138 of the abortable part and triggering alternative after being processed
4139 for controlled objects.
4140 (Expand_N_Timed_Entry_Call): Code and comment reformatting.
4141
4142 2012-05-15 Robert Dewar <dewar@adacore.com>
4143
4144 * sem_util.adb: Minor code reorganization.
4145
4146 2012-05-15 Robert Dewar <dewar@adacore.com>
4147
4148 * exp_ch7.adb, exp_ch11.adb, exp_ch11.ads: Minor reformatting.
4149
4150 2012-05-15 Thomas Quinot <quinot@adacore.com>
4151
4152 * sem_res.adb (Resolve): Enforce E.2.2(11/2) and E.2.2(12) for
4153 'Unrestricted_Access and 'Unchecked_Access (not just 'Access):
4154 even in those cases, a remote access type may only designate a
4155 remote subprogram.
4156
4157 2012-05-15 Thomas Quinot <quinot@adacore.com>
4158
4159 * sem_util.adb, sem_util.ads, sem_cat.adb: Minor refactoring.
4160 (Enclosing_Lib_Unit_Node): Rename to Enclosing_Comp_Unit_Node.
4161
4162 2012-05-15 Ed Schonberg <schonberg@adacore.com>
4163
4164 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove obsolete
4165 checks on nested inlined subprograms.
4166
4167 2012-05-15 Tristan Gingold <gingold@adacore.com>
4168
4169 * fe.h (Get_RT_Exception_Name): Declare.
4170
4171 2012-05-15 Tristan Gingold <gingold@adacore.com>
4172
4173 * raise-gcc.c (db_region_for): Use %p + cast to avoid warnings.
4174 (get_region_description_for): Likewise.
4175 (db_action_for): Likewise.
4176 (get_call_site_action_for): Likewise.
4177 (get_ttype_entry_for): Remove useless 'const'.
4178 (PERSONALITY_FUNCTION): Add ATTRIBUTE_UNUSED on uw_exception_class.
4179
4180 2012-05-15 Tristan Gingold <gingold@adacore.com>
4181
4182 * a-exextr.adb (Unhandled_Exception_Terminate): Save occurrence
4183 on the stack to avoid a dynamic memory allocation.
4184
4185 2012-05-15 Bob Duff <duff@adacore.com>
4186
4187 * exp_ch9.adb (Expand_N_Timed_Entry_Call): Move initialization of
4188 E_Stats and D_Stats after Process_Statements_For_Controlled_Objects,
4189 because those calls can destroy the Statements list.
4190
4191 2012-05-15 Tristan Gingold <gingold@adacore.com>
4192
4193 * fe.h (Get_RT_Exception_Name): Define.
4194 * types.ads (RT_Exception_Code): Update comment.
4195 * exp_ch11.adb, exp_ch11.ads (Get_RT_Exception_Name): New
4196 procedure to get the name of the rcheck subprograms.
4197 * a-except-2005.adb (Rcheck_xx): Rename.
4198 * a-except.adb Likewise, but also keep the old Rcheck_nn routines
4199 for bootstrap.
4200 * arith64.c (__gnat_mulv64): Use __gnat_rcheck_CE_Overflow_Check
4201 instead of __gnat_rcheck_10.
4202 * gcc-interface/trans.c (build_raise_check): Use Get_RT_Exception_Name
4203 to create the __gnat_rcheck routines name.
4204 * gcc-interface/Make-lang.in: Update dependencies.
4205
4206 2012-05-15 Tristan Gingold <gingold@adacore.com>
4207
4208 * exp_ch7.adb (Build_Exception_Handler): Save current
4209 occurrence only if -gnateE.
4210 (Build_Object_Declaration): Declare E_Id only if -gnateE.
4211 (Build_Raise_Statement): Call Raise_From_Controlled_Operation only if
4212 -gnateE (else raise PE).
4213 * s-soflin.adb (Save_Library_Occurrence): Handle null occurrence
4214 access.
4215 * a-except-2005.adb (Reraise_Library_Exception_If_Any): Call
4216 Raise_From_Controlled_Operation only if the saved occurrence is
4217 not null, otherwise raise PE.
4218
4219 2012-05-15 Yannick Moy <moy@adacore.com>
4220
4221 * exp_alfa.ads: Add comments describing the Alfa mode.
4222
4223 2012-05-15 Tristan Gingold <gingold@adacore.com>
4224
4225 * s-soflin.ads, s-soflin.adb (Save_Library_Occurrence): Parameter
4226 E is now of type Exception_Occurrence_Access.
4227 * exp_ch7.ads, exp_ch7.adb (Build_Exception_Handler): Adjust generated
4228 call to Save_Library_Occurrence.
4229
4230 2012-05-15 Thomas Quinot <quinot@adacore.com>
4231
4232 * exp_ch4.adb (Rewrite_Coextension): Use Insert_Action to
4233 insert temporary variable decl at the proper place in the tree.
4234
4235 2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
4236
4237 * g-calend.adb (Split_At_Locale): New routine.
4238 (Time_Of_At_Locale): New routine.
4239 * g-calend.ads (Split_At_Locale): New routine.
4240 (Time_Of_At_Locale): New routine.
4241
4242 2012-05-15 Gary Dismukes <dismukes@adacore.com>
4243
4244 * a-except.ads: Minor reformatting.
4245
4246 2012-05-15 Ed Schonberg <schonberg@adacore.com>
4247
4248 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): If the loop
4249 parameter specification is part of a quantified expression, and it
4250 already carries a type, do not repeat the analysis to preserve
4251 type information: a range attribute reference may have been
4252 rewritten as a range with static bounds, and its re-analysis may
4253 type it as Integer by default, instead of the original index type.
4254
4255 2012-05-15 Robert Dewar <dewar@adacore.com>
4256
4257 * s-osprim-mingw.adb: Minor reformatting.
4258
4259 2012-05-15 Arnaud Charlet <charlet@adacore.com>
4260
4261 * a-except.adb, a-except.ads (Reraise_Library_Exception_If_Any): New.
4262 Mark this unit preelaborate.
4263 * s-soflin.ads: Make package Preelaborate.
4264
4265 2012-05-15 Robert Dewar <dewar@adacore.com>
4266
4267 * s-osprim-mingw.adb, sem_eval.adb, a-calend-vms.ads: Minor reformatting
4268
4269 2012-05-15 Ed Schonberg <schonberg@adacore.com>
4270
4271 * sem_eval.adb (Subtypes_Statically_Match): In Ada 2012, static
4272 matching requires matching of static subtype predicates as well.
4273
4274 2012-05-15 Ed Schonberg <schonberg@adacore.com>
4275
4276 * sem_case.adb (Analyze_Choices): If the subtype of the
4277 expression has a non-static predicate, the case alternatives
4278 must cover the base type.
4279
4280 2012-05-15 Tristan Gingold <gingold@adacore.com>
4281
4282 * a-calend-vms.ads: Add pragma export to Split and Time_Of.
4283 Merge comments from a-calend.ads to minimize differences.
4284
4285 2012-05-15 Sergey Rybin <rybin@adacore.com frybin>
4286
4287 * gnat_ugn.texi: gnatmetric: add a small example that demonstrates
4288 the difference between control coupling and unit coupling.
4289
4290 2012-05-15 Tristan Gingold <gingold@adacore.com>
4291
4292 * bindgen.adb (Gen_Header): Remove code to emit LE_Set.
4293 (Gen_Finalize_Library): Replace test with
4294 a call to __gnat_reraise_library_exception_if_any.
4295 * s-soflin.ads (Library_Exception): Do not export.
4296 (Library_Exception_Set): Likewise.
4297 * a-except-2005.ads, a-except-2005.adb
4298 (Reraise_Library_Exception_If_Any): New procedure.
4299
4300 2012-05-15 Geert Bosch <bosch@adacore.com>
4301
4302 * sem_ch9.adb (Allows_Lock_Free_Implementation): out or in out
4303 parameters can be access types as well, not just scalar types,
4304 so relax the test to Is_Elementary_Type.
4305
4306 2012-05-15 Bob Duff <duff@adacore.com>
4307
4308 * s-atacco.ads s-atacco.adb: Replace pragma Elaborate_Body
4309 with pragma No_Body.
4310 (Xyz): Remove Xyz, which is apparently unnecessary.
4311
4312 2012-05-15 Tristan Gingold <gingold@adacore.com>
4313
4314 * a-calend-vms.adb: Complete previous change.
4315
4316 2012-05-15 Bob Duff <duff@adacore.com>
4317
4318 * s-win32.ads: Minor comment fix.
4319 * s-osprim-mingw.adb: Minor editing.
4320
4321 2012-05-15 Robert Dewar <dewar@adacore.com>
4322
4323 * exp_ch9.adb, sem_ch9.adb, sem_ch13.adb: Minor reformatting.
4324
4325 2012-05-15 Robert Dewar <dewar@adacore.com>
4326
4327 * g-comlin.adb, g-comlin.ads: Minor reformatting.
4328
4329 2012-05-15 Vincent Pucci <pucci@adacore.com>
4330
4331 * aspects.adb, aspects.adb: Reordering of the Aspect_Idi list. New
4332 aspect Aspect_Lock_Free.
4333 * einfo.adb, einfo.ads: New flag Uses_Lock_Free (flag 188).
4334 (Set_Uses_Lock_Free): New routine.
4335 (Uses_Lock_Free): New routine.
4336 * exp_ch7.adb (Is_Simple_Protected_Type): Return False for
4337 lock-free implementation.
4338 * exp_ch9.adb (Allows_Lock_Free_Implementation): Moved to Sem_Ch9.
4339 (Build_Lock_Free_Unprotected_Subprogram_Body): Protected
4340 procedure uses __sync_synchronise. Check both Object_Size
4341 and Value_Size.
4342 (Expand_N_Protected_Body): Lock_Free_Active
4343 renames Lock_Free_On.
4344 (Expand_N_Protected_Type_Declaration):
4345 _Object field removed for lock-free implementation.
4346 (Install_Private_Data_Declarations): Protection object removed
4347 for lock-free implementation.
4348 (Make_Initialize_Protection):
4349 Protection object initialization removed for lock-free implementation.
4350 * rtsfind.ads: RE_Atomic_Synchronize and RE_Relaxed added.
4351 * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect_Lock_Free
4352 analysis added.
4353 * sem_ch9.adb (Allows_Lock_Free_Implementation): New routine.
4354 (Analyze_Protected_Body): Allows_Lock_Free_Implementation call added.
4355 (Analyze_Protected_Type_Declaration):
4356 Allows_Lock_Free_Implementation call added.
4357 (Analyze_Single_Protected_Declaration): Second analysis of
4358 aspects removed.
4359 * s-atopri.ads: Header added.
4360 (Atomic_Synchronize): New routine.
4361
4362 2012-05-15 Robert Dewar <dewar@adacore.com>
4363
4364 * exp_ch7.ads: Add comment.
4365
4366 2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
4367
4368 * a-calend.adb (Day_Of_Week): The routine once again treats
4369 all dates as historic. (Formatting_Operations.Split): All
4370 calls to UTC_Time_Offset are now controlled through formal
4371 parameter Is_Historic. (Formatting_Operations.Time_Of):
4372 All calls to UTC_Time_Offset are now handled through
4373 formal parameter Is_Historic.
4374 (Split): Update the call to Formatting_Operations.Split.
4375 (Time_Of): Update the call to Formatting_Operations.Time_Of.
4376 (To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
4377 (To_Strict_Tm): Update the call to Formatting_Operations.Split.
4378 * a-calend.ads (Split): Add new formal Is_Historic along with
4379 comment on usage. This routine is now exported for the purposes
4380 of GNAT.Calendar.Locale.
4381 (Time_Of): Remove defaults. Add new
4382 formal Is_Historic along with comment on usage. This routine is
4383 now exported for the purposes of GNAT.Calendar.Locale.
4384 * a-calend-vms.adb (Split): Update the call to
4385 Formatting_Operations.Split.
4386 (Time_Of): Update the call to Formatting_Operations.Time_Of.
4387 * a-calend-vms.ads (Split): Add new formal Is_Historic along
4388 with comment on usage. (Time_Of): Remove defaults. Add new
4389 formal Is_Historic along with comment on usage.
4390 * a-calfor.adb (Split): Update the call to
4391 Formatting_Operations.Split.
4392 (Time_Of): Update the call to Formatting_Operations.Time_Of.
4393
4394 2012-05-15 Vincent Celier <celier@adacore.com>
4395
4396 * prj-nmsc.adb (Add_Source): Always add the source if it is
4397 excluded, to avoid incorrect duplicate checks.
4398
4399 2012-05-15 Yannick Moy <moy@adacore.com>
4400
4401 * sem_aux.ads: Correct typo.
4402 * sem_eval.adb (Compile_Time_Known_Value): Return False in Alfa
4403 mode for a deferred constant when outside of the scope of its
4404 full view.
4405
4406 2012-05-15 Emmanuel Briot <briot@adacore.com>
4407
4408 * g-comlin.adb, g-comlin.ads (Define_Switch): Allow specifying the name
4409 of the argument, for the automatic help message.
4410 (Getopt): do not systematically initialize switches with string values
4411 to the empty string, when the user has already specified a default.
4412
4413 2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
4414
4415 * gcc-interface/utils.c (DEF_ATTR_STRING): New.
4416
4417 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
4418
4419 PR 53063
4420 * gcc-interface/misc.c: Include opts.h and options.h before tm.h.
4421 (gnat_handle_option): Call lang-specific generated function.
4422
4423 2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
4424
4425 * gcc-interface/lang.opt (I): Comment out help text with no effect.
4426 (nostdinc): Comment out help text with no effect.
4427
4428 2012-05-12 Eric Botcazou <ebotcazou@adacore.com>
4429
4430 * gcc-interface/Makefile.in (TOOLS_LIBS): Add ../../ggc-none.o.
4431
4432 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
4433
4434 PR 53063
4435 * gcc-interface/misc.c (gnat_parse_file): Move before ...
4436 (gnat_handle_option): ... this. Use handle_generated_option.
4437
4438 2012-05-10 Richard Guenther <rguenther@suse.de>
4439
4440 * gcc-interface/cuintp.c (UI_From_gnu): Remove TYPE_IS_SIZETYPE use.
4441
4442 2012-05-06 Tristan Gingold <gingold@adacore.com>
4443
4444 * gcc-interface/trans.c (gigi): Decorate reraise_zcx_decl.
4445
4446 2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
4447
4448 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the renaming
4449 case, use the padded type if the renamed object has an unconstrained
4450 type with default discriminant.
4451
4452 2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
4453
4454 * gcc-interface/trans.c (Loop_Statement_to_gnu): Also handle invariant
4455 conditions with only one bound.
4456 (Raise_Error_to_gnu): Likewise. New function extracted from...
4457 (gnat_to_gnu) <N_Raise_Constraint_Error>: ...here. Call above function
4458 in regular mode only.
4459
4460 2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
4461
4462 * gcc-interface/misc.c (gnat_post_options): Disable caret by default.
4463
4464 2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
4465
4466 * gcc-interface/gigi.h (make_packable_type): Declare.
4467 (make_type_from_size): Likewise.
4468 (relate_alias_sets): Likewise.
4469 (maybe_pad_type): Adjust.
4470 (init_gnat_to_gnu): Delete.
4471 (destroy_gnat_to_gnu): Likewise.
4472 (init_dummy_type): Likewise.
4473 (destroy_dummy_type): Likewise.
4474 (init_gnat_utils): Declare.
4475 (destroy_gnat_utils): Likewise.
4476 (ceil_pow2): New inline function.
4477 * gcc-interface/decl.c (gnat_to_gnu_entity): Use ceil_pow2.
4478 <object>: Pass True for the final processing of alignment and size.
4479 <E_Subprogram_Type>: Only create the TYPE_DECL for a padded return
4480 type if necessary.
4481 (round_up_to_align): Delete.
4482 (ceil_alignment): Likewise.
4483 (relate_alias_sets): Move to...
4484 (make_aligning_type): Likewise.
4485 (make_packable_type): Likewise.
4486 (maybe_pad_type): Likewise.
4487 (make_type_from_size): Likewise.
4488 * gcc-interface/utils.c (MAX_BITS_PER_WORD): Delete.
4489 (struct pad_type_hash): New type.
4490 (pad_type_hash_table): New static variable.
4491 (init_gnat_to_gnu): Merge into...
4492 (init_dummy_type): Likewise.
4493 (init_gnat_utils): ...this. New function.
4494 (destroy_gnat_to_gnu): Merge into...
4495 (destroy_dummy_type): Likewise.
4496 (destroy_gnat_utils): ...this. New function.
4497 (pad_type_hash_marked_p): New function.
4498 (pad_type_hash_hash): Likewise.
4499 (pad_type_hash_eq): Likewise.
4500 (relate_alias_sets): ...here.
4501 (make_aligning_type): Likewise.
4502 (make_packable_type): Likewise.
4503 (maybe_pad_type): Likewise. Change same_rm_size parameter into
4504 set_rm_size; do not set TYPE_ADA_SIZE if it is false. Do not set
4505 null as Ada size. Do not set TYPE_VOLATILE on the padded type. If it
4506 is complete and has constant size, canonicalize it. Bail out earlier
4507 if a warning need not be issued.
4508 (make_type_from_size): Likewise.
4509 <INTEGER_TYPE>: Bail out if size is too large
4510 (gnat_types_compatible_p): Do not deal with padded types.
4511 (convert): Compare main variants for padded types.
4512 * gcc-interface/trans.c (gigi): Call {init|destroy}_gnat_utils.
4513 (gnat_to_gnu): Do not convert at the end for a call to a function that
4514 returns an unconstrained type with default discriminant.
4515 (Attribute_to_gnu) <Attr_Size>: Simplify handling of padded objects.
4516 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Likewise.
4517 Do not use the padded type if it is BLKmode and the inner type is
4518 non-BLKmode.
4519
4520 2012-05-02 Pascal Obry <obry@adacore.com>
4521
4522 Revert
4523 2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com>
4524
4525 * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
4526 Windows-specific make variable.
4527 (WIN_SO_INSTALL_DIR [windows targets]): Likewise.
4528 (install-gnatlib): Respect the above during installation when set,
4529 and also install any windows import library that has been built.
4530 (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
4531 build a corresponding import library.
4532
4533 2012-04-30 Jan Hubicka <jh@suse.cz>
4534
4535 * gcc-interface/utils.c (rest_of_subprog_body_compilation): Update
4536 comment.
4537 (gnat_write_global_declarations): Use finalize_compilation_unit.
4538
4539 2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
4540
4541 * gcc-interface/decl.c (gnat_to_gnu_entity): In type annotation mode,
4542 do not adjust the size of a tagged type if there is a representation
4543 clause on it. Otherwise, round the adjustment up to the alignment
4544 of the first field and use the appropriate helper routine.
4545 (maybe_pad_type): Do not warn in type annotation mode on a tagged type.
4546 (gnat_to_gnu_field): Do not error out under the same circumstances.
4547 (annotate_rep): In type annotation mode, do not adjust the offset of
4548 components of a tagged type with representation clause. Otherwise,
4549 round the adjustment up to the alignment of the first field.
4550
4551 2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
4552
4553 * gcc-interface/utils.c (finish_record_type): Force the traditional GCC
4554 layout for bitfields on the type if it is packed or has a representation
4555 clause and an alternate layout is available.
4556
4557 2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
4558
4559 * gcc-interface/gigi.h (mark_out_of_scope): Delete.
4560 (destroy_gnat_to_gnu): Declare.
4561 (destroy_dummy_type): Likewise.
4562 * gcc-interface/decl.c (mark_out_of_scope): Delete.
4563 * gcc-interface/utils.c (destroy_gnat_to_gnu): New function.
4564 (destroy_dummy_type): Likewise.
4565 * gcc-interface/trans.c (gnat_validate_uc_list): New variable.
4566 (gigi): Call validate_unchecked_conversion on gnat_validate_uc_list
4567 after the translation is completed. Call destroy_gnat_to_gnu and
4568 destroy_dummy_type at the end.
4569 (Subprogram_Body_to_gnu): Do not call mark_out_of_scope.
4570 (gnat_to_gnu) <N_Block_Statement>: Likewise.
4571 <N_Validate_Unchecked_Conversion>: Do not process the node, only push
4572 it onto gnat_validate_uc_list.
4573 (validate_unchecked_conversion): New function.
4574
4575 2012-04-26 Tristan Gingold <gingold@adacore.com>
4576
4577 * gcc-interface/Make-lang.in: Update dependencies.
4578 Remove s-traceb and tracebak objects from gnat1 and gnatbind (not used).
4579 Remove s-tasdeb and s-vaflop rules (not used).
4580
4581 2012-04-26 Olivier Hainque <hainque@adacore.com>
4582
4583 * gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Default to
4584 DOUBLE_TYPE_SIZE instead of LONG_DOUBLE_TYPE_SIZE.
4585
4586 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
4587
4588 * a-calend.adb (Day_Of_Week): Keep the internal
4589 usage of UTC_Time_Offset consistent with Time_Of and Split.
4590
4591 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
4592
4593 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Do not freeze
4594 the loop variable while preanalyzing a quantified expression.
4595
4596 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
4597
4598 * a-calend.adb (Split, Time_Of): Rename parameter Is_Ada_05
4599 to Use_TZ to better illustrate its function. Update all
4600 references to the parameter.
4601 (To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
4602 * a-calend.ads (Split, Time_Of): Rename parameter Is_Ada_05
4603 to Use_TZ to better illustrate its function. Update the related
4604 comment on usage.
4605 * a-calend-vms.adb (Split, Time_Of): Rename parameter
4606 Is_Ada_05 to Use_TZ to better illustrate its function. Update
4607 all references to the parameter.
4608 (To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
4609 * a-calend-vms.ads (Split, Time_Of): Rename parameter Is_Ada_05
4610 to Use_TZ to better illustrate its function. Update the related
4611 comment on usage.
4612 * a-calfor.adb (Split, Time_Of): Update the call to
4613 Formatting_Operations.Time_Of.
4614 * sysdep.c (__gnat_localtime_tzoff): Dereference pointer
4615 "is_historic" and rewrite the check as a comparison. Add a
4616 comment on flag values.
4617
4618 2012-04-26 Robert Dewar <dewar@adacore.com>
4619
4620 * exp_ch2.adb, sem_ch8.adb: Minor reformatting.
4621
4622 2012-04-26 Vasiliy Fofanov <fofanov@adacore.com>
4623
4624 * a-stzunb-shared.adb, gnat_ugn.texi, a-strunb-shared.adb,
4625 a-strunb-shared.ads, uintp.adb, a-stwiun-shared.adb,
4626 a-stwiun-shared.ads, a-cbhama.ads, vms_data.ads, a-cobove.adb,
4627 a-convec.adb, sem_ch13.adb, a-cbhase.ads: Fix common misuses of the
4628 word "then" where "than" should be used in English.
4629
4630 2012-04-26 Robert Dewar <dewar@adacore.com>
4631
4632 * sem_ch5.adb (Check_Unreachable_Code): Skip past pragmas.
4633
4634 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
4635
4636 * s-finroo.ads: Remove with clause for
4637 Ada.Streams. Type Root_Controlled is now abstract tagged null
4638 record. Remove internal package Stream_Attributes. Root_Controlled
4639 doesn't need stream attribute redeclaration and avoids the
4640 dependency on streams.
4641
4642 2012-04-26 Tristan Gingold <gingold@adacore.com>
4643
4644 * adaint.c (to_host_path_spec): Removed (unused).
4645 Minor reformatting.
4646
4647 2012-04-26 Steve Baird <baird@adacore.com>
4648
4649 * gnat_rm.texi Improve description of Valid_Scalars attribute.
4650
4651 2012-04-26 Ed Schonberg <schonberg@adacore.com>
4652
4653 * sem_ch6.adb (Can_Override_Operator): If the formal is a
4654 generic type the operator cannot be overriding.
4655
4656 2012-04-26 Ed Schonberg <schonberg@adacore.com>
4657
4658 * sem_ch8.adb (Spec_Reloaded_For_Body): Check whether the type
4659 is declared in a package specification, and current unit is the
4660 corresponding package body. The use clauses themselves may be
4661 within a nested package.
4662
4663 2012-04-26 Bob Duff <duff@adacore.com>
4664
4665 * exp_ch2.adb (Param_Entity): Take into account the case where
4666 the type of the entry parameter has a representation clause.
4667
4668 2012-04-26 Ed Schonberg <schonberg@adacore.com>
4669
4670 * gnat_ugn.texi: Tweak dimensionality doc.
4671
4672 2012-04-26 Robert Dewar <dewar@adacore.com>
4673
4674 * sem_eval.adb: Minor reformatting.
4675
4676 2012-04-26 Robert Dewar <dewar@adacore.com>
4677
4678 * einfo.adb, einfo.ads, sem_res.adb, sem_ch4.adb,
4679 sem_eval.adb: Minor reformatting.
4680
4681 2012-04-26 Thomas Quinot <quinot@adacore.com>
4682
4683 * freeze.adb: Minor change in error wording.
4684
4685 2012-04-26 Ed Schonberg <schonberg@adacore.com>
4686
4687 * gnat_ugn.texi: Documentation on dimensional analysis.
4688
4689 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
4690
4691 * einfo.adb, einfo.ads: Remove synthesized attribute
4692 Proper_First_Index along with its associations in various nodes.
4693 (Proper_First_Index): Removed.
4694 * sem_ch4.adb (Analyze_Slice): Alphabetize constants. Add new
4695 local variable Index_Type. The index type of a string literal
4696 subtype is that of the stored low bound.
4697 * sem_eval (Get_Static_Length): Remove the use of Proper_First_Index.
4698 * sem_res.adb (Resolve_Slice): Alphabetize constants. Add
4699 new local variable Index_Type. The index type of a
4700 string literal subtype is that of the stored low bound.
4701 (Set_String_Literal_Subtype): Code reformatting.
4702
4703 2012-04-26 Robert Dewar <dewar@adacore.com>
4704
4705 * exp_aggr.adb: Minor reformatting.
4706
4707 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
4708
4709 * exp_ch7.adb (Expand_Cleanup_Actions): Update the call to
4710 Requires_Cleanup_Actions.
4711 * exp_util.adb (Requires_Cleanup_Actions (List_Id; Boolean;
4712 Boolean)): Rename formal parameter For_Package to Lib_Level to
4713 better reflect its purpose. Update the related comment and all
4714 occurrences of For_Package in the body.
4715 (Requires_Cleanup_Actions
4716 (Node_Id; Boolean)): Add new formal parameter Lib_Level. Add
4717 local constant At_Lib_Level to keep monitor whether the path
4718 taken from the top-most context to the current construct involves
4719 package constructs. Update all calls to Requires_Cleanup_Actions.
4720 * exp_util.ads (Requires_Cleanup_Actions): Add new formal
4721 parameter Lib_Level and associated comment.
4722
4723 2012-04-26 Ed Schonberg <schonberg@adacore.com>
4724
4725 * sem_ch6.adb (Process_Formals): If the type of the formal is
4726 a non null access type, mark the generated subtype as having a
4727 delayed freeze only if the designated type is not frozen yet.
4728
4729 2012-04-26 Vincent Celier <celier@adacore.com>
4730
4731 * prj-attr.adb: New package Clean with attributes
4732 Object_Artifact_Extensions and Source_Artifact_Extensions.
4733 * prj-nmsc.adb (Process_Clean): Process new package Clean
4734 * prj.ads (Language_Config): New components
4735 Clean_Object_Artifacts and Clean_Source_Artifacts.
4736 * snames.ads-tmpl: New standard names Clean,
4737 Object_Artifact_Extensions and Source_Artifact_Extensions.
4738
4739 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
4740
4741 * einfo.adb (Proper_First_Index): Moved from Sem_Util.
4742 * einfo.ads: Add new synthesized attribute Proper_First_Index
4743 along with usage in nodes.
4744 (Proper_First_Index): Moved from Sem_Util.
4745 * sem_util.ads, sem_util.adb (Proper_First_Index): Moved to Einfo.
4746
4747 2012-04-26 Gary Dismukes <dismukes@adacore.com>
4748
4749 * layout.adb (Layout_Component_List): Test for the case of a
4750 single variant and the size of its component list was computed
4751 as an integer literal, and use that size (which is in bits)
4752 as is rather than converting to storage units.
4753
4754 2012-04-26 Robert Dewar <dewar@adacore.com>
4755
4756 * exp_aggr.adb: Minor reformatting.
4757
4758 2012-04-26 Robert Dewar <dewar@adacore.com>
4759
4760 * sem_util.adb: Minor reformatting.
4761
4762 2012-04-26 Thomas Quinot <quinot@adacore.com>
4763
4764 * exp_aggr.adb, exp_pakd.adb (Setup_Inline_Packed_Array_Reference,
4765 Packed_Array_Aggregate_Handled.Get_Component_Val):
4766 Reverse bit numbering within PAT when Reverse_Storage_Order
4767 applies to the enclosing record.
4768
4769 2012-04-26 Thomas Quinot <quinot@adacore.com>
4770
4771 * freeze.adb (Freeze_Record_Type): Improve error message for
4772 Scalar_Storage_Order inconsistent with Bit_Order.
4773
4774 2012-04-25 Gary Dismukes <dismukes@adacore.com>
4775
4776 * exp_ch9.adb: Add comments on the usage of the
4777 lock-free data structures.
4778
4779 2012-04-25 Vincent Pucci <pucci@adacore.com>
4780
4781 * exp_intr.adb (Expand_Shift): Convert the left
4782 operand and the operator when the type of the call differs from
4783 the type of the operator.
4784
4785 2012-04-25 Geert Bosch <bosch@adacore.com>
4786
4787 * stand.ads: Minor comment fix.
4788
4789 2012-04-25 Hristian Kirtchev <kirtchev@adacore.com>
4790
4791 * sem_ch4.adb (Analyze_Slice): Handle the case where the prefix
4792 is a string literal. Retrieve the first index from the base type
4793 when slicing a string literal.
4794 * sem_ch12.adb (Check_Private_View): Move the initialization
4795 of the type inside the loop to reflect the changing index.
4796 * sem_eval.adb (Eval_Relational_Op): Retrieve the first index
4797 from the base type when dealing with a string literal.
4798 * sem_res.adb (Resolve_Slice): Retrieve the first index from
4799 the base type when slicing a string literal.
4800 * sem_util.adb (Is_Internally_Generated_Renaming): New routine.
4801 (Is_Object_Reference): String literals may act
4802 as object references only when they are renamed internally.
4803 (Proper_First_Index): New routine.
4804 * sem_util.ads (Proper_First_Index): New routine.
4805
4806 2012-04-25 Robert Dewar <dewar@adacore.com>
4807
4808 * sem_ch3.adb, csinfo.adb, lib-writ.adb, sem_ch12.adb,
4809 lib-xref.adb: Minor reformatting.
4810
4811 2012-04-25 Hristian Kirtchev <kirtchev@adacore.com>
4812
4813 * exp_ch9.adb: Rename Lock_Free_Sub_Type
4814 to Lock_Free_Subprogram. Remove type Subprogram_Id.
4815 Rename LF_Sub_Table to Lock_Free_Subprogram_Table.
4816 (Allow_Lock_Free_Implementation): Renamed to
4817 Allows_Lock_Free_Implementation. Update the comment on
4818 lock-free restrictions. Code clean up and restructuring.
4819 (Build_Lock_Free_Protected_Subprogram_Body): Update the
4820 profile and related comments. Code clean up and restructuring.
4821 (Build_Lock_Free_Unprotected_Subprogram_Body): Update the
4822 profile and related comments. Code clean up and restructuring.
4823 (Comp_Of): Removed.
4824
4825 2012-04-25 Vincent Celier <celier@adacore.com>
4826
4827 * sem_ch12.adb (Inherit_Context): Compare library units, not
4828 names of units, when checking if a unit is already in the context.
4829
4830 2012-04-25 Thomas Quinot <quinot@adacore.com>
4831
4832 * sem_ch3.adb: Reverse_Storage_Order must be propagated to
4833 untagged derived record types.
4834
4835 2012-04-25 Ed Schonberg <schonberg@adacore.com>
4836
4837 * lib-xref.adb: Adjust position of end label.
4838
4839 2012-04-22 Jan Hubicka <jh@suse.cz>
4840
4841 * gcc-interface/utils.c (gnat_write_global_declarations): Do not mark
4842 needed node.
4843
4844 2012-04-20 Jan Hubicka <jh@suse.cz>
4845
4846 * gcc-interface/utils.c (gnat_write_global_declarations): Update for new
4847 force_output placement.
4848
4849 2012-04-14 Jan Hubicka <jh@suse.cz>
4850
4851 * gcc-interface/trans.c (finalize_nrv): Update field referenced for new
4852 cgraph/varpool layout.
4853
4854 2012-04-09 Mike Stump <mikestump@comcast.net>
4855
4856 * a-assert.ads: Remove execute permission.
4857 * a-chacon.ads: Likewise.
4858 * a-coteio.ads: Likewise.
4859 * a-envvar.ads: Likewise.
4860 * a-exetim-mingw.ads: Likewise.
4861 * a-fzteio.ads: Likewise.
4862 * a-izteio.ads: Likewise.
4863 * a-lcteio.ads: Likewise.
4864 * a-llctio.ads: Likewise.
4865 * a-scteio.ads: Likewise.
4866 * a-suenco.ads: Likewise.
4867 * a-suenst.ads: Likewise.
4868 * a-suewst.ads: Likewise.
4869 * a-suezst.ads: Likewise.
4870 * a-tirsfi.ads: Likewise.
4871 * a-wichha.ads: Likewise.
4872 * a-zchara.ads: Likewise.
4873 * a-zchhan.ads: Likewise.
4874 * a-zchuni.ads: Likewise.
4875 * a-zrstfi.ads: Likewise.
4876 * aspects.ads: Likewise.
4877 * g-byorma.ads: Likewise.
4878 * g-decstr.ads: Likewise.
4879 * g-encstr.ads: Likewise.
4880 * g-spchge.ads: Likewise.
4881 * g-u3spch.ads: Likewise.
4882 * g-wispch.ads: Likewise.
4883 * g-zspche.ads: Likewise.
4884 * namet-sp.ads: Likewise.
4885 * s-os_lib.ads: Likewise.
4886 * s-regexp.ads: Likewise.
4887 * s-regpat.ads: Likewise.
4888 * s-string.ads: Likewise.
4889 * s-tasloc.ads: Likewise.
4890 * s-utf_32.ads: Likewise.
4891 * sem_aux.ads: Likewise.
4892 * a-assert.adb: Likewise.
4893 * a-chacon.adb: Likewise.
4894 * a-envvar.adb: Likewise.
4895 * a-exetim-mingw.adb: Likewise.
4896 * a-suenco.adb: Likewise.
4897 * a-suenst.adb: Likewise.
4898 * a-suewst.adb: Likewise.
4899 * a-suezst.adb: Likewise.
4900 * a-tirsfi.adb: Likewise.
4901 * a-wichha.adb: Likewise.
4902 * a-zchhan.adb: Likewise.
4903 * a-zchuni.adb: Likewise.
4904 * a-zrstfi.adb: Likewise.
4905 * aspects.adb: Likewise.
4906 * g-byorma.adb: Likewise.
4907 * g-decstr.adb: Likewise.
4908 * g-encstr.adb: Likewise.
4909 * g-spchge.adb: Likewise.
4910 * g-u3spch.adb: Likewise.
4911 * g-wispch.adb: Likewise.
4912 * g-zspche.adb: Likewise.
4913 * namet-sp.adb: Likewise.
4914 * s-except.adb: Likewise.
4915 * s-inmaop-vxworks.adb: Likewise.
4916 * s-os_lib.adb: Likewise.
4917 * s-regexp.adb: Likewise.
4918 * s-regpat.adb: Likewise.
4919 * s-string.adb: Likewise.
4920 * s-tasloc.adb: Likewise.
4921 * s-utf_32.adb: Likewise.
4922 * s-wchcon.adb: Likewise.
4923 * sem_aux.adb: Likewise.
4924
4925 2012-04-02 Robert Dewar <dewar@adacore.com>
4926
4927 * s-atopri.ads: Minor reformatting.
4928
4929 2012-04-02 Thomas Quinot <quinot@adacore.com>
4930
4931 * sem_util.adb: Minor reformatting, minor code cleanup.
4932
4933 2012-04-02 Ed Schonberg <schonberg@adacore.com>
4934
4935 * lib-xref.adb (Generate_Reference): For a reference to an
4936 operator symbol, set the sloc to point to the first character
4937 of the operator name, and not to the initial quaote.
4938 (Output_References): Ditto for the definition of an operator
4939 symbol.
4940
4941 2012-04-02 Vincent Celier <celier@adacore.com>
4942
4943 * ali.adb (Scan_Ali): Recognize Z lines. Set
4944 Implicit_With_From_Instantiation to True in the With_Record for
4945 Z lines.
4946 * ali.ads (With_Record): New Boolean component
4947 Implicit_With_From_Instantiation, defaulted to False.
4948 * csinfo.adb: Indicate that Implicit_With_From_Instantiation
4949 is special
4950 * lib-writ.adb (Write_ALI): New array Implicit_With.
4951 (Collect_Withs): Set Implicit_With for the unit is it is not Yes.
4952 (Write_With_Lines): Write a Z line instead of a W line if
4953 Implicit_With is Yes for the unit.
4954 * sem_ch12.adb (Inherit_Context): Only add a unit in the context
4955 if it is not there yet.
4956 * sinfo.ads: New flag Implicit_With_From_Instantiation (Flag12)
4957 added.
4958
4959 2012-04-02 Yannick Moy <moy@adacore.com>
4960
4961 * osint.adb, osint.ads (Add_Default_Search_Dirs): Add library
4962 search dirs in file specified with option -gnateO.
4963
4964 2012-04-02 Robert Dewar <dewar@adacore.com>
4965
4966 * sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb: Minor
4967 reformatting.
4968
4969 2012-04-02 Olivier Hainque <hainque@adacore.com>
4970
4971 * g-sse.ads: Add x86-solaris and x86_64-darwin to the set of
4972 platforms where the use of this spec is supported. Add current
4973 year to the copyright notice.
4974 * gcc-interfaces/Makefile.in: Add g-sse.o and g-ssvety.o to
4975 EXTRA_GNATRTL_NONTASKING_OBJS on x86 32/64 targets that support
4976 it and where they were missing (x86-solaris, x86-freebsd,
4977 x86_64-freebsd, and x86-darwin).
4978
4979 2012-04-02 Gary Dismukes <dismukes@adacore.com>
4980
4981 * bindgen.adb (Gen_Ada_Init): When compiling for the AAMP small
4982 library, where we no longer suppress the Standard_Library,
4983 generate an empty body rather than the usual generation of
4984 assignments to imported globals, since those aren't present in
4985 the small library.
4986
4987 2012-04-02 Ed Schonberg <schonberg@adacore.com>
4988
4989 * sinfo.ads: Minor documentation fix.
4990
4991 2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
4992
4993 * sem_res.adb (Resolve_Conditional_Expression): Add local variables
4994 Else_Typ and Then_Typ. Add missing type conversions to the "then" and
4995 "else" expressions when their respective types are scalar.
4996
4997 2012-04-02 Vincent Pucci <pucci@adacore.com>
4998
4999 * exp_ch9.adb: Reordering of the local subprograms. New Table
5000 for the lock free implementation that maps each protected
5001 subprograms with the protected component it references.
5002 (Allow_Lock_Free_Implementation): New routine. Check if
5003 the protected body enables the lock free implementation.
5004 (Build_Lock_Free_Protected_Subprogram_Body): New routine.
5005 (Build_Lock_Free_Unprotected_Subprogram_Body): New routine.
5006 (Comp_Of): New routine.
5007 * Makefile.rtl: Add s-atopri.o
5008 * debug.adb: New compiler debug flag -gnatd9 for lock free
5009 implementation.
5010 * rtsfind.ads: RE_Atomic_Compare_Exchange_8,
5011 RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32,
5012 RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8,
5013 RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64, RE_Uint8,
5014 RE_Uint16, RE_Uint32, RE_Uint64 added.
5015 * s-atropi.ads: New file. Defines atomic primitives used
5016 by the lock free implementation.
5017
5018 2012-04-02 Emmanuel Briot <briot@adacore.com>
5019
5020 * g-expect.adb (Expect_Internal): Fix leak of the input file descriptor.
5021
5022 2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
5023
5024 * exp_ch4.adb (Expand_N_Quantified_Expression): Reimplemented.
5025 The expansion no longer uses the copy of the original QE created
5026 during analysis.
5027 * sem.adb (Analyze): Add processing for loop parameter specifications.
5028 * sem_ch4.adb (Analyze_Quantified_Expression): Reimplemented. The
5029 routine no longer creates a copy of the original QE. All
5030 constituents of a QE are now preanalyzed and resolved.
5031 * sem_ch5.adb (Analyze_Iteration_Scheme): Remove the guard which
5032 bypasses all processing when the iteration scheme is related to a
5033 QE. Relovate the code which analyzes loop parameter specifications
5034 to a separate routine. (Analyze_Iterator_Specification):
5035 Preanalyze the iterator name. This action was originally
5036 done in Analyze_Iteration_Scheme. Update the check which
5037 detects an iterator specification in the context of a QE.
5038 (Analyze_Loop_Parameter_Specification): New routine. This
5039 procedure allows for a stand-alone analysis of a loop parameter
5040 specification without the need of a parent iteration scheme. Add
5041 code to update the type of the loop variable when the range
5042 generates an itype and the context is a QE.
5043 (Pre_Analyze_Range): Renamed to Preanalyze_Range. Update all references
5044 to the routine.
5045 * sem_ch5.ads: Code reformatting.
5046 (Analyze_Loop_Parameter_Specification): New routine.
5047 * sem_ch6.adb (Fully_Conformant_Expressions): Detect a case
5048 when establishing conformance between two QEs utilizing different
5049 specifications.
5050 * sem_res.adb (Proper_Current_Scope): New routine.
5051 (Resolve): Do not resolve a QE as there is nothing to be done now.
5052 Ignore any loop scopes generated for QEs when detecting an expression
5053 function as the scopes are cosmetic and do not appear in the tree.
5054 (Resolve_Quantified_Expression): Removed. All resolution of
5055 QE constituents is now performed during analysis. This ensures
5056 that loop variables appearing in array aggregates are properly
5057 resolved.
5058
5059 2012-04-02 Ed Schonberg <schonberg@adacore.com>
5060
5061 * sem_util.adb (Build_Default_Subtype): If the base type is
5062 private and its full view is available, use the full view in
5063 the subtype declaration.
5064
5065 2012-04-02 Jose Ruiz <ruiz@adacore.com>
5066
5067 * gnat_ugn.texi: Add some minimal documentation about how to
5068 use GNATtest for cross platforms.
5069
5070 2012-04-02 Vincent Celier <celier@adacore.com>
5071
5072 * opt.ads (Object_Path_File_Name): New variable.
5073 * prj-attr.adb: New Compiler attribute Object_Path_Switches.
5074 * prj-nmsc.adb (Process_Compiler): Recognize new attribute
5075 Object_Path_Switches.
5076 * snames.ads-tmpl: New standard name Object_Path_Switches.
5077 * switch-c.adb (Scan_Front_End_Switches): Recognize new switch
5078 -gnateO= and put its value in Opt.Object_Path_File_Name.
5079
5080 2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
5081
5082 * exp_ch7.adb (Process_Declarations): Detect a case where
5083 a source object was initialized by another source object,
5084 but the expression was rewritten as a class-wide conversion
5085 of Ada.Tags.Displace.
5086 * exp_util.adb (Initialized_By_Ctrl_Function): Removed.
5087 (Is_Controlled_Function_Call): New routine.
5088 (Is_Displacement_Of_Ctrl_Function_Result): Removed.
5089 (Is_Displacement_Of_Object_Or_Function_Result): New routine.
5090 (Is_Source_Object): New routine.
5091 (Requires_Cleanup_Actions): Detect a case where a source object was
5092 initialized by another source object, but the expression was rewritten
5093 as a class-wide conversion of Ada.Tags.Displace.
5094 * exp_util.ads (Is_Displacement_Of_Ctrl_Function_Result): Removed.
5095 (Is_Displacement_Of_Object_Or_Function_Result): New routine.
5096
5097 2012-04-02 Ed Schonberg <schonberg@adacore.com>
5098
5099 * sem_res.adb (Resolve_Call): A call to an expression function
5100 does not freeze if it appears in a different scope from the
5101 expression function itself. Such calls appear in the generated
5102 bodies of other expression functions, or in pre/postconditions
5103 of subsequent subprograms.
5104
5105 2012-04-02 Yannick Moy <moy@adacore.com>
5106
5107 * lib-xref-alfa.adb: Code clean up.
5108
5109 2012-04-02 Ed Schonberg <schonberg@adacore.com>
5110
5111 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Do not suppress
5112 style checks, because the subprogram instance itself may contain
5113 violations of syle rules.
5114 * style.adb (Missing_Overriding): Check for missing overriding
5115 indicator on a subprogram instance.
5116
5117 2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
5118
5119 * sem_ch6.adb (Last_Implicit_Declaration): New routine.
5120 (Process_PPCs): Insert the body of _postconditions after the
5121 last internally generated declaration. This ensures that actual
5122 subtypes created for formal parameters are visible and properly
5123 frozen as _postconditions may reference them.
5124
5125 2012-04-02 Robert Dewar <dewar@adacore.com>
5126
5127 * einfo.adb (First_Component_Or_Discriminant) Now applies to
5128 all types with discriminants, not just records.
5129 * exp_attr.adb (Expand_N_Attribute): Add Scalar_Values handling
5130 for arrays, scalars and non-variant records.
5131 * sem_attr.adb (Analyze_Attribute): Handle Valid_Scalars
5132 * sem_attr.ads (Valid_Scalars): Update description
5133 * sem_util.ads, sem_util.adb (No_Scalar_Parts): New function.
5134
5135 2012-03-31 Eric Botcazou <ebotcazou@adacore.com>
5136
5137 Revert
5138 2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
5139
5140 * gcc-interface/decl.c (SS_MARK_NAME): New define.
5141 (gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities
5142 whose name is SS_MARK_NAME.
5143
5144 2012-03-30 Robert Dewar <dewar@adacore.com>
5145
5146 * exp_ch5.adb, sem_util.adb, exp_ch4.adb: Minor comment updates.
5147
5148 2012-03-30 Yannick Moy <moy@adacore.com>
5149
5150 * lib-xref-alfa.adb (Add_Alfa_File): Treat possibly 2 units at the same
5151 time, putting all scopes in the same Alfa file.
5152 (Add_Alfa_Xrefs): Correct errors in comparison function. Correct value
5153 of Def component.
5154 (Collect_Alfa): Possibly pass 2 units to Add_Alfa_File.
5155
5156 2012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
5157
5158 * exp_util.adb (Is_Secondary_Stack_BIP_Func_Call): Handle a case where
5159 a build-in-place call appears as Prefix'Reference'Reference.
5160
5161 2012-03-30 Yannick Moy <moy@adacore.com>
5162
5163 * lib-xref-alfa.adb: Minor refactoring to remove internal package.
5164
5165 2012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
5166
5167 * sem_ch5.adb (Analyze_Iteration_Scheme): Preanalyze the subtype
5168 definition of a loop when the context is a quantified expression.
5169
5170 2012-03-30 Vincent Celier <celier@adacore.com>
5171
5172 * prj.ads: Minor comment update.
5173
5174 2012-03-30 Yannick Moy <moy@adacore.com>
5175
5176 * lib-xref-alfa.adb, alloc.ads, lib-xref.ads: Minor addition of
5177 comments and refactoring.
5178
5179 2012-03-30 Robert Dewar <dewar@adacore.com>
5180
5181 * lib-xref.adb, lib-xref-alfa.adb: Minor reformatting & code
5182 reorganization.
5183
5184 2012-03-30 Yannick Moy <moy@adacore.com>
5185
5186 * lib-xref-alfa.adb (Generate_Dereference): Use Get_Code_Unit
5187 instead of Get_Source_Unit to get file for reference.
5188 (Traverse_Compilation_Unit): Do not add scopes for generic units.
5189 * lib-xref.adb (Generate_Reference): Use Get_Code_Unit instead
5190 of Get_Source_Unit to get file for reference.
5191 * sem_ch12.adb (Analyze_Package_Instantiation): Enable
5192 instantiation in Alfa mode.
5193
5194 2012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
5195
5196 * exp_ch7.adb (Process_Declarations): Replace
5197 the call to Is_Null_Access_BIP_Func_Call with
5198 Is_Secondary_Stack_BIP_Func_Call. Update the related comment.
5199 * exp_util.adb (Is_Null_Access_BIP_Func_Call): Removed.
5200 (Is_Secondary_Stack_BIP_Func_Call): New routine.
5201 (Requires_Cleanup_Actions): Replace
5202 the call to Is_Null_Access_BIP_Func_Call with
5203 Is_Secondary_Stack_BIP_Func_Call. Update the related comment.
5204 * exp_util.ads (Is_Null_Access_BIP_Func_Call): Removed.
5205 (Is_Secondary_Stack_BIP_Func_Call): New routine.
5206
5207 2012-03-30 Yannick Moy <moy@adacore.com>
5208
5209 * lib-xref-alfa.adb, lib-xref.adb: Code clean ups.
5210
5211 2012-03-30 Gary Dismukes <dismukes@adacore.com>
5212
5213 * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): For the case of a
5214 loop entity which is rewritten as a renaming
5215 of the indexed array, explicitly mark the entity as needing
5216 debug info so that Materialize entity will be set later by
5217 Debug_Renaming_Declaration when the renaming is expanded.
5218
5219 2012-03-30 Robert Dewar <dewar@adacore.com>
5220
5221 * sem_attr.ads: Update comment.
5222
5223 2012-03-30 Vincent Celier <celier@adacore.com>
5224
5225 * prj.ads: New Dependency_Kind: ALI_Closure.
5226
5227 2012-03-30 Thomas Quinot <quinot@adacore.com>
5228
5229 * exp_pakd.adb: Minor reformatting.
5230
5231 2012-03-30 Yannick Moy <moy@adacore.com>
5232
5233 * lib-xref-alfa.adb (Add_Alfa_File): Take into account possible absence
5234 of compilation unit for unit in Sdep_Table.
5235
5236 2012-03-30 Thomas Quinot <quinot@adacore.com>
5237
5238 * freeze.adb (Freeze_Record_Type): For a type with reversed bit
5239 order and reversed storage order, disable front-end relayout.
5240
5241 2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
5242
5243 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Copy
5244 the TYPE_PACKED flag from the base type.
5245
5246 2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
5247
5248 * gcc-interface/decl.c (SS_MARK_NAME): New define.
5249 (gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities
5250 whose name is SS_MARK_NAME.
5251
5252 2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
5253
5254 * gcc-interface/utils.c (add_parallel_type): Take a TYPE instead of a
5255 DECL and adjust. Move around.
5256 (has_parallel_type): New predicate.
5257 (rest_of_record_type_compilation): Return early if the type already
5258 has a parallel type.
5259 * gcc-interface/gigi.h (add_parallel_type): Adjust.
5260 * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes.
5261
5262 2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
5263
5264 * gcc-interface/utils.c (finish_record_type): Return early for padded
5265 types and tidy up.
5266
5267 2012-03-20 Arnaud Charlet <charlet@adacore.com>
5268
5269 * hlo.ads, hlo.adb: Removed, no longer used.
5270 * gcc-interface/Make-lang.in: Remove hlo.o. Update dependencies.
5271 * gcc-interface/Makefile.in: Remove EXTRA_LIBGNAT_SRCS (temporarly)
5272 and compute it from EXTRA_LIBGNAT_OBJS.
5273 Clean up comments, reorder LIBGNAT_SRCS and LIBGNAT_OBJS.
5274
5275 2012-03-20 Yannick Moy <moy@adacore.com>
5276
5277 * gnat_rm.texi, sem_attr.ads: Update documentation.
5278
5279 2012-03-19 Yannick Moy <moy@adacore.com>
5280
5281 * sem_ch6.adb: Minor code clean up.
5282
5283 2012-03-19 Vincent Celier <celier@adacore.com>
5284
5285 * make.adb (Scan_Make_Arg): Make sure all significant -m switches
5286 on the command line are counted.
5287
5288 2012-03-19 Robert Dewar <dewar@adacore.com>
5289
5290 * sem_elab.adb (Generate_Elab_Warnings): Fix spec, fix attribute
5291 reference case
5292
5293 2012-03-19 Robert Dewar <dewar@adacore.com>
5294
5295 * par-ch4.adb (Check_Bad_Exp): New procedure
5296
5297 2012-03-19 Robert Dewar <dewar@adacore.com>
5298
5299 * exp_attr.adb, sem_attr.adb, sem_attr.ads, snames.ads-tmpl: Add
5300 initial framework for Valid_Scalars attribute.
5301
5302 2012-03-19 Robert Dewar <dewar@adacore.com>
5303
5304 * scng.adb (Scan): Recognize incorrect preprocessor directive
5305
5306 2012-03-19 Robert Dewar <dewar@adacore.com>
5307
5308 * atree.adb (Allocate_Initialize_Node): Use Num_Extension_Nodes
5309 * atree.ads (Num_Extension_Nodes): New variable
5310 * debug.adb: New debug flag -gnatd.N
5311 * gnat1drv.adb (Adjust_Global_Switches): Adjust
5312 Num_Extension_Nodes if -gnatd.N set
5313
5314 2012-03-19 Eric Botcazou <ebotcazou@adacore.com>
5315
5316 * einfo.ads: Minor update to First_Rep_Item and Has_Gigi_Rep_Item
5317 descriptions.
5318
5319 2012-03-19 Robert Dewar <dewar@adacore.com>
5320
5321 * opt.ads: Remove HLO_Active flag.
5322 * sem.adb: Remove call of high level optimizer.
5323 * sem.ads (New_Nodes_OK): Removed.
5324 * sem_ch10.adb: Remove references to New_Nodes_OK.
5325 * switch-c.adb: Remove handling of -gnatH switch.
5326
5327 2012-03-19 Yannick Moy <moy@adacore.com>
5328
5329 * sem_ch6.adb (Check_Subprogram_Contract): Do not emit warnings
5330 on trivially True or False postconditions and Ensures components
5331 of contract-cases.
5332
5333 2012-03-19 Robert Dewar <dewar@adacore.com>
5334
5335 * gnat_ugn.texi: Fix index entry for -gnatei (now we have
5336 ug_words entry).
5337
5338 2012-03-19 Hristian Kirtchev <kirtchev@adacore.com>
5339
5340 * sem_ch3.adb (Get_Discriminant_Value): Instead of looking
5341 at the immediate correcponsing discriminant, traverse a
5342 potential chain of discriminants produced by type derivations.
5343 (Root_Corresponding_Discriminant): Traverse a chain of inherited
5344 discriminants and return the topmost discriminant.
5345
5346 2012-03-19 Bob Duff <duff@adacore.com>
5347
5348 * debug.adb: Minor comment change.
5349 * gnat_ugn.texi: Update documentation for elaboration regarding
5350 indirect calls.
5351
5352 2012-03-19 Gary Dismukes <dismukes@adacore.com>
5353
5354 * exp_ch3.adb (Expand_N_Object_Declaration): In
5355 the case of an object of a class-wide interface type, where the
5356 declaration is rewritten as a renaming, call Set_Debug_Info_Needed
5357 on the renaming entity so that Materialize_Entity will be
5358 set. Also, change existing call (for other than interface cases)
5359 to call Set_Debug_Info_Needed rather than Set_Needs_Debug_Info
5360 (as specified for that flag).
5361
5362 2012-03-19 Hristian Kirtchev <kirtchev@adacore.com>
5363
5364 * sem_ch4.adb (Analyze_Allocator): Detect an allocator generated
5365 by the build-in-place machinery where the designated type is
5366 indefinite, but the underlying type is not. Do not emit errors
5367 related to missing initialization in this case.
5368
5369 2012-03-19 Robert Dewar <dewar@adacore.com>
5370
5371 * gnat_ugn.texi: Add documentation for -gnateinnn switch.
5372 * sem_elab.adb, put_alfa.adb, lib-xref-alfa.adb: Minor reformatting.
5373 * sem_prag.adb: Minor comment update.
5374
5375 2012-03-15 Robert Dewar <dewar@adacore.com>
5376
5377 * errout.ads: Add entry for translating -gnateinn to
5378 /MAX_INSTANTIATIONS for VMS.
5379 * hostparm.ads (Max_Instantiations): Moved to Opt.
5380 * opt.ads (Maximum_Instantiations): Moved from Hostparm, and renamed.
5381 * sem_ch12.adb (Maximum_Instantiations): New name of
5382 Max_Instantiations (Analyze_Package_Instantiation): Change error
5383 msg for too many instantiations (mention -gnateinn switch).
5384 * switch-c.adb (Scan_Front_End_Switches): Implement -gnateinn switch.
5385 * switch.ads: Minor comment update.
5386 * usage.adb (Usage): Output line for -maxeinn switch.
5387 * vms_data.ads: Add entry for MAX_INSTANTIATIONS (-gnateinn).
5388
5389 2012-03-15 Yannick Moy <moy@adacore.com>
5390
5391 * alfa.ads Update the decription of ALI sections.
5392 (Alfa_File_Record): Add a component Unit_File_Name to store the
5393 unit file name for subunits.
5394 * get_alfa.adb, put_alfa.adb Adapt to the possible presence of
5395 a unit file name.
5396 * lib-xref-alfa.adb (Add_Alfa_File): For subunits, retrieve the
5397 file name of the unit.
5398
5399 2012-03-15 Yannick Moy <moy@adacore.com>
5400
5401 * sem_ch6.adb (Check_Subprogram_Contract): Do
5402 not issue warning on missing 'Result in postcondition if all
5403 postconditions and contract-cases already get a warning for only
5404 referring to pre-state.
5405
5406 2012-03-15 Bob Duff <duff@adacore.com>
5407
5408 * debug.adb: Add new debug switch -gnatd.U, which disables the
5409 support added below, in case someone trips over a cycle, and needs
5410 to disable this.
5411 * sem_attr.adb (Analyze_Access_Attribute):
5412 Treat Subp'Access as a call for elaboration purposes.
5413 * sem_elab.ads, sem_elab.adb (Check_Elab_Call): Add support
5414 for Subp'Access.
5415
5416 2012-03-15 Vincent Pucci <pucci@adacore.com>
5417
5418 * sem.ads, sem.adb (Preanalyze): New routine.
5419 * sem_ch4.adb (Analyze_Quantified_Expression): Call to the
5420 Preanalyze routine in Sem added. Renaming of Needs_Expansion
5421 into Need_Preanalysis.
5422 * sem_ch6.adb (Preanalyze): Removed.
5423
5424 2012-03-15 Robert Dewar <dewar@adacore.com>
5425
5426 * sem_ch4.adb (Analyze_Quantified_Expression): Add comment.
5427 * sem_prag.adb: Minor comment additions.
5428 * sem_attr.adb (Check_First_Last_Valid): Make sure prefix type
5429 is frozen.
5430
5431 2012-03-15 Vincent Pucci <pucci@adacore.com>
5432
5433 * sem_ch4.adb (Analyze_Quantified_Expression):
5434 Preanalyze the condition when the quantified expression will be
5435 further expanded.
5436
5437 2012-03-15 Yannick Moy <moy@adacore.com>
5438
5439 * sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, sem_ch6.adb,
5440 sem_warn.adb: Minor refactoring, renaming Case_Pragma in CTC_Pragma,
5441 to refer to both Test_Case pragma and Contract_Case pragma (same
5442 acronym as in Spec_CTC_List).
5443
5444 2012-03-15 Robert Dewar <dewar@adacore.com>
5445
5446 * sem_prag.adb, sem_prag.ads, sem_util.ads, sem_attr.adb, sem_ch6.adb,
5447 sem_warn.adb: Minor reformatting.
5448
5449 2012-03-15 Hristian Kirtchev <kirtchev@adacore.com>
5450
5451 * exp_util.adb (Initialized_By_Ctrl_Function): Do not loop over
5452 selector names as the function call always appears at the top selected
5453 component.
5454
5455 2012-03-15 Ed Schonberg <schonberg@adacore.com>
5456
5457 * sem_ch12.adb (Validate_Access_Subprogram_Instance): keep
5458 Mode_Conformance check for older versions of the language.
5459
5460 2012-03-15 Yannick Moy <moy@adacore.com>
5461
5462 * gnat_ugn.texi Document the extension of option -gnatw.t.
5463 * sem_ch3.adb (Analyze_Declaration): Check for suspicious
5464 contracts only after contract cases have been semantically
5465 analyzed.
5466 * sem_ch6.adb (Check_Subprogram_Contract): Consider also Ensures
5467 components of contract cases for detecting suspicious contracts.
5468
5469 2012-03-15 Yannick Moy <moy@adacore.com>
5470
5471 * aspects.adb, aspects.ads (Aspect_Id): New GNAT aspect
5472 Aspect_Contract_Case.
5473 * gnat_rm.texi Document the new pragma/aspect
5474 Contract_Case. Correct the documentation of the existing
5475 pragma/aspect Test_Case with the new semantics.
5476 * sem_attr.adb (Analyze_Attribute): Allow use of 'Result in the
5477 Ensures component of a Contract_Case pragma.
5478 * sem_ch13.adb (Analyze_Aspect_Specifications): Check new aspect
5479 and translate it into a pragma.
5480 (Check_Aspect_At_Freeze_Point): Take into account the new aspect.
5481 * sem_ch3.adb, sinfo.adb, sinfo.ads Renaming of TC (for test case)
5482 into CTC (for contract and test case).
5483 * sem_ch6.adb (Process_PPCs): Generate Check pragmas from
5484 Contract_Case pragmas, similarly to what is done already for
5485 postconditions.
5486 * sem_prag.adb, sem_prag.ads (Check_Contract_Or_Test_Case):
5487 Renaming of Check_Test_Case.
5488 (Analyze_Pragma, Sig_Flags): Take into account the new pragma.
5489 * sem_util.adb, sem_util.ads Renaming to take into account the
5490 new pragma, so that functions which applied only to Test_Case
5491 now apply to both Test_Case and Contract_Case.
5492 * par-prag.adb, sem_warn.adb, snames.ads-tmpl Take into account
5493 the new pragma.
5494
5495 2012-03-15 Robert Dewar <dewar@adacore.com>
5496
5497 * sem_ch6.ads: Minor comment updates.
5498 * sem_ch12.adb: Minor comment clarification.
5499
5500 2012-03-15 Robert Dewar <dewar@adacore.com>
5501
5502 * sem_ch5.adb: Minor reformatting.
5503
5504 2012-03-15 Ed Schonberg <schonberg@adacore.com>
5505
5506 * exp_ch3.adb (Expand_N_Object_Declaration): When rewriting the
5507 declaration of a class-wide object, retain the Ekind to prevent
5508 subsequent misuse of constants.
5509
5510 2012-03-15 Yannick Moy <moy@adacore.com>
5511
5512 * gnat_rm.texi, gnat_ugn.texi: Minor correction of invariant
5513 terminology.
5514
5515 2012-03-15 Hristian Kirtchev <kirtchev@adacore.com>
5516
5517 * exp_util.adb (Initialized_By_Ctrl_Function): Add code to
5518 process the case when a function call appears in object.operation
5519 format.
5520
5521 2012-03-15 Ed Schonberg <schonberg@adacore.com>
5522
5523 * sem_ch6.ads, sem_ch6.adb (Check_Subtype_Conformant): add
5524 Get_Inst formal, so that conformance within an instantiation
5525 follows renamings of formals. This is similar to what is already
5526 done in Check_Mode_conformant.
5527 * sem_ch12.adb (Vailidate_Access_Subprogram_Instance): check that
5528 formal and actual are subtype conformant. Previously only mode
5529 conformance was required.
5530
5531 2012-03-15 Robert Dewar <dewar@adacore.com>
5532
5533 * par-ch6.adb, einfo.ads, sem_eval.adb, sem_eval.ads,
5534 sem_case.adb: Minor reformatting.
5535
5536 2012-03-15 Robert Dewar <dewar@adacore.com>
5537
5538 * exp_attr.adb (Expand_N_Attribute_Reference): Add handling
5539 of First_Valid/Last_Valid.
5540 * sem_attr.adb (Check_First_Last_Valid): New procedure
5541 (Analyze_Attribute): Add handling of First_Valid and Last_Valid
5542 (Eval_Attribute): ditto.
5543 * snames.ads-tmpl: Add entries for First_Valid and Last_Valid.
5544
5545 2012-03-15 Ed Schonberg <schonberg@adacore.com>
5546
5547 * exp_ch5.adb (Expand_Predicated_Loop): Suppress warnings on
5548 loop variable, for the unusual case where the range has a single
5549 element and the loop variable has no visible assignment to it.
5550
5551 2012-03-15 Vincent Pucci <pucci@adacore.com>
5552
5553 * exp_ch4.adb (Expand_N_Quantified_Expression): Expand the
5554 original quantified expression node.
5555 * sem_ch4.adb (Analyze_Quantified_Expression): Properly analyze
5556 the quantified expression and preserve the original non-analyzed
5557 quantified expression when an expansion is needed.
5558 * sem_ch5.adb (Analyze_Iteration_Scheme): Special treatment
5559 for quantified expressions.
5560 (Analyze_Iterator_Specification): Special treatment for quantified
5561 expressions.
5562
5563 2012-03-15 Ed Falis <falis@adacore.com>
5564
5565 * s-vxwork-ppc.ads: Update FP_CONTEXT so name of former pad
5566 field matches VxWorks headers.
5567
5568 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5569
5570 * gcc-interface/Makefile.in (mips-sgi-irix6*): Remove.
5571
5572 * a-intnam-irix.ads, mlib-tgt-specific-irix.adb,
5573 s-intman-irix.adb, s-mastop-irix.adb, s-osinte-irix.adb,
5574 s-osinte-irix.ads, s-proinf-irix-athread.adb,
5575 s-proinf-irix-athread.ads, s-taprop-irix.adb, s-tasinf-irix.ads,
5576 system-irix-n32.ads, system-irix-n64.ads, system-irix-o32.ads:
5577 Remove.
5578
5579 * adaint.c [__mips && __sgi]: Remove.
5580 (__gnat_number_of_cpus) [__mips && __sgi]: Remove.
5581 [IS_CROSS && !(__mips && __sgi)]: Remove.
5582 * adaint.h [sgi && _LFAPI]: Remove.
5583 * cstreams.c (__gnat_full_name) [sgi]: Remove.
5584 * env.c (__gnat_unsetenv) [__mips && __sgi]: Remove.
5585 (__gnat_clearenv) [__mips && __sgi]: Remove.
5586 * errno.c (_SGI_MP_SOURCE): Remove.
5587 * gsocket.h [sgi]: Remove.
5588 * init.c: Remove IRIX reference.
5589 [sgi]: Remove.
5590 * link.c [sgi]: Remove.
5591 * s-oscons-tmplt.c [__mips && __sgi] (IOV_MAX): Don't define.
5592 (main) [__mips && __sgi] (MAX_tv_sec): Don't define.
5593 (CLOCK_SGI_FAST, CLOCK_SGI_CYCLE): Remove.
5594 * sysdep.c [sgi]: Remove.
5595 (getc_immediate_common) [sgi]: Remove.
5596 (__gnat_localtime_tzoff) [sgi]: Remove.
5597 * terminals.c [__mips && __sgi] (IRIX): Don't define.
5598 [IRIX] (USE_GETPTY): Don't define.
5599 (allocate_pty_desc) [USE_GETPTY]: Remove.
5600
5601 * g-traceb.ads: Remove IRIX reference.
5602 * g-trasym.ads: Likewise.
5603 * memtrack.adb: Likewise.
5604 * s-interr-sigaction.adb: Likewise.
5605
5606 * gnat_rm.texi (Implementation Advice): Remove SGI info.
5607 (Implementation Defined Characteristics): Likewise.
5608 * gnat_ugn.texi (Summary of Run-Time Configurations, mips-irix):
5609 Remove.
5610 (Irix-Specific Considerations): Remove.
5611
5612 2012-03-13 Tristan Gingold <gingold@adacore.com>
5613
5614 * gcc-interface/gigi.h (flag_vms_malloc64): Refine condition.
5615
5616 2012-03-13 Tristan Gingold <gingold@adacore.com>
5617
5618 * sysdep.c: Adjust condition after removal of __osf__.
5619
5620 2012-03-12 Eric Botcazou <ebotcazou@adacore.com>
5621
5622 * gcc-interface/gigi.h (shift_unc_components_for_thin_pointers): Kill.
5623 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Remove call
5624 to above function.
5625 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Adjust
5626 handling of thin pointers.
5627 <Attr_Descriptor_Size>: Likewise.
5628 (gnat_to_gnu) <N_Free_Statement>: Likewise.
5629 * gcc-interface/utils.c (shift_unc_components_for_thin_pointers): Kill.
5630 (convert_to_fat_pointer): Adjust handling of thin pointers.
5631 (convert) <POINTER_TYPE>: Likewise.
5632 * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise.
5633
5634 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5635
5636 * gcc-interface/Makefile.in (alpha*-dec-osf*): Remove.
5637 * a-intnam-tru64.ads, mlib-tgt-specific-tru64.adb,
5638 s-mastop-tru64.adb, s-osinte-tru64.adb, s-osinte-tru64.ads,
5639 s-taprop-tru64.adb, s-tasinf-tru64.ads, s-taspri-tru64.ads,
5640 system-tru64.ads: Remove.
5641
5642 * adaint.c (__gnat_number_of_cpus) [__alpha__ && __osf__]:
5643 Remove.
5644 [IS_CROSS] [!(__alpha__ && __osf__)]: Remove.
5645 * env.c [__alpha__ && __osf__]: Remove.
5646 * gsocket.h (_OSF_SOURCE): Remove.
5647 (HAVE_THREAD_SAFE_GETxxxBYyyy) [__osf__]: Remove.
5648 * init.c [__alpha__ && __osf__]: Remove.
5649 * link.c [__osf__]: Remove.
5650 * s-oscons-tmplt.c [__alpha__ && __osf__]: Remove.
5651 [__osf__ && !_SS_MAXSIZE]: Remove.
5652 * sysdep.c [__osf__]: Remove.
5653 * terminals.c [__alpha__ && __osf__]: Remove.
5654 [OSF1]: Remove.
5655
5656 * g-traceb.ads: Remove Tru64 reference.
5657 * g-trasym.ads: Likewise.
5658 * gnat_ugn.texi (Linking a Mixed C++ & Ada Program): Likewise.
5659 (Summary of Run-Time Configurations): Likewise.
5660 * memtrack.adb: Likewise.
5661
5662 2012-03-12 Tristan Gingold <gingold@adacore.com>
5663
5664 * gcc-interface/decl.c (gnat_to_gnu_param): Use flag_vms_malloc64
5665 instead of TARGET_MALLOC64.
5666 * gcc-interface/gigi.h (flag_vms_malloc64): Define instead
5667 of TARGET_MALLOC64.
5668
5669 2012-03-09 Robert Dewar <dewar@adacore.com>
5670
5671 * a-direct.adb, comperr.adb, freeze.adb: Minor reformatting.
5672
5673 2012-03-09 Arnaud Charlet <charlet@adacore.com>
5674
5675 * s-taskin.adb (Initialize_ATCB): Set Task_Image_Len to
5676 0 so that we never access this field uninitialized (e.g. in
5677 Task_Primitives.Operations.Enter_Task for the environment task).
5678
5679 2012-03-09 Vincent Pucci <pucci@adacore.com>
5680
5681 * exp_ch5.adb (Expand_Iterator_Loop):
5682 Call to Expand_Iterator_Loop_Over_Array added.
5683 (Expand_Iterator_Loop_Over_Array): New routine. Expansion of
5684 "of" iterator loop over arrays. Multidimensional array case added.
5685
5686 2012-03-09 Eric Botcazou <ebotcazou@adacore.com>
5687
5688 * uintp.ads: Fix minor pasto in comment.
5689
5690 2012-03-09 Vasiliy Fofanov <fofanov@adacore.com>
5691
5692 * a-direct.adb: Do not strip the trailing directory separator
5693 from path, as this is already done inside Normalize_Pathname;
5694 doing it again produces the wrong result on Windows for the
5695 drive's root dir (i.e. "X:\" becomes "X:").
5696
5697 2012-03-09 Thomas Quinot <quinot@adacore.com>
5698
5699 * exp_attr.adb, freeze.adb, sem_attr.adb, aspects.adb, aspects.ads,
5700 sem_ch13.adb, snames.ads-tmpl (Exp_Attr.Expand_N_Attribute_Reference):
5701 Add Attribute_Scalar_Storage_Order.
5702 (Sem_Attr.Analyze_Attribute, Eval_Attribute): Ditto.
5703 (Aspects): Add Aspect_Scalar_Storage_Order (Snames): Add
5704 Name_Scalar_Storage_Order and Attribute_Scalar_Storage_Order.
5705 (Sem_Ch13.Analyze_Attribute_Definition_Clause): Add processing
5706 for Scalar_Storage_Order.
5707 (Freeze): If Scalar_Storage_Order is specified, check that it
5708 is compatible with Bit_Order.
5709
5710 2012-03-09 Robert Dewar <dewar@adacore.com>
5711
5712 * s-osinte-linux.ads, sem_util.adb, s-taprop-linux.adb, exp_ch4.adb,
5713 a-strsup.ads, sem_ch6.adb, a-stwisu.ads, exp_ch3.adb,
5714 a-stzsup.ads: Minor reformatting.
5715
5716 2012-03-09 Thomas Quinot <quinot@adacore.com>
5717
5718 * s-ransee-vms.adb: Minor reformatting.
5719
5720 2012-03-09 Arnaud Charlet <charlet@adacore.com>
5721
5722 * comperr.adb (Delete_SCIL_Files): Fix handling of
5723 N_Package_Renaming_Declaration and N_Generic_Package_Declaration.
5724
5725 2012-03-09 Javier Miranda <miranda@adacore.com>
5726
5727 * sem_ch6.adb (Check_Body_To_Inline): In AAMP and VM targets
5728 use frontend inlining at all optimization levels.
5729 * sem_util.adb (Must_Inline): In AAMP and VM targets, given that
5730 there is no inlining support in the backend, use also frontend
5731 inlining when compiling with optimizations enabled.
5732 * exp_ch6.adb (Expand_Call): Minor code reorganization.
5733
5734 2012-03-09 Eric Botcazou <ebotcazou@adacore.com>
5735
5736 * gcc-interface/ada-tree.h (TYPE_VAX_FLOATING_POINT_P): Move around.
5737 (TYPE_UNCONSTRAINED_ARRAY): Adjust comment.
5738 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Tidy
5739 up. Add comment and use canonical predicate for thin pointers.
5740 (gnat_to_gnu) <N_Free_Statement>: Tidy up and reorder. Add comment
5741 and use canonical predicate for thin pointers.
5742 * gcc-interface/utils.c (convert_to_fat_pointer): Remove superfluous
5743 'else' and use standard name.
5744 (convert_to_thin_pointer): Delete.
5745 (convert) <POINTER_TYPE>: Do the difference in sizetype directly and
5746 change obsolete idioms. Do not call above function.
5747 (unchecked_convert): Fix formatting.
5748 * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: In the thin
5749 pointer case, use byte_position to get the field position.
5750
5751 2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
5752
5753 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set flags on the
5754 DECL node built for a type which has a non-trivial equivalent type.
5755
5756 2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
5757
5758 * gcc-interface/gigi.h (rest_of_type_decl_compilation): Delete.
5759 * gcc-interface/decl.c (defer_finalize_level): Likewise.
5760 (defer_finalize_list): Likewise.
5761 (gnat_to_gnu_entity): Delete references to above variables and do not
5762 call rest_of_type_decl_compilation.
5763 (rest_of_type_decl_compilation): Delete.
5764 (rest_of_type_decl_compilation_no_defer): Likewise.
5765 * gcc-interface/utils.c (rest_of_record_type_compilation): Do not call
5766 rest_of_type_decl_compilation.
5767 (create_type_decl): Likewise.
5768 (update_pointer_to): Likewise.
5769
5770 2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
5771
5772 * gcc-interface/trans.c (Identifier_to_gnu): Don't unshare initializer.
5773 (add_decl_expr): Mark external DECLs as used.
5774 * gcc-interface/utils.c (convert) <CONSTRUCTOR>: Copy the vector.
5775
5776 2012-03-07 Tristan Gingold <gingold@adacore.com>
5777
5778 * s-ransee-vms.adb: New file.
5779 * gcc-interface/Makefile.in: Use s-ransee-vms.adb on VMS.
5780 * gcc-interface/Make-lang.in: Update dependencies.
5781
5782 2012-03-07 Bob Duff <duff@adacore.com>
5783
5784 * rtsfind.ads: Add support for finding Super_String types.
5785 * sem_util.ads, sem_util.adb (Is_Bounded_String): New function
5786 to determine whether a given type is a bounded string type.
5787 (Is_Fully_Initialized_Type): Return True for bounded
5788 string types, to suppress bogus warnings.
5789 * exp_ch4.adb (Expand_Composite_Equality): Special case for bounded
5790 strings: equality composes. This allows us to remove default values in
5791 super strings.
5792 * a-strsup.ads, a-stwisu.ads, a-stzsup.ads: Update comments.
5793 * exp_ch3.adb (Expand_Freeze_Record_Type): Comment.
5794
5795 2012-03-07 Robert Dewar <dewar@adacore.com>
5796
5797 * sem_util.adb, exp_ch4.adb, exp_ch6.adb, sem_ch6.adb: Minor
5798 reformatting.
5799
5800 2012-03-07 Sergey Rybin <rybin@adacore.com frybin>
5801
5802 * gnat_ugn.texi: gnatpp: fix paragraph about sources with
5803 preprocessor directives.
5804
5805 2012-03-07 Arnaud Charlet <charlet@adacore.com>
5806
5807 * s-osinte-linux.ads, s-taprop-linux.adb (prctl): New function.
5808 (Enter_Task): Call prctl when relevant.
5809
5810 2012-03-07 Tristan Gingold <gingold@adacore.com>
5811
5812 * s-osinte-vms.ads: pthread_mutex_setname_np: new function.
5813
5814 2012-03-07 Ed Schonberg <schonberg@adacore.com>
5815
5816 * sem_ch6.adb (Process_Formals): a generic subprogram with
5817 a formal incomplete type does not require a freeze node.
5818
5819 2012-03-07 Bob Duff <duff@adacore.com>
5820
5821 * sem_util.ads: Minor reformatting.
5822
5823 2012-03-07 Geert Bosch <bosch@adacore.com>
5824
5825 * targparm.ads: New target parameter Atomic_Sync_Default,
5826 defaulting to True.
5827 * targparm.adb (Get_Target_Parameters): Add processing for
5828 Atomic_Sync_Default.
5829 * gnat1drv.adb (Adjust_Global_Switches): Adjust Supress_Options
5830 based on ASD.
5831
5832 2012-03-07 Javier Miranda <miranda@adacore.com>
5833
5834 * sem_ch3.adb (Analyze_Object_Declaration): If the object
5835 declaration has an init expression then stop the analysis of the
5836 object declaration if the expression which initializes the object
5837 is a call to an inlined function which returns an unconstrained
5838 and has been expanded into a procedure call.
5839 * sem_ch5.adb (Has_Call_Using_Secondary_Stack): Add missing
5840 support to handle selected components.
5841 * sem_ch6.ads (Cannot_Inline): Adding parameter Is_Serious plus
5842 documentation.
5843 * sem_ch6.adb (Check_And_Build_Body_To_Inline): New
5844 subprogram which implements the checks required by the
5845 new rules for frontend inlining and builds the body to inline.
5846 (Analyze_Subprogram_Body_Helper): Move code that
5847 checks inlining of subprogram that has nested subprogram
5848 to Check_And_Build_Body_To_Inline. Replace call to
5849 Build_Body_To_Inline by call to the new subprogram
5850 Check_And_Build_Body_To_Inline.
5851 (Cannot_Inline): New implementation.
5852 * sem_ch12.adb (Analyze_Package_Instantiation.Must_Inline_Subp):
5853 New subprogram.
5854 * sem_util.ad[sb] (Must_Inline): New subprogram.
5855 (Returns_Unconstrained_Type): New subprogram.
5856 * sem_res.adb (Resolve_Call): Do not create a transient scope
5857 for inlined calls.
5858 * inline.ads (Analyzing_Inlined_Bodies): Remove unreferenced variable.
5859 * inline.adb (Analyze_Inlined_Bodies, Initialize): Remove setting
5860 to false the variable Analyzing_Inlined_Bodies. Fix comments.
5861 * exp_ch4.adb (Expand_N_Allocator): Fix handling of finalization master.
5862 * exp_ch6.ads (List_Inlining_Info): New subprogram.
5863 * exp_ch6.adb (Expand_Call.Do_Inline): New subprogram.
5864 (Expand_Call.Do_Inline_Always): New subprogram.
5865 (In_Unfrozen_Instance): Move the declaration of this subprogram.
5866 (Expand_Inlined_Call.Reset_Dispatching_Calls): New subprogram.
5867 (Expand_Inlined_Call): Adding new support for inlining functions
5868 that return unconstrained types.
5869 (List_Inlining_Info): New subprogram.
5870 * debug.adb Document flags -gnatd.j and -gnatd.k
5871 * gnat1drv.adb Add call to generate the new listing of inlined
5872 calls and calls passed to the backend.
5873
5874 2012-03-07 Robert Dewar <dewar@adacore.com>
5875
5876 * sem_ch5.adb, s-vaflop.adb, s-taprop-vms.adb, exp_ch6.adb,
5877 s-gearop.adb, sem_ch6.adb, g-trasym.adb: Minor reformatting.
5878
5879 2012-03-07 Javier Miranda <miranda@adacore.com>
5880
5881 * a-ngrear.ads: Add documentation.
5882
5883 2012-03-07 Tristan Gingold <gingold@adacore.com>
5884
5885 * s-taprop-vms.adb (Create_Task): set thread name.
5886 * s-osinte-vms.ads (pthread_attr_setname_np): Declare.
5887
5888 2012-03-07 Arnaud Charlet <charlet@adacore.com>
5889
5890 * g-trasym.adb: Minor reformatting.
5891
5892 2012-03-07 Robert Dewar <dewar@adacore.com>
5893
5894 * a-ngrear.ads: Minor addition of ??? comment.
5895
5896 2012-03-07 Gary Dismukes <dismukes@adacore.com>
5897
5898 * exp_ch4.adb (Apply_Accessibility_Check): Call
5899 Remove_Side_Effects in the build-in-place case, to ensure that
5900 we capture the call and don't end up with two calls.
5901
5902 2012-03-07 Javier Miranda <miranda@adacore.com>
5903
5904 * exp_ch6.adb (Expand_Inlined_Call): Skip inlining of functions
5905 that return unconstrained types using an extended return statement
5906 since the support for inlining these functions has not been yet
5907 added to the frontend.
5908 * s-vaflop.adb, s-vaflop-vms-alpha.adb: Code reorganization.
5909 * a-ngrear.ads: Replace all the Inline_Always pragmas by pragma
5910 Inline.
5911 * a-ngrear.adb (Eigenvalues, Transpose): Restructured to use
5912 extended return statement.
5913 * a-strsup.adb, a-stzsup.adb, a-stwisu.adb (Concat, Super_Slice,
5914 Super_To_String): Restructured to use extended return statement.
5915 * a-chahan.adb (To_Basic, To_Lower, To_Upper): Restructured to
5916 use extended return statement.
5917 * s-gearop.adb (Diagonal, Matrix_Elementwise_Operation,
5918 Vector_Elementwise_Operation, Matrix_Elementwise_Operation,
5919 Matrix_Matrix_Scalar_Elementwise_Operation,
5920 Vector_Vector_Elementwise_Operation,
5921 Vector_Vector_Scalar_Elementwise_Operation,
5922 Matrix_Scalar_Elementwise_Operation,
5923 Vector_Scalar_Elementwise_Operation,
5924 Scalar_Matrix_Elementwise_Operation,
5925 Scalar_Vector_Elementwise_Operation, Matrix_Matrix_Product,
5926 Matrix_Vector_Product, Outer_Product, Unit_Matrix, Unit_Vector,
5927 Vector_Matrix_Product): Restructured to use extended return
5928 statement.
5929
5930 2012-03-07 Vincent Pucci <pucci@adacore.com>
5931
5932 * sem_ch5.adb (One_Bound): Minor reformatting.
5933
5934 2012-03-07 Tristan Gingold <gingold@adacore.com>
5935
5936 * s-osinte-vms-ia64.adb, s-osinte-vms-ia64.ads, s-osinte-vms.adb,
5937 s-osinte-vms.ads, gcc-interface/Makefile.in: Merge s-osinte-vms and
5938 s-osinte-vms-ia64.
5939
5940 2012-03-07 Ed Schonberg <schonberg@adacore.com>
5941
5942 * checks.adb (Apply_Predicate_Check): Do not generate a predicate
5943 check is the context is an internally generated type-specific
5944 function.
5945 * sem_ch6.adb (Process_PPCs); the formals of internally generated
5946 type-specific functions do not get assertion checks.
5947
5948 2012-03-07 Yannick Moy <moy@adacore.com>
5949
5950 * gnat_rm.texi: Minor renaming of title.
5951 * gnat_ugn.texi: Minor correction.
5952
5953 2012-03-07 Vincent Pucci <pucci@adacore.com>
5954
5955 * exp_ch4.adb (Expand_N_Quantified_Expression): Minor
5956 reformating.
5957 * sem_ch4.adb (Analyze_Quantified_Expression): Creation and
5958 analysis of the iteration scheme added in all cases.
5959 * sem_ch5.adb (Analyze_Iteration_Scheme): Minor reformating.
5960 (Analyze_Iterator_Specification): Minor reformating.
5961 * sem_res.adb (Resolve_Quantified_Expression): Resolution of
5962 the condition added in all cases.
5963
5964 2012-03-07 Thomas Quinot <quinot@adacore.com>
5965
5966 * einfo.adb, einfo.ads: Add flag Reverse_Storage_Order.
5967
5968 2012-03-07 Yannick Moy <moy@adacore.com>
5969
5970 * gnat_rm.texi, gnat_ugn.texi: Rewording of GNAT UG and GNAT RM to
5971 account for Ada 2012 assertions, and their pragma counterparts in GNAT.
5972
5973 2012-03-07 Thomas Quinot <quinot@adacore.com>
5974
5975 * exp_attr.adb, sem_attr.adb: Minor reformatting.
5976
5977 2012-03-07 Bob Duff <duff@adacore.com>
5978
5979 * hostparm.ads (Max_Instantiations): Increase parameter.
5980
5981 2012-03-07 Bob Duff <duff@adacore.com>
5982
5983 * par-prag.adb: Minor code rearrangement.
5984
5985 2012-03-07 Bob Duff <duff@adacore.com>
5986
5987 * a-strsup.ads, a-stwisu.ads, a-stzsup.ads (Super_String):
5988 Remove default initial value for Data. It is no longer needed
5989 because "=" now composes properly for untagged records. This
5990 default has caused efficiency problems.
5991
5992 2012-03-07 Ed Schonberg <schonberg@adacore.com>
5993
5994 * sem_res.adb (Resolve_Actuals): If the actual is a selected
5995 component of an anonymous access type, whose prefix is a variable,
5996 treat the variable as if it may be modified by the call, to
5997 suppress spurious warnings that a variable might be declared as
5998 a constant.
5999
6000 2012-03-07 Thomas Quinot <quinot@adacore.com>
6001
6002 * einfo.adb, einfo.ads: Remove unused entity flags.
6003
6004 2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
6005
6006 * gnat_ugn.texi (Inline Assembler): Fix swapping of Input and
6007 Output operands throughout.
6008
6009 2012-03-07 Hristian Kirtchev <kirtchev@adacore.com>
6010
6011 * sem_ch12.adb (Earlier): When two nodes come from the same
6012 generic instantiation, compare their locations. Otherwise always
6013 use the top level locations of the nodes.
6014
6015 2012-03-07 Thomas Quinot <quinot@adacore.com>
6016
6017 * einfo.ads, sem_prag.adb: Minor reformatting.
6018
6019 2012-03-05 Jason Merrill <jason@redhat.com>
6020
6021 * gcc-interface/Make-lang.in (doc/gnat_ugn.texi): Build xgnatugn
6022 before using it.
6023
6024 2012-03-04 Eric Botcazou <ebotcazou@adacore.com>
6025
6026 * gnatvsn.ads (Library_Version): Bump to 4.8.
6027
6028 2012-03-03 H.J. Lu <hongjiu.lu@intel.com>
6029
6030 * init.c (__gnat_adjust_context_for_raise): Also check
6031 "orq $0x0,(%esp)" for x32.
6032
6033 * link.c (__gnat_default_libgcc_subdir): Set to libx32 for x32.
6034
6035 * gcc-interface/Makefile.in (arch): Set to x32 if MULTISUBDIR
6036 is /x32 and add support for x32.
6037
6038 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
6039
6040 * gcc-interface/decl.c (components_to_record): Add ARTIFICIAL parameter
6041 and set TYPE_ARTIFICIAL according to it. Adjust recursive call.
6042 (gnat_to_gnu_entity) <E_Record_Type>: Adjust call to above function.
6043 * gcc-interface/utils.c (rest_of_record_type_compilation): Do not
6044 invoke rest_of_type_decl_compilation on the parallel type, if any.
6045
6046 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
6047
6048 * gcc-interface/utils.c (gnat_write_global_declarations): Make sure the
6049 dummy global built for global types is preserved.
6050
6051 2012-02-27 Tristan Gingold <gingold@adacore.com>
6052
6053 * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
6054 E_Array_Type]: Reuse dummy fat type for gnu_ptr_template and
6055 gnu_template_type.
6056
6057 2012-02-27 Eric Botcazou <ebotcazou@adacore.com>
6058
6059 * gcc-interface/ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Add checking.
6060 (TYPE_BY_REFERENCE_P): New flag.
6061 (TYPE_IS_BY_REFERENCE_P): New macro.
6062 (TYPE_DUMMY_P): Add checking and remove VOID_TYPE.
6063 (TYPE_IS_DUMMY_P): Adjust for above change.
6064 * gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_BY_REFERENCE_P
6065 and TYPE_IS_BY_REFERENCE_P instead of TREE_ADDRESSABLE.
6066 (gnat_to_gnu_param): Likewise.
6067 (maybe_pad_type): Likewise.
6068 (make_type_from_size): Use TYPE_IS_PACKED_ARRAY_TYPE_P.
6069 * gcc-interface/misc.c (must_pass_by_ref): Use TYPE_IS_BY_REFERENCE_P
6070 instead of TREE_ADDRESSABLE.
6071 * gcc-interface/trans.c (finalize_nrv): Likewise.
6072 (call_to_gnu): Likewise. Do not create a temporary for return values
6073 with by-reference type here.
6074 (gnat_to_gnu): Test TYPE_IS_DUMMY_P instead of TYPE_DUMMY_P.
6075 (gnat_gimplify_expr) <ADDR_EXPR>: Don't do anything for non-constant
6076 CONSTRUCTORs and calls.
6077 * gcc-interface/utils.c (make_dummy_type): Get the equivalent type of
6078 the underlying type and use it throughout. Use TYPE_IS_BY_REFERENCE_P
6079 instead of TREE_ADDRESSABLE.
6080 * gcc-interface/utils2.c (build_cond_expr): Deal with by-reference
6081 types explicitly.
6082
6083 2012-02-27 Eric Botcazou <ebotcazou@adacore.com>
6084
6085 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Revert previous
6086 change that creates a special VAR_DECL for debugging purposes. For an
6087 aliased object with an unconstrained nominal subtype, make its type a
6088 thin reference to the underlying object.
6089 * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Deal with
6090 expressions built for the initialization of above objects.
6091
6092 2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com>
6093
6094 * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
6095 Windows-specific make variable.
6096 (WIN_SO_INSTALL_DIR [windows targets]): Likewise.
6097 (install-gnatlib): Respect the above during installation when set,
6098 and also install any windows import library that has been built.
6099 (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
6100 build a corresponding import library.
6101
6102 2012-02-22 Robert Dewar <dewar@adacore.com>
6103
6104 * exp_util.adb, make.adb, sem_dim.adb, sem_ch4.adb, exp_disp.adb: Minor
6105 reformatting.
6106
6107 2012-02-22 Geert Bosch <bosch@adacore.com>
6108
6109 * g-bytswa-x86.adb, g-bytswa.adb, gcc-interface/Makefile.in: Remove
6110 x86-specific version of byteswap and use GCC builtins instead.
6111
6112 2012-02-22 Tristan Gingold <gingold@adacore.com>
6113
6114 * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
6115 E_Array_Type]: Translate component ealier.
6116
6117 2012-02-22 Robert Dewar <dewar@adacore.com>
6118
6119 * par-ch3.adb (P_Signed_Integer_Type_Definition): Specialize
6120 error message for 'Range.
6121
6122 2012-02-22 Pascal Obry <obry@adacore.com>
6123
6124 * s-taprop-mingw.adb (Finalize_TCB): Do not wait on thread handle as
6125 this is our own thread.
6126
6127 2012-02-22 Sergey Rybin <rybin@adacore.com frybin>
6128
6129 * tree_io.ads: Update ASIS_Version_Number because of the changes
6130 in Snames.
6131
6132 2012-02-22 Hristian Kirtchev <kirtchev@adacore.com>
6133
6134 * exp_ch7.adb (Create_Finalizer): Suppress elaboration checks on
6135 stack-related finalizers.
6136
6137 2012-02-22 Ed Schonberg <schonberg@adacore.com>
6138
6139 * sem_ch6.adb (Analyze_Expression_Function): If the construct
6140 is a completion, indicate that its formals are the formals of
6141 a completion, and as such do not get a cross- reference entry.
6142 (Analyze_Subprogram_Specification): Do not generate a definition
6143 for the entity of an expression function, because it may be a
6144 completion. Definition will be generated if needed when analyzing
6145 the generated subprogram declaration.
6146
6147 2012-02-22 Vincent Celier <celier@adacore.com>
6148
6149 * make.adb (Check): When checking if an object file is in the
6150 correct object directory, get the unit name from a previous call
6151 to Check_Source_Info_In_ALI.
6152 * makeutl.adb (Check_Source_Info_In_ALI): Return the name of
6153 the unit when everything is OK, otherwise return No_Name.
6154 * makeutl.ads (Check_Source_Info_In_ALI): Return Name_Id instead
6155 of Boolean
6156
6157 2012-02-22 Ed Schonberg <schonberg@adacore.com>
6158
6159 * sem_ch4.adb (Find_Equality_Types, Try_One_Interp): In an
6160 instance, the operator is visible if an operand is of some
6161 numeric type which is not in use or directly visible, and the
6162 other operand is a numeric literal.
6163
6164 2012-02-22 Tristan Gingold <gingold@adacore.com>
6165
6166 * init.c: Minor code clean up.
6167 * gcc-interface/Make-lang.in: Update dependencies.
6168
6169 2012-02-22 Arnaud Charlet <charlet@adacore.com>
6170
6171 * gnatlink.adb (Gnatlink): Use -gnatcC in CodePeer_Node,
6172 otherwise GCC will generate an object file.
6173
6174 2012-02-22 Vincent Celier <celier@adacore.com>
6175
6176 * projects.texi: Correct typo related to "**" in Source_Dirs.
6177
6178 2012-02-22 Steve Baird <baird@adacore.com>
6179
6180 * sem_prag.adb (Analyze_PPC_In_Decl_Part): Clean up generation of
6181 error message text.
6182
6183 2012-02-22 Vincent Pucci <pucci@adacore.com>
6184
6185 * rtsfind.adb (Get_Unit_Name): Ada_Numerics_Child and
6186 System_Dim_Child cases added.
6187 * rtsfind.ads: Ada_Numerics,
6188 Ada_Numerics_Generic_Elementary_Functions, System_Dim,
6189 System_Dim_Float_IO and System_Dim_Integer_IO added to the list
6190 of RTU_Id. Ada_Numerics_Child and System_Dim_Child added as
6191 new RTU_Id subtypes.
6192 * sem_dim.adb (Is_Dim_IO_Package_Entity): Use of
6193 Rtsfind to verify the package entity is located either
6194 in System.Dim.Integer_IO or in System.Dim.Float_IO.
6195 (Is_Dim_IO_Package_Instantiation): Minor
6196 changes. (Is_Elementary_Function_Call): Removed.
6197 (Is_Elementary_Function_Entity): New routine.
6198 (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity call added.
6199 * snames.ads-tmpl: Name_Dim and Name_Generic_Elementary_Functions
6200 removed.
6201
6202 2012-02-22 Vincent Pucci <pucci@adacore.com>
6203
6204 * sem_prag.adb: Minor reformatting.
6205
6206 2012-02-22 Ed Schonberg <schonberg@adacore.com>
6207
6208 * sem_ch3.adb (Find_Type_Name): When analyzing a private type
6209 declaration that is the completion of a tagged incomplete type, do
6210 not associate the class-wide type already created with the private
6211 type to prevent order-of-elaboration issues in the back-end.
6212 * exp_disp.adb (Find_Specific_Type): Find specific type of
6213 a class-wide type, and handle the case of an incomplete type
6214 coming either from a limited_with clause or from an incomplete
6215 type declaration. Used when expanding a dispatchin call and
6216 generating tag checks (minor refactoring).
6217
6218 2012-02-22 Robert Dewar <dewar@adacore.com>
6219
6220 * exp_ch5.adb: Add comment.
6221 * sem_ch12.adb, exp_ch6.adb: minor reformatting
6222
6223 2012-02-22 Ed Schonberg <schonberg@adacore.com>
6224
6225 * freeze.adb (Freeze_Entity): Do not perform type layout within
6226 a generic unit.
6227
6228 2012-02-22 Eric Botcazou <ebotcazou@adacore.com>
6229
6230 * init.c (__gnat_error_handler) [Linux]: Map SIGBUS to
6231 Storage_Error.
6232
6233 2012-02-22 Ed Schonberg <schonberg@adacore.com>
6234
6235 * exp_ch5.adb (Expand_N_Assignment_Statement): Reject an
6236 assignment to a classwide type whose type is limited, as
6237 can happen in an instantiation in programs that run afoul or
6238 AI05-0087.
6239
6240 2012-02-17 Ed Schonberg <schonberg@adacore.com>
6241
6242 * exp_ch6.adb (Legal_Copy): If layout is not
6243 determined in the front-end, do not emit error message when
6244 by-reference actual is potentially unaligned.
6245 * gcc-interface/decl.c (gnat_to_gnu_field): Better error message for
6246 illegal representation clause on tagged or aliased component, or on
6247 by-reference type with forced alignment.
6248
6249 2012-02-17 Nicolas Roche <roche@adacore.com>
6250
6251 * gcc-interface/Makefile.in: Ensure FORCE_DEBUG_ADAFLAGS variables is
6252 propagated by gnatlib-sjlj and gnatlib-zcx targets.
6253 * gcc-interface/Make-lang.in: Update dependencies.
6254
6255 2012-02-17 Thomas Quinot <quinot@adacore.com>
6256
6257 * sem_ch12.adb (Analyze_Package_Instantiation): For an
6258 instantiation in an RCI library unit, omit the instance body
6259 if the RCI library unit is the instance itself (E.2.3(18)),
6260 but include the body if the instantiation is within the RCI
6261 declaration (12.3(12)).
6262
6263 2012-02-17 Steve Baird <baird@adacore.com>
6264
6265 * sem_prag.adb (Analyze_PPC_In_Decl_Part): Pre'Class and
6266 Post'Class aspects can only be specified for a primitive operation
6267 of a tagged type.
6268
6269 2012-02-17 Yannick Moy <moy@adacore.com>
6270
6271 * gnat_rm.texi: Minor shuffling.
6272
6273 2012-02-17 Ed Schonberg <schonberg@adacore.com>
6274
6275 * aspects.adb: Expression functions can carry pre/postconditions.
6276 * par-ch6.adb (P_Subprogram): look for optional pre/postconditions
6277 in an expression function.
6278 * sem_prag (Check_Precondition_Postcondition): legal on expression
6279 functions.
6280
6281 2012-02-17 Vincent Pucci <pucci@adacore.com>
6282
6283 * a-cdlili.adb, a-cidlli.adb, a-cihama.adb, a-cimutr.adb,
6284 * a-ciorma.adb, a-cohama.adb, a-coinve.adb, a-comutr.adb,
6285 * a-convec.adb, a-coorma.adb (Adjust): New routine.
6286 (Constant_Reference): Increment Busy and Lock counters.
6287 (Reference): Increase Busy and Lock counters.
6288 (Finalize): New routine.
6289 * a-cihase.adb, a-ciorse.adb, a-cohase.adb, a-coorse.adb:
6290 (Adjust): New routine. (Constant_Reference): Increment Busy
6291 and Lock counters.
6292 (Finalize): New routine.
6293 * a-cdlili.ads, a-cidlli.ads, a-cihama.ads, a-cihase.ads,
6294 * a-cimutr.ads, a-ciorma.ads, a-ciorse.ads, a-cohama.ads,
6295 * a-cohase.ads, a-coinve.ads, a-comutr.ads, a-convec.ads,
6296 * a-coorma.ads, a-coorse: Controlled component added to the
6297 reference types.
6298
6299 2012-02-17 Robert Dewar <dewar@adacore.com>
6300
6301 * restrict.adb (Check_Restriction): Add special handling for
6302 No_Obsolescent_Features.
6303
6304 2012-02-17 Hristian Kirtchev <kirtchev@adacore.com>
6305
6306 * exp_util.adb (Find_Finalize_Address): When dealing with an
6307 internally built full view for a type with unknown discriminants,
6308 use the original record type.
6309
6310 2012-02-17 Robert Dewar <dewar@adacore.com>
6311
6312 * sem_dim.adb: Minor reformatting.
6313
6314 2012-02-17 Yannick Moy <moy@adacore.com>
6315
6316 * gnat_rm.texi: Minor rewording.
6317
6318 2012-02-17 Thomas Quinot <quinot@adacore.com>
6319
6320 * sem_aggr.adb: Minor reformatting.
6321
6322 2012-02-17 Robert Dewar <dewar@adacore.com>
6323
6324 * gnat_ugn.texi: Update doc for -gnatw.m to include 2*x case.
6325
6326 2012-02-17 Vincent Pucci <pucci@adacore.com>
6327
6328 * sem_dim.adb (Is_Dim_IO_Package_Entity): New routine.
6329 (Is_Dim_IO_Package_Instantiation): Is_Dim_IO_Package_Entity
6330 call added.
6331 (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity
6332 call added.
6333 * s-dim.ads: Make package Pure.
6334
6335 2012-02-17 Gary Dismukes <dismukes@adacore.com>
6336
6337 * prj-nmsc.adb: Minor reformatting.
6338
6339 2012-02-17 Yannick Moy <moy@adacore.com>
6340
6341 * gnat_rm.texi: Update GNAT RM with a separate chapter on restrictions.
6342
6343 2012-02-17 Yannick Moy <moy@adacore.com>
6344
6345 * gnat_ugn.texi: Fix typos.
6346
6347 2012-02-17 Pascal Obry <obry@adacore.com>
6348
6349 * prj-nmsc.adb: prj-nmsc.adb (Check_Aggregated): Check that an
6350 aggregate is not Externally_Built.
6351
6352 2012-02-17 Ed Schonberg <schonberg@adacore.com>
6353
6354 * sem_aggr.adb (Resolve_Record_Aggregate): If a composite
6355 component has a box association, copy the default value using
6356 the current scope as the scope of internal types, to prevent
6357 scoping anomalies in gigi.
6358
6359 2012-02-17 Robert Dewar <dewar@adacore.com>
6360
6361 * sem_dim.adb, sem_dim.ads, s-tasren.adb, prj.adb, prj.ads, freeze.adb,
6362 sem_res.adb, exp_ch4.adb, sinput.adb, sinput.ads, exp_aggr.adb,
6363 exp_intr.adb, s-os_lib.adb: Minor reformatting.
6364
6365 2012-02-17 Ed Schonberg <schonberg@adacore.com>
6366
6367 * sem_ch6.adb (Is_Non_Overriding_Operation): Add warning if the
6368 old operation is abstract, the relevant type is not abstract,
6369 and the new subprogram fails to override.
6370
6371 2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
6372
6373 * gcc-interface/trans.c (Identifier_to_gnu): Move block retrieving the
6374 type of the result to the end and execute it for a deferred constant of
6375 a discriminated type whose full view can be elaborated statically.
6376
6377 2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
6378
6379 * gcc-interface/trans.c (gnat_to_gnu) <N_Qualified_Expression>: If the
6380 type is tagged, mark it as used for debugging purposes.
6381 <N_Allocator>: Likewise for a qualified expression.
6382
6383 2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
6384
6385 * gcc-interface/trans.c (call_to_gnu): Create the temporary for the
6386 return value in the by-reference return type case if this isn't the
6387 expression of an object declaration. Tidy up.
6388
6389 2012-02-09 Tristan Gingold <gingold@adacore.com>
6390
6391 * gcc-interface/Makefile.in: Remove .sym rule (not used).
6392 Remove adamsg.o object (requires native message compiler).
6393 * init.c (CMA$_EXIT_THREAD, MTH$_FLOOVEMAT, SS$_INTDIV): Define as a
6394 macro instead of as extern int.
6395 (ADA$_ALREADY_OPEN, ADA$_CONSTRAINT_ERRO, ADA$_DATA_ERROR)
6396 (ADA$_DEVICE_ERROR, ADA$_END_ERROR, ADA$_FAC_MODE_MISMAT)
6397 (ADA$_IOSYSFAILED, ADA$_KEYSIZERR, ADA$_KEY_MISMATCH)
6398 (ADA$_LAYOUT_ERROR, ADA$_LINEXCMRS, ADA$_MAXLINEXC)
6399 (ADA$_MODE_ERROR, ADA$_MRN_MISMATCH, ADA$_MRS_MISMATCH)
6400 (ADA$_NAME_ERROR, ADA$_NOT_OPEN, ADA$_ORG_MISMATCH)
6401 (ADA$_PROGRAM_ERROR, ADA$_RAT_MISMATCH, ADA$_RFM_MISMATCH)
6402 (ADA$_STAOVF, ADA$_STATUS_ERROR, ADA$_STORAGE_ERROR)
6403 (ADA$_UNSUPPORTED, ADA$_USE_ERROR): Likewise.
6404 (struct cond_except): Field cond is now an unsigned int.
6405 (dec_ada_cond_except_table): Adjust.
6406 (cond_except_table): Likewise.
6407 (cond_resignal_table): Likewise.
6408 (__gnat_default_resignal_p): Fix style.
6409
6410 2012-02-08 Vincent Celier <celier@adacore.com>
6411
6412 * gcc-interface/Make-lang.in: Add g-byorma.o to gnatbind objects
6413 (g-buorma is now imported by sinput).
6414 Update dependencies.
6415 * scn.adb (Initialize_Scanner): Call Check_For_BOM
6416 * sinput-p.adb (Source_File_Is_Subunit): Call Check_For_BOM
6417 * sinput.adb: New procedure Check_For_BOM
6418 * sinput.ads: New procedure Check_For_BOM
6419
6420 2012-02-08 Vincent Pucci <pucci@adacore.com>
6421
6422 * impunit.adb: Dimension package names updated
6423 * Makefile.rtl: s-dim added
6424 * sem_dim.adb (Is_Procedure_Put_Call): minor changes
6425 (Is_Dim_IO_Package_Instantiation): minor changes
6426 * sem_dim.ads: minor changes in comments
6427 * snames.ads-tmpl: Name_Dim added Name_Dim_Float_IO and
6428 Name_Dim_Integer_IO removed
6429 * s-dim.ads: New package. Define the dimension terminology.
6430 * s-diflio.adb, s-diinio.adb, s-dimkio.ads, s-dimmks.ads,
6431 * s-dmotpr.ads: Package names updated.
6432 * s-diflio.ads, s-diinio.ads: Documentation added and package
6433 names updated.
6434
6435 2012-02-08 Gary Dismukes <dismukes@adacore.com>
6436
6437 * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): Revise test
6438 for storage pools to test for an underlying record type rather than
6439 testing Is_Tagged_Type, so that simple storage pools will be handled
6440 the same as normal Ada storage pools.
6441
6442 2012-02-08 Yannick Moy <moy@adacore.com>
6443
6444 * gnat_rm.texi: Minor reshuffling to place restriction at
6445 appropriate place.
6446
6447 2012-02-08 Bob Duff <duff@adacore.com>
6448
6449 * warnsw.adb (Set_Warning_Switch): Set Warn_On_Suspicious_Modulus_Value
6450 False for '-gnatwA', to suppress these warnings.
6451
6452 2012-02-08 Vincent Celier <celier@adacore.com>
6453
6454 * sinput-p.adb (Source_File_Is_Subunit): Check for BOM before
6455 starting to scan, so that UTF8 encoding is taken into account.
6456
6457 2012-02-08 Arnaud Charlet <charlet@adacore.com>
6458
6459 * s-tasren.adb, s-tasren.ads (Internal_Complete_Rendezvous): New
6460 function.
6461 (Complete_Rendezvous): Now call Internal_Complete_Rendezvous.
6462 (Exceptional_Complete_Rendezvous): Mark No_Return.
6463
6464 2012-02-08 Eric Botcazou <ebotcazou@adacore.com>
6465
6466 * exp_aggr.adb (Compile_Time_Known_Composite_Value):
6467 New predicate to compute whether a composite value can be
6468 evaluated at compile time.
6469 (Component_Not_OK_For_Backend): Use Compile_Time_Known_Value for all
6470 expressions of elementary type and Compile_Time_Known_Composite_Value
6471 for all other expressions.
6472 (Expand_Record_Aggregate): Convert to assignments in the case
6473 of a type with mutable components if the aggregate cannot be
6474 built statically.
6475
6476 2012-02-08 Gary Dismukes <dismukes@adacore.com>
6477
6478 * aspects.ads (type Aspect_Id): Add Simple_Storage_Pool_Type.
6479 (Impl_Defined_Aspects): Add association for
6480 Aspect_Simple_Storage_Pool_Type.
6481 (Aspect_Names): Add
6482 association for Aspect_Simple_Storage_Pool_Type.
6483 * aspects.adb:
6484 (Canonical_Aspect): Add association for Simple_Storage_Pool_Type.
6485 * exp_attr.adb (Expand_N_Attribute_Reference):
6486 Change name to Name_Simple_Storage_Pool_Type.
6487 * exp_ch4.adb (Expand_N_Allocator): Change
6488 name to Name_Simple_Storage_Pool_Type.
6489 * exp_intr.adb (Expand_Unc_Deallocation): Change name to
6490 Name_Simple_Storage_Pool_Type. * freeze.adb (Freeze_Entity):
6491 Change names to Name_Simple_Storage_Pool_Type. * par-prag.adb:
6492 Change names to Name_Simple_Storage_Pool_Type. * sem_attr.adb:
6493 (Analyze_Attribute): Change name to Name_Simple_Storage_Pool_Type.
6494 * sem_ch13.adb (Analyze_Attribute_Definition_Clause):
6495 Change name to Name_Simple_Storage_Pool_Type.
6496 * sem_prag.adb:
6497 (Analyze_Pragma): Change name to Name_Simple_Storage_Pool_Type.
6498 (Sig_Flags): Change name to Name_Simple_Storage_Pool_Type.
6499 * sem_res.adb (Resolve_Allocator): Change name to
6500 Name_Simple_Storage_Pool_Type. * snames.ads-tmpl:
6501 (Name_Simple_Storage_Pool_Type): New name constant.
6502 (type Pragma_Id): Change name to Name_Simple_Storage_Pool_Type and
6503 move to main pragma section because it no longer matches the
6504 attribute name.
6505 * snames.adb-tmpl (Get_Pragma_Id): Remove test for
6506 Name_Simple_Storage_Pool.
6507 (Is_Pragma_Name): Remove test for Name_Simple_Storage_Pool.
6508
6509 2012-02-08 Robert Dewar <dewar@adacore.com>
6510
6511 * gnat_ugn.texi: Add some clarification to -gnatwA and -gnatws.
6512
6513 2012-02-08 Pascal Obry <obry@adacore.com>
6514
6515 * prj.adb (Compute_All_Imported_Projects): Use new
6516 For_Project_And_Aggregated_Context to ensure proper context is
6517 used for encapsulated aggregate libraries.
6518 * prj-proc.adb (Recursive_Process): Call
6519 Process_Aggregated_Projects earlier to ensure that all dependent
6520 projects are set with the proper encapsulated status.
6521
6522 2012-02-08 Pascal Obry <obry@adacore.com>
6523
6524 * s-os_lib.adb (Normalize_Arguments): Properly escape last \ in null
6525 terminated string.
6526
6527 2012-02-08 Pascal Obry <obry@adacore.com>
6528
6529 * prj.ads, prj.adb (For_Project_And_Aggregated_Context): New
6530 generic routine with a context parameter.
6531
6532 2012-02-08 Robert Dewar <dewar@adacore.com>
6533
6534 * a-coinve.adb, sem_util.adb, sem_ch8.adb, a-cobove.adb,
6535 a-convec.adb: Minor reformatting and code reorganization.
6536
6537 2012-02-08 Steve Baird <baird@adacore.com>
6538
6539 * sem_cat.adb (In_Preelaborated_Unit): A child
6540 unit instantiation does not inherit preelaboration requirements
6541 from its parent.
6542
6543 2012-02-08 Gary Dismukes <dismukes@adacore.com>
6544
6545 * aspects.ads (type Aspect_Id): Add Aspect_Simple_Storage_Pool.
6546 (Impl_Defined_Aspects): Add entry for Aspect_Simple_Storage_Pool.
6547 (Aspect_Argument): Add Name entry for Aspect_Simple_Storage_Pool.
6548 (Aspect_Names): Add entry for Aspect_Simple_Storage_Pool.
6549 * aspects.adb (Canonical_Aspect): Add entry for
6550 Aspect_Simple_Storage_Pool.
6551 * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of
6552 Attribute_Simple_Storage_Pool in the same way as Storage_Pool
6553 (add conversion, analyze/resolve). For the Storage_Size attribute,
6554 for the simple pool case, locate and use the simple pool type's
6555 Storage_Size function (if any), otherwise evaluate to zero.
6556 * exp_ch4.adb (Expand_N_Allocator): In the case of an allocator
6557 for an access type with an associated simple storage pool,
6558 locate and use the pool type's Allocate.
6559 * exp_intr.adb (Expand_Unc_Deallocation): In the case where the
6560 access type has a simple storage pool, locate the pool type's
6561 Deallocate procedure (if present) and use it as the procedure
6562 to call on the Free operation.
6563 * freeze.adb (Freeze_Entity): In the case of a full type for
6564 a private type defined with pragma Simple_Storage_Pool, check
6565 that the full type is also appropriate for the pragma. For
6566 a simple storage pool type, validate that the operations
6567 Allocate, Deallocate (if present), and Storage_Size
6568 (if present) are defined with appropriate expected profiles.
6569 (Validate_Simple_Pool_Op_Formal): New procedure
6570 (Validate_Simple_Pool_Operation): New procedure Add with and
6571 use of Rtsfind.
6572 * par-prag.adb: Add Pragma_Simple_Storage_Pool to case statement
6573 (no action required).
6574 * sem_attr.adb (Analyze_Attribute): For the case of the
6575 Storage_Pool attribute, give a warning if the prefix type has an
6576 associated simple storage pool, and rewrite the attribute as a
6577 raise of Program_Error. In the case of the Simple_Storage_Pool
6578 attribute, check that the prefix type has an associated simple
6579 storage pool, and set the attribute type to the pool's type.
6580 * sem_ch13.adb (Analyze_Aspect_Specifications): Add
6581 Aspect_Simple_Storage_Pool case choice.
6582 (Analyze_Attribute_Definition_Clause): Add
6583 Aspect_Simple_Storage_Pool to case for Ignore_Rep_Clauses
6584 (no action). Add handling for Simple_Storage_Pool attribute
6585 definition, requiring the name to denote a simple storage pool
6586 object.
6587 (Check_Aspect_At_Freeze_Point): For a simple storage pool
6588 aspect, set the type to that of the name specified for the aspect.
6589 * sem_prag.adb (Analyze_Pragma): Add handling for pragma
6590 Simple_Storage_Pool, requiring that it applies to a library-level
6591 type declared in a package declaration that is a limited private
6592 or limited record type.
6593 * sem_res.adb (Resolve_Allocator): Flag an attempt to call a
6594 build-in-place function in an allocator for an access type with
6595 a simple storage pool as unsupported.
6596 * snames.ads-tmpl: Add Name_Simple_Storage_Pool.
6597 (type Attribute_Id): Add Attribute_Simple_Storage_Pool.
6598 (type Pragma_Id): Add Pragma_Simple_Storage_Pool.
6599 * snames.adb-tmpl (Get_Pragma_Id): Handle case of
6600 Name_Simple_Storage_Pool.
6601 (Is_Pragma_Name): Return True for Name_Simple_Storage_Pool.
6602
6603 2012-02-08 Cyrille Comar <comar@adacore.com>
6604
6605 * projects.texi: Clarify doc for interfaces.
6606
6607 2012-02-07 Eric Botcazou <ebotcazou@adacore.com>
6608
6609 * gcc-interface/Make-lang.in (GCC_LINKERFLAGS): New variable.
6610 (GCC_LINK): Use it.
6611
6612 2012-02-01 Tristan Gingold <gingold@adacore.com>
6613
6614 * gcc-interface/trans.c (Loop_Statement_to_gnu): Use sizetype
6615 instead of size_type_node.
6616
6617 2012-01-30 Nicolas Roche <roche@adacore.com>
6618
6619 * gcc-interface/Make-lang.in: Update dependencies.
6620 * gcc-interface/Makefile.in: Use system-vxworks-system-ppc-mils.ads
6621 when needed.
6622 Remove Linker_Options -crtbe when building sjlj run-time.
6623
6624 2012-01-30 Robert Dewar <dewar@adacore.com>
6625
6626 * sem.adb (Analyze): Call Analyze_Mod for N_Op_Mod mode.
6627 * sem_ch3.adb (Modular_Type_Declaration): Warn on mod value of
6628 form 2 * small-literal.
6629 * sem_ch4.adb (Analyze_Mod): New procedure (warn on suspicious
6630 mod value).
6631 * sem_ch4.ads (Analyze_Mod): New procedure.
6632
6633 2012-01-30 Ed Schonberg <schonberg@adacore.com>
6634
6635 * sem_ch6.adb: sem_ch6.adb (Analyze_Expression_Function): Copy
6636 types and return expression when building spec for implicit
6637 body, to preserve global references that may be present in an
6638 instantiation.
6639
6640 2012-01-30 Matthew Heaney <heaney@adacore.com>
6641
6642 * a-convec.adb, a-coinve.adb, a-cobove.adb (Sort,
6643 Reverse_Elements): Check for cursor tampering.
6644
6645 2012-01-30 Ed Schonberg <schonberg@adacore.com>
6646
6647 * sem_util.adb (Is_Fully_Initialized_Type): In Ada 2012, a
6648 type with aspect Default_Value or Default_Component_Value is
6649 fully initialized, and use of variables of such types do not
6650 generate warnings.
6651
6652 2012-01-30 Javier Miranda <miranda@adacore.com>
6653
6654 PR ada/15846
6655 * sem_ch8.adb (Analyze_Subprogram_Renaming):
6656 Handle self-renaming when the renamed entity is referenced using
6657 its expanded name.
6658
6659 2012-01-30 Vincent Celier <celier@adacore.com>
6660
6661 * projects.texi: Add documentation for attribute Interfaces.
6662
6663 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
6664
6665 * exp_ch7.adb (Build_Finalizer_Call): Set loc again.
6666 * exp_ch11.adb (Expand_At_End_Handler): Do not provide a source
6667 location for the wrapped call to the original AT_END routine
6668 and the subsequent return statement.
6669
6670 2012-01-30 Pascal Obry <obry@adacore.com>
6671
6672 * s-rannum.adb: Minor reformatting.
6673
6674 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
6675
6676 * a-calend-vms.adb, a-calend.adb: Increment the number of leap seconds
6677 to 25 and add the hard time value for 2012-06-30.
6678
6679 2012-01-30 Robert Dewar <dewar@adacore.com>
6680
6681 * a-strhas.ads, einfo.adb, einfo.ads, exp_ch7.adb, exp_ch9.adb,
6682 freeze.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-proc.adb, s-llflex.ads,
6683 s-ransee.adb, s-ransee.ads, sem_ch13.adb, sem_dim.adb, sem_prag.adb:
6684 Minor reformatting/code reorganization.
6685
6686 2012-01-30 Thomas Quinot <quinot@adacore.com>
6687
6688 * s-rannum.adb, s-ransee.adb, s-ransee.ads (Get_Seed): Return
6689 Unsigned_64 rather than Duration.
6690 (System.Random_Numbers.Reset): Use full value of seed
6691 (do not truncate sub-second bits).
6692
6693 2012-01-30 Thomas Quinot <quinot@adacore.com>
6694
6695 * sem_cat.adb, sem_ch12.adb: Minor reformatting.
6696
6697 2012-01-30 Yannick Moy <moy@adacore.com>
6698
6699 * gnat_ugn.texi: Minor correction of GNAT UG, to take into
6700 account changes to -gnatwa and more recent warnings.
6701
6702 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
6703
6704 * exp_ch7.adb (Build_Finalizer_Call): Do not provide a source
6705 location when creating a call to a finalizer.
6706 * exp_ch11.adb (Expand_Exception_Handlers): Do not provide
6707 a source location for the first actual of Save_Occurrence for
6708 consistency sake.
6709
6710 2012-01-30 Ed Schonberg <schonberg@adacore.com>
6711
6712 * einfo.ads, einfo,adb: New attribute on scalar types:
6713 Default_Aspect_Value New attribute on array types:
6714 Default_Aspect_Component_Value Move attribute Related_Array_Object
6715 to a different position to accomodate new aspect attributes.
6716 * freeze.adb (Freeze_Entity): Use new attributes to retrieve value
6717 of defaults set with an aspect specification, rather than using
6718 the list of aspects attached to the type, to prevent issues with
6719 partial views.
6720 * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects
6721 Default_Value and Default_Component _Value, store corresponding
6722 expression in type entity.
6723 (Check_Aspect_At_End_Of_Declaration): If the default aspects
6724 are declared on the full view, use the full view to resolve the
6725 correseponding expression.
6726 * exp_ch3.adb (Init_Component): Use attribute
6727 Default_Aspect_Component_Value to perform default initialization,
6728 rather than relying on the rep item list for the type.
6729 (Get_Simple_Init_Val): Ditto.
6730
6731 2012-01-30 Thomas Quinot <quinot@adacore.com>
6732
6733 * a-strhas.ads: Document risk of collision attack.
6734
6735 2012-01-30 Yannick Moy <moy@adacore.com>
6736
6737 * gnat_ugn.texi: Minor update wrt warning switches.
6738
6739 2012-01-30 Vincent Celier <celier@adacore.com>
6740
6741 * prj-nmsc.adb (Check_Interfaces): Report an error when a
6742 unit from Library_Interface is not a unit of the project.
6743
6744 2012-01-30 Vincent Pucci <pucci@adacore.com>
6745
6746 * sem_prag.adb (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Parent
6747 links fixed inside PPC pragmas.
6748 * sem_ch12.adb: Move call to Make_Aspect_For_PPC_In_Gen_Sub_Decl.
6749
6750 2012-01-30 Thomas Quinot <quinot@adacore.com>
6751
6752 * s-ransee.ads: Minor reformatting.
6753
6754 2012-01-30 Pascal Obry <obry@adacore.com>
6755
6756 * prj.ads, prj.adb (For_Each_Source): Add support for skipping
6757 sources coming from an encapsulated library.
6758
6759 2012-01-30 Ed Schonberg <schonberg@adacore.com>
6760
6761 * sem_ch3.adb (Process-Full_View): fix typo.
6762 * sem_ch13.adb (Aalyze_Aspect_Specifications): if predicates
6763 appear on a private type and the full view is available, ensure
6764 existence of freeze node for full view.
6765 (Build_Predicate_Function): Attach predicate function to both
6766 views of a private type.
6767
6768 2012-01-30 Vincent Celier <celier@adacore.com>
6769
6770 * prj-nmsc.adb (Check_Interfaces): Compute the Lib_Interface_ALIs
6771 for the project if either attribute Library_Interface or
6772 Interfaces is declared.
6773 (Check_Stand_Alone_Library): Use Lib_Interface_ALIs computed in
6774 Check_Interfaces.
6775
6776 2012-01-30 Pascal Obry <obry@adacore.com>
6777
6778 * prj-proc.adb (Recursive_Process): Set From_Encapsulated_Lib
6779 boolean value to true in the process list created by this routine.
6780 * prj.ads (Project_List_Element): New field From_Encapsulated_Lib.
6781 Continued work for KA06-021.
6782 * prj.adb (Compute_All_Imported_Projects): Set
6783 From_Encapsulated_Lib boolean flag.
6784
6785 2012-01-30 Vincent Pucci <pucci@adacore.com>
6786
6787 * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Minor
6788 code clean up.
6789 * s-diflio.ads: Minor change.
6790
6791 2012-01-30 Javier Miranda <miranda@adacore.com>
6792
6793 * exp_ch9.adb (Build_Dispatching_Requeue): Add missing call
6794 to Get_Entry_Index. Required to generate code which provides
6795 the correct value of Entry_Index in the target entry.
6796
6797 2012-01-30 Nicolas Roche <roche@adacore.com>
6798
6799 * system-vxworks-ppc.ads: Add pragma Linker_Options -crtbe to
6800 fix issue with zcx on VxWorks5.
6801
6802 2012-01-30 Pascal Obry <obry@adacore.com>
6803
6804 * prj.ads, prj.adb (For_Every_Project_Imported): Remove
6805 In_Aggregate_Lib.
6806 (For_Every_Project_Imported_Context): New generic routine with
6807 a context parameter.
6808 * prj-nmsc.adb: Revert to use For_Every_Project_Imported Avoid
6809 distributed complexity.
6810 * prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb: Ditto.
6811
6812 2012-01-30 Thomas Quinot <quinot@adacore.com>
6813
6814 * exp_aggr.adb (Expand_Record_Aggregate): After creating the
6815 _parent aggregate for an extension aggregate, check whether it
6816 requires delayed (top-down) expansion.
6817
6818 2012-01-30 Vincent Pucci <pucci@adacore.com>
6819
6820 * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Rewritten.
6821 * snames.ads-tmpl: Name_Item and Name_Symbols added.
6822 * s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads: Rename
6823 and change the position of parameter Symbols in every Put routine.
6824 * s-dimmks.ads: Convert long float type Mks_Type into long
6825 long float.
6826 * s-llflex.ads: Modifications in comments.
6827
6828 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
6829
6830 * sem_ch12.adb (Earlier): Do not use the
6831 top level source locations of the two input nodes.
6832
6833 2012-01-30 Robert Dewar <dewar@adacore.com>
6834
6835 * einfo.ads, sem_prag.adb, sem_attr.adb, aspects.ads,
6836 sem_cat.adb, sem_aggr.adb, exp_aggr.adb: Minor reformatting.
6837
6838 2012-01-30 Robert Dewar <dewar@adacore.com>
6839
6840 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
6841
6842 2012-01-30 Olivier Hainque <hainque@adacore.com>
6843
6844 * sigtramp-ppcvxw.c (CFI_COMMON_REGS): Add rule for r1 back +
6845 comments.
6846
6847 2012-01-30 Thomas Quinot <quinot@adacore.com>
6848
6849 * gnat_rm.texi, sem_dist.adb, sem_dist.ads, einfo.ads, sem_prag.adb,
6850 sem_ch12.adb, sem_attr.adb, aspects.adb, aspects.ads, par-prag.adb,
6851 sem_cat.adb, snames.ads-tmpl (Sem_Dist.Is_Valid_Remote_Object_Type):
6852 New subprogram (extracted from
6853 Sem_Cat.Validate_Remote_Access_Object_Type_Declaration).
6854 (Einfo.Is_Remote_Types): Now applies to generic types. Update
6855 documentation accordingly.
6856 (Sem_Ch12.Analyze_Associations): A RACW type is acceptable as
6857 actual for a formal type to which a pragma Remote_Access_Type
6858 applies.
6859 (Aspects, Par.Prag, Sem_Prag): Support for new pramga/aspect
6860 Remote_Access_Type.
6861 (Sem_Attr.Analyze_Attribute, case Stub_Type): Attribute can
6862 be applied to a generic type if pragma Remote_Access_Type
6863 applies, in which case the type of the attribute is
6864 System.Partition_Interface.RACW_Stub_Type.
6865
6866 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
6867
6868 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set
6869 an alignment on fields of the RETURN type built for the CICO mechanism.
6870
6871 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
6872
6873 * gcc-interface/trans.c (gnat_to_gnu): Avoid making a SAVE_EXPR for
6874 a call to a function that returns an unconstrained type with default
6875 discriminant. Similarly, avoid doing the conversion to the nominal
6876 result type in this case.
6877
6878 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
6879
6880 * gcc-interface/ada-tree.h (DECL_ALIASED_P): New flag.
6881 * gcc-interface/decl.c (is_variable_size): Rename to...
6882 (type_has_variable_size): ...this.
6883 (adjust_packed): Adjust to above renaming.
6884 (gnat_to_gnu_field): Set DECL_ALIASED_P on the field.
6885 (field_is_artificial): New predicate.
6886 (field_is_aliased): Likewise.
6887 (field_has_self_size): Likewise.
6888 (field_has_variable_size): Likewise.
6889 (components_to_record): Record information for the final layout during
6890 the first pass on fields.
6891 If there is an aliased field placed after a field whose length depends
6892 on discriminants, put all the fields of the latter sort, last.
6893
6894 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
6895
6896 * gcc-interface/gigi.h (get_minimal_subprog_decl): Declare.
6897 * gcc-interface/decl.c (get_minimal_subprog_decl): New function.
6898 * gcc-interface/trans.c (Attribute_to_gnu): Use it for the prefix of an
6899 Access-like attribute in a dispatch table if the subprogram is public.
6900
6901 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
6902
6903 * gcc-interface/gigi.h (create_label_decl): Adjust.
6904 * gcc-interface/utils.c (create_label_decl): Add GNAT_NODE parameter
6905 and invoke gnat_pushdecl on it. Remove obsolete settings.
6906 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Label>: Adjust call to
6907 create_label_decl.
6908 * gcc-interface/trans.c (gnat_to_gnu) <N_Null): Likewise. Ignore the
6909 label for debugging purposes.
6910
6911 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
6912
6913 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an aliased
6914 object with an unconstrained nominal subtype and if optimization isn't
6915 enabled, create a special VAR_DECL for debugging purposes.
6916
6917 2012-01-23 Robert Dewar <dewar@adacore.com>
6918
6919 * sem_prag.ads, sem_prag.adb: Minor reformatting.
6920
6921 2012-01-23 Robert Dewar <dewar@adacore.com>
6922
6923 * sem_ch13.adb (Analyze_Aspect_Specifications): Check for
6924 language defined aspect applied to renaming or formal type
6925 declaration (not permitted)
6926
6927 2012-01-23 Matthew Heaney <heaney@adacore.com>
6928
6929 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Vet): Replaced
6930 comment with pragma Assert.
6931
6932 2012-01-23 Vincent Pucci <pucci@adacore.com>
6933
6934 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Call
6935 to Make_Aspect_For_PPC_In_Gen_Sub_Decl added in ASIS mode.
6936 * sem_prag.adb, sem_prag.ads (Make_Aspect_For_PPC_In_Gen_Sub_Decl): New
6937 routine. In ASIS mode, convert any PPC pragmas into aspects in generic
6938 subprogram declaration in order to enable the analysis of PPC boolean
6939 expressions.
6940
6941 2012-01-23 Robert Dewar <dewar@adacore.com>
6942
6943 * sem_ch3.adb (Analyze_Object_Declaration): Properly
6944 handle Current_Value for volatile variables (also propagate
6945 Treat_As_Volatile from type to object).
6946
6947 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
6948
6949 * sem_ch12.adb (Install_Body): Detect the case
6950 where the enclosing context is a package with a stub body that
6951 has already been replaced by the actual body. In such cases,
6952 the freeze node for the enclosing context must be inserted after
6953 the real body.
6954
6955 2012-01-23 Ed Schonberg <schonberg@adacore.com>
6956
6957 * sem_prag.adb (Analyze_Pragma, case Debug): Freeze the called
6958 subprogram before expanding the pragma into an if-statement with
6959 a block, to ensure that when the subprogram is null its body is
6960 properly generated before expansion.
6961
6962 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
6963
6964 * sem_ch12.adb (Analyze_Associations): Alphabetize local variables and
6965 constants. Rename Actual_Types to Actuals_To_Freeze. Rename Next_Formal
6966 to Saved_Formal.
6967 Freeze all eligible subprograms which appear as actuals in
6968 the instantiation.
6969 (Has_Fully_Defined_Profile): New routine.
6970 (Renames_Standard_Subprogram): New routine.
6971 (Earlier): Add local variable N. Comment update. Do not use source
6972 locations when trying to determine whether one node precedes another.
6973
6974 2012-01-23 Gary Dismukes <dismukes@adacore.com>
6975
6976 * exp_ch4.adb (Expand_Concatenate): In the case
6977 where the result of a concatentation can be null, set the to
6978 result have both the low and high bounds of the right operand (not
6979 just the high bound, as was the case prior to this fix). Also,
6980 fix the saved high bound setting (Last_Opnd_High_Bound) in the
6981 empty string literal case (should have been low bound minus one,
6982 rather than plus one).
6983
6984 2012-01-23 Thomas Quinot <quinot@adacore.com>
6985
6986 * scos.ads, put_scos.adb, get_scos.adb (Get_SCOs, Put_SCOs): Do not
6987 omit statement SCOs for disabled pragmas.
6988
6989 2012-01-23 Matthew Heaney <heaney@adacore.com>
6990
6991 * a-cohase.ads, a-cihase.ads, a-cbhase.ads, a-coorse.ads,
6992 a-ciorse.ads, a-cborse.ads, a-cohama.ads, a-cihama.ads, a-cbhama.ads,
6993 a-coorma.ads, a-ciorma.ads, a-cborma.ads, a-cdlili.ads, a-cidlli.ads,
6994 a-cbdlli.ads, a-convec.ads, a-coinve.ads, a-cobove.ads (Cursor'Read,
6995 Cursor'Write): Declare in private part.
6996 (Reference_Type'Read, Reference_Type'Write): Ditto.
6997 (Constant_Reference_Type'Read, Constant_Reference_Type'Write): Ditto.
6998
6999 2012-01-23 Robert Dewar <dewar@adacore.com>
7000
7001 * a-catizo.ads, a-calend.adb, a-calend.ads, par-ch13.adb: Minor
7002 reformatting.
7003
7004 2012-01-23 Ed Schonberg <schonberg@adacore.com>
7005
7006 * sem_ch6.adb (Analyze_Subprogram_Declaration): Do not set the
7007 Corresponding_Body on a defaulted null formal subprogram.
7008 * sem_ch12.adb (Check_Formal_Package_Instance): No check needed
7009 on a defaulted formal subprogram that is a null procedure.
7010
7011 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
7012
7013 * exp_ch9.adb: Update the comments involving pragma Implemented.
7014 * sem_ch3.adb (Check_Pragma_Implemented (Entity_Id)): Add local
7015 constant Subp_Alias and local variable Impl_Subp. Properly
7016 handle aliases of synchronized wrappers. Code cleanup.
7017 (Check_Pragma_Implemented (Entity_Id; Entity_Id)): Add
7018 Name_Optional as part of the condition.
7019 * sem_prag.adb (Analyze_Pragma): Add "Optional" as one of the
7020 valid choices of implementation kind.
7021 (Check_Arg_Is_One_Of): New routine.
7022 * snames.ads-tmlp: Add Name_Optional.
7023
7024 2012-01-23 Ed Schonberg <schonberg@adacore.com>
7025
7026 * par-ch13.adb: Better error recovery in illegal aspect
7027 specification.
7028
7029 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
7030
7031 * a-calend.adb: Add with clause for Interfaces.C. Add constant
7032 Unix_Max.
7033 (Day_Of_Week): Call the internal UTC_Time_Offset.
7034 (Split): Call the internal UTC_Time_Offset.
7035 (Time_Of): Call the internal UTC_Time_Offset.
7036 (Time_Zone_Operations.UTC_Time_Offset): Call internal UTC_Time_Offset.
7037 (UTC_Time_Offset): New library-level routine.
7038 * a-calend.ads (UTC_Time_Offset): Remove parameter
7039 Is_Historic. Update related comment on usage.
7040 * a-catizo.adb (UTC_Time_Offset): Removed.
7041 (UTC_Time_Offset (Time)): Call Time_Zone_Operations.UTC_Time_Offset.
7042 * a-caltizo.ads (UTC_Time_Offset): Removed.
7043 (UTC_Time_Offset (Time)): Add back the default expression of parameter
7044 Date.
7045
7046 2012-01-23 Robert Dewar <dewar@adacore.com>
7047
7048 * sprint.ads, sprint.adb (Sprint_Node_List): Add New_Lines parameter
7049 (pg,po,ps): Make sure each entry starts on new line.
7050
7051 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
7052
7053 * a-calend.ads, a-calend.adb: Define types int and int_Pointer. Update
7054 the parameter profile of procedure localtime_tzoff and its associated
7055 comment.
7056 (Day_Of_Week): Do not treat the input date as historical
7057 with respect to time zones.
7058 (Split): Do not treat the input
7059 date as historical with respect to time zones. (Time_Of): Do
7060 not treat the input constituents as forming a historical date
7061 with respect to time zones.
7062 (UTC_Time_Offset): Add new formal
7063 parameter Is_Historic. Add local variable Flag. Update the call
7064 to localtime_tzoff.
7065 * a-catizo.ads, a-catizo.adb (UTC_Time_Offset): New routine.
7066 (UTC_Time_Offset (Time)): Update the call to
7067 Time_Zone_Operations.UTC_Time_Offset.
7068 * sysdep.c (__gnat_localtime_tzoff): Update parameter
7069 profile. Split the processing of offsets on Windows into two - one
7070 part of historic time stamps and the other for the current time.
7071
7072 2012-01-23 Robert Dewar <dewar@adacore.com>
7073
7074 * a-calend.adb: Minor reformatting.
7075
7076 2012-01-23 Ed Schonberg <schonberg@adacore.com>
7077
7078 * exp_ch9.adb, sem_ch9.adb: Handle array of access to synchronized
7079 interface in requeue statement.
7080
7081 2012-01-23 Cyrille Comar <comar@adacore.com>
7082
7083 * projects.texi: Remove references to main units and replace
7084 with references to main programs to be coherent with the
7085 documentation.
7086
7087 2012-01-23 Robert Dewar <dewar@adacore.com>
7088
7089 * s-utf_32.adb: Minor reformatting.
7090
7091 2012-01-23 Vincent Celier <celier@adacore.com>
7092
7093 * snames.ads-tmpl: Minor comment addition Indicate that
7094 Name_Library_Encapsulated_Options is only used in gprbuild.
7095
7096 2012-01-23 Robert Dewar <dewar@adacore.com>
7097
7098 * sem_ch10.adb (Analyze_Subunit): Properly save/restore cunit
7099 restrictions.
7100
7101 2012-01-23 Ed Schonberg <schonberg@adacore.com>
7102
7103 * snames.ads-tmpl: Add Name_Synchronization.
7104 * aspects.ads, aspects.adb: Add Aspect_Synchronization to
7105 enumeration type and related maps.
7106 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle Aspect
7107 Synchronization, build corresponding pragma Implemented.
7108 * sem_util.adb (Implementation_Kind): Handle both explicit and
7109 implicit pragma_argument association to retrieve the given
7110 synchronization mode.
7111
7112 2012-01-23 Robert Dewar <dewar@adacore.com>
7113
7114 * sem_ch10.adb, errout.adb: Minor reformatting.
7115
7116 2012-01-23 Ed Schonberg <schonberg@adacore.com>
7117
7118 * sem_res.adb (Resolve_Actuals): An actual in a call to an
7119 Ada 2012 Reference function does not lead to a dangerous order
7120 dependence.
7121
7122 2012-01-23 Gary Dismukes <dismukes@adacore.com>
7123
7124 * exp_util.adb (Is_Iterated_Container): Test
7125 Is_Entity_Name when searching for calls to the default iterator,
7126 to avoid blowing up on indirect calls which have an explicit
7127 dereference as the call name.
7128
7129 2012-01-23 Thomas Quinot <quinot@adacore.com>
7130
7131 * errout.adb (Set_Msg_Node): For an N_Expanded_Name, output
7132 the complete expanded name, rather than just its Selector_Name.
7133
7134 2012-01-23 Thomas Quinot <quinot@adacore.com>
7135
7136 * a-textio.adb (Put): Rewrite one-parameter Character version to
7137 just call the two-parameter one with Current_Out.
7138
7139 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
7140
7141 * freeze.adb (Check_Current_Instance): Issue an
7142 error when the prefix of 'Unchecked_Access or 'Access does not
7143 denote a legal aliased view of a type.
7144 (Freeze_Record_Type): Do not halt the processing of record components
7145 once the Has_Controlled_Component is set as this bypasses the remaining
7146 checks.
7147 (Is_Aliased_View_Of_Type): New routine.
7148
7149 2012-01-23 Thomas Quinot <quinot@adacore.com>
7150
7151 * errout.ads, freeze.adb: Minor reformatting.
7152
7153 2012-01-23 Thomas Quinot <quinot@adacore.com>
7154
7155 * sem_ch10.adb, sem_prag.adb: Remove redundant apostrophes in error
7156 messages.
7157
7158 2012-01-23 Olivier Hainque <hainque@adacore.com>
7159
7160 * adadecode.c (__gnat_decode): Deal with empty input early,
7161 preventing potential erroneous memory access later on.
7162
7163 2012-01-21 Eric Botcazou <ebotcazou@adacore.com>
7164
7165 PR ada/46192
7166 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the case of a
7167 renaming, preserve the volatileness through the indirection, if any.
7168
7169 2012-01-14 Andreas Schwab <schwab@linux-m68k.org>
7170
7171 * gcc-interface/Makefile.in (OSCONS_EXTRACT): Add
7172 $(GNATLIBCFLAGS).
7173
7174 2012-01-10 Pascal Obry <obry@adacore.com>
7175
7176 * prj-nmsc.adb (Check_Library_Attributes):
7177 Kill check for object/source directories for aggregate libraries.
7178
7179 2012-01-10 Matthew Heaney <heaney@adacore.com>
7180
7181 * a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb,
7182 a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads,
7183 a-cborma.adb, a-cborma.ads, a-cidlli.adb, a-cidlli.ads, a-cimutr.adb,
7184 a-cimutr.ads, a-cihase.adb, a-cihase.ads, a-cohama.adb, a-cohama.ads,
7185 a-coorse.adb, a-coorse.ads, a-cbhama.adb, a-cbhama.ads, a-cborse.adb,
7186 a-cborse.ads, a-comutr.adb, a-comutr.ads, a-ciorma.adb, a-cobove.adb,
7187 a-ciorma.ads, a-cobove.ads, a-convec.adb, a-convec.ads, a-cohase.adb,
7188 a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbmutr.adb, a-cbmutr.ads,
7189 a-cbhase.adb, a-cbhase.ads (Reference, Constant_Reference): Declare
7190 container parameter as aliased in/in out.
7191 Code clean ups.
7192
7193 2012-01-10 Bob Duff <duff@adacore.com>
7194
7195 * s-os_lib.ads: Improve comment.
7196
7197 2012-01-10 Geert Bosch <bosch@adacore.com>
7198
7199 * s-gearop.adb (Forward_Eliminate): Avoid improper aliasing
7200 for complex Scalar.
7201
7202 2012-01-10 Bob Duff <duff@adacore.com>
7203
7204 * sem_intr.adb (Check_Shift): Use RM_Size instead of Esize, when
7205 checking that the 'Size is correct. If the type is "mod 2**12",
7206 for example, it's illegal, but Esize is the 'Object_Size, which
7207 will be something like 16 or 32, so the error ('Size = 12) was
7208 not detected.
7209 * gnat_rm.texi: Improve documentation of shift
7210 and rotate intrinsics.
7211
7212 2012-01-10 Pascal Obry <obry@adacore.com>
7213
7214 * prj.adb (For_Every_Project_Imported): Fix
7215 implementation to make sure we return each project only once
7216 for aggragte libraries. It is fine to return a project twice for
7217 aggregate projects, this was the case as a Project_Id is different
7218 in each project tree. The new implementation use a table based on
7219 the project name to ensure proper detection of duplicate project
7220 in aggregate library. A new context is then created to continue
7221 retrurning duplicate project for aggregate libraries.
7222
7223 2012-01-09 Eric Botcazou <ebotcazou@adacore.com>
7224
7225 * gcc-interface/trans.c (call_to_gnu): Create the temporary for the
7226 return value in the variable-sized return type case if the target is
7227 an array with fixed size. However, do not create it if this is the
7228 expression of an object declaration.
7229
7230 2012-01-09 Eric Botcazou <ebotcazou@adacore.com>
7231
7232 * gcc-interface/trans.c (addressable_p) <COMPONENT_REF>: Fix thinko.
7233
7234 2012-01-06 Robert Dewar <dewar@adacore.com>
7235
7236 * a-wichha.ads, a-wichun.ads, a-zchhan.ads, a-zchuni.ads,
7237 s-utf_32.ads: Add pragma Pure
7238 * s-utf_32.adb: Suppress warnings on non-static constants (now
7239 that this is Pure).
7240
7241 2012-01-06 Bob Duff <duff@adacore.com>
7242
7243 * s-rpc.ads (Read, Write): Add overriding indicators.
7244
7245 2012-01-06 Robert Dewar <dewar@adacore.com>
7246
7247 * gnat_rm.texi: Add documentation for conventions
7248 Ada_Pass_By_Copy and Ada_Pass_By_Reference.
7249
7250 2012-01-06 Gary Dismukes <dismukes@adacore.com>
7251
7252 * a-tienio.adb (Put): Add exception message on
7253 raise statements. Remove unneeded blocks and object declarations.
7254
7255 2012-01-06 Robert Dewar <dewar@adacore.com>
7256
7257 * sem_prag.adb: Minor reformatting.
7258
7259 2012-01-06 Ed Schonberg <schonberg@adacore.com>
7260
7261 * sinfo.ads, sinfo.adb (Has_Prefixed_Call): New flag to indicate
7262 that a selected component within a generic unit has been resolved
7263 as a prefixed call with local references.
7264 * sem_ch3.adb (Is_Visible_Component): In an instance body a selected
7265 component is always visible.
7266 * sem_ch4.adb (Analyze_Selected_Component): If the node is a
7267 prefixed call in an instance, do not look for visible components
7268 of the type.
7269 * sem_ch12.adb (Reset_Entity): If a selected component has resolved
7270 to a prefixed call, mark the node accordingly when prefix and
7271 selector are local references.
7272
7273 2012-01-02 Eric Botcazou <ebotcazou@adacore.com>
7274
7275 * gnatvsn.ads (Current_Year): Bump to 2012.
7276 \f
7277 Copyright (C) 2012 Free Software Foundation, Inc.
7278
7279 Copying and distribution of this file, with or without modification,
7280 are permitted in any medium without royalty provided the copyright
7281 notice and this notice are preserved.
This page took 0.342577 seconds and 5 git commands to generate.