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