031d6616c0646e6bd689e62c8dc97990cfcda596
[gcc.git] / gcc / ada / ChangeLog
1 2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
2
3 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not specifically deal
4 with external constants wrt force_global here...
5 <E_Constant>: ...but here instead.
6 * gcc-interface/utils.c (gnat_pushdecl): Do not put external DECLs onto
7 the list of global DECLs.
8
9 2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
10
11 * gcc-interface/decl.c (gnat_to_gnu_entity): Translate the Esize on
12 entry only for elementary types and abort if it is too large.
13 <E_Record_Type>: Make sure the Esize is known before using it.
14
15 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
16
17 * gcc-interface/utils2.c: Do not include output.h.
18 * gcc-interface/Make-lang.in: Fix dependencies.
19
20 2012-05-29 Michael Matz <matz@suse.de>
21
22 * gcc-interface/utils.c (create_var_decl_1): Don't call expand_decl.
23
24 2012-05-26 Eric Botcazou <ebotcazou@adacore.com>
25
26 * gcc-interface/decl.c (variant_desc): Rename 'record' to 'new_type'.
27 (build_variant_list): Adjust to above renaming.
28 (gnat_to_gnu_entity) <E_Record_Subtype>: Likewise. Give a unique name
29 to the type of the variant containers.
30 (create_variant_part_from): Likewise. Give a unique name to the type
31 of the variant part.
32
33 2012-05-25 Eric Botcazou <ebotcazou@adacore.com>
34
35 PR ada/52362
36 * link.c (__gnat_object_file_option): Set to "-Wl,@" for GNU linker.
37 (__gnat_using_gnu_linker): Delete.
38 * gnatlink.adb (Gnatlink): Declare Object_File_Option_Ptr here...
39 Declare Object_File_Option string constant and Using_GNU_response_file
40 boolean constant.
41 (Process_Binder_File): ...instead of here. Delete Using_GNU_Linker,
42 Opening and Closing local variables. Do not handle the GNU linker
43 specially.
44 (Write_RF): New procedure to write into the response file. Escape some
45 characters if a GNU response file is used. Keep track of error status.
46 Invoke Write_RF to write into the response file. Delete the file only
47 if the link was successful.
48 * mlib-utl.adb: Do not `with' package System.
49 (Gcc): Likewise. Declare Object_File_Option string constant and
50 Using_GNU_response_file boolean constant.
51 (Write_RF): Take a string instead of address and length. Escape some
52 characters if a GNU response file is used.
53 Invoke Write_RF to write into the response file. Delete the file only
54 if the link was successful. Do not warn if it cannot be deleted.
55
56 2012-05-20 Eric Botcazou <ebotcazou@adacore.com>
57
58 * gcc-interface/utils.c (gnat_write_global_declarations): Put a name
59 on the dummy global variable.
60
61 2012-05-19 Eric Botcazou <ebotcazou@adacore.com>
62
63 * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
64 (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
65 calling convention
66 (get_minimal_subprog_decl): Likewise.
67 (gnat_first_param_is_class): New predicate.
68
69 * gcc-interface/misc.c (gnat_handle_option): Fix formatting.
70 * gcc-interface/Makefile.in: Likewise.
71
72 2012-05-18 Eric Botcazou <ebotcazou@adacore.com>
73
74 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an object at
75 global level with unconstrained nominal subtype and a non-fixed size,
76 make a variable for the size.
77
78 2012-05-15 Andris Pavenis <andris.pavenis@iki.fi>
79
80 PR ada/52494
81 * s-taprop-dummy.adb (Specific): New package.
82
83 2012-05-15 Olivier Hainque <hainque@adacore.com>
84
85 * gcc-interface/Make-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS
86 instead of trying to mimic it.
87
88 2012-05-15 Robert Dewar <dewar@adacore.com>
89
90 * sem_ch5.adb, sem_util.adb, s-stposu.adb, exp_ch4.adb: Minor
91 reformatting.
92
93 2012-05-15 Geert Bosch <bosch@adacore.com>
94
95 * uintp.adb (UI_Rem): Remove optimizations, as they are complex and are
96 not needed.
97 (Sum_Digits): Remove, no longer used.
98 (Sum_Double_Digits): Likewise.
99
100 2012-05-15 Yannick Moy <moy@adacore.com>
101
102 * aspects.ads: Minor typo.
103
104 2012-05-15 Thomas Quinot <quinot@adacore.com>
105
106 * gnat_rm.texi (Scalar_Storage_Order): Fix RM reference.
107 * sem_ch13.adb: Minor comment fix: incorrect RM reference.
108
109 2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
110
111 * sem_prag.adb (Process_Atomic_Shared_Volatile): Propagate
112 atomicity from an object to its underlying type only if it
113 is composite.
114
115 2012-05-15 Ed Schonberg <schonberg@adacore.com>
116
117 * sem_ch5.adb (Analyze_Iterator_Specification): Set kind of
118 loop variable after pre-analysis of iterator name, to prevent
119 premature usage of loop variable.
120
121 2012-05-15 Ed Schonberg <schonberg@adacore.com>
122
123 * sem_util.adb (Is_Variable): In Ada 2012, an explicit
124 dereference that is a rewriting of an expression whose type has
125 a declared Implicit_Derenference aspect is a variable.
126
127 2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
128
129 * exp_ch4.adb (Insert_Dereference_Action): Reimplemented. The
130 routine performs address and size adjustments for dereferences
131 of heap-allocated controlled objects. This manipulation is needed
132 in order to restore the original state of the memory at the time
133 it was allocated by the finalization machinery.
134 * rtsfind.ads: Add RE_Adjust_Controlled_Dereference to tables
135 RE_Id and RE_Unit_Table.
136 * sinfo.adb (Has_Dereference_Action): New routine.
137 (Set_Has_Dereference_Action): New routine.
138 * sinfo.ads: Add new semantic flag Has_Dereference_Action along
139 its association in nodes.
140 (Has_Dereference_Action): New routine and pragma Inline.
141 (Set_Has_Dereference_Action): New routine and pragma Inline.
142 * s-stposu.ads, s-stposu.adb (Adjust_Controlled_Dereference): New
143 routine.
144
145 2012-05-15 Thomas Quinot <quinot@adacore.com>
146
147 * uintp.adb (Image_Uint): Use UI_Div_Rem to get quotient and
148 remainder of U / Base in a single operation.
149
150 2012-05-15 Robert Dewar <dewar@adacore.com>
151
152 * exp_ch5.adb, inline.adb, sem_ch10.adb, prj.ads, sem_util.adb,
153 a-ngelfu.ads, exp_ch4.adb, exp_ch6.adb, aspects.ads, sem_ch6.adb,
154 vms_data.ads, exp_ch3.adb, prj-env.adb: Minor reformatting.
155
156 2012-05-15 Thomas Quinot <quinot@adacore.com>
157
158 * exp_ch4.adb (Has_Inferable_Discriminants): For a qualified
159 expression, use correct node for test on the subtype denoted by
160 the subtype mark.
161
162 2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
163
164 * inline.adb (Scope_In_Main_Unit): Rename into...
165 (In_Main_Unit_Or_Subunit): ...this. Also return
166 true if the subprogram is within a subunit of the
167 main unit.
168 (Add_Inlined_Body): Adjust for above renaming.
169 (Add_Inlined_Subprogram): Likewise. Pass the subprogram directly.
170 (Analyze_Inlined_Bodies): Really set aside inlined subprograms
171 not handled by Add_Inlined_Body.
172
173 2012-05-15 Ed Schonberg <schonberg@adacore.com>
174
175 * sem_ch10.adb (Expand_With_Clause): In the context of a generic
176 package declaration, a private with-clause on a child unit implies
177 that the implicit with clauses on its parents are private as well.
178
179 2012-05-15 Javier Miranda <miranda@adacore.com>
180
181 * sem_ch6.adb (Is_Interface_Conformant): Add missing call to
182 Base_Type to handle subtypes.
183 * exp_ch6.adb (Expand_Call): For calls located in thunks handle
184 unchecked conversions of access types found in actuals.
185 * exp_disp.adb (Expand_Interface_Thunk): Add missing unchecked
186 conversion to actuals whose type is an access type. Done to
187 avoid reporting spurious errors.
188
189 2012-05-15 Vincent Celier <celier@adacore.com>
190
191 * prj-env.adb (Create_Mapping): Ignore sources that are
192 suppressed (Create_Mapping_File.Process): Ditto
193 * prj-nmsc.adb (Add_Source): Update to take into
194 account suppressed files that may hide inherited sources.
195 (Mark_Excluded_Sources): Mark excluded sources of the current
196 project as suppressed.
197 * prj.ads (Source_Data): New Boolean component Suppressed,
198 defaulted to False
199
200 2012-05-15 Thomas Quinot <quinot@adacore.com>
201
202 * exp_intr.adb: Minor reformatting.
203
204 2012-05-15 Thomas Quinot <quinot@adacore.com>
205
206 * gnat_rm.texi: Document attribute Scalar_Storage_Order.
207
208 2012-05-15 Javier Miranda <miranda@adacore.com>
209
210 * exp_ch3.adb (Build_Offset_To_Top): Modify the
211 expansion of the offset_to_top functions to ensure that their
212 profile is conformant with the profile specified in Ada.Tags. No
213 change in functionality.
214
215 2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
216
217 * inline.adb (Subp_Info): Remove Count and Next_Nopred
218 components, add Processed component and move around Next component.
219 (Add_Call): Reverse meaning of Successors table to the natural one.
220 (Add_Inlined_Body): Do not inline a package if it is in the main unit.
221 (Add_Inlined_Subprogram): Do not add the subprogram to the list if the
222 package is in the main unit. Do not recurse on the successors.
223 (Add_Subp): Adjust to new contents of Subp_Info.
224 (Analyze_Inlined_Bodies): Do not attempt
225 to compute a topological order on the list of inlined subprograms,
226 but compute the transitive closure from the main unit instead.
227 (Get_Code_Unit_Entity): Always return the spec for a package.
228
229 2012-05-15 Yannick Moy <moy@adacore.com>
230
231 * aspects.ads: Minor addition of comments to provide info on
232 how to add new aspects.
233
234 2012-05-15 Thomas Quinot <quinot@adacore.com>
235
236 * osint.ads: Minor reformatting.
237
238 2012-05-15 Thomas Quinot <quinot@adacore.com>
239
240 * exp_ch5.adb, exp_pakd.adb, sem_util.adb, sem_util.ads
241 (Expand_Assign_Array): Handle the case of a packed bit array within a
242 record with reverse storage order (assign element by element in that
243 case).
244 (In_Reverse_Storage_Order_Record): New subprogram,
245 code extracted from Exp_Pakd.
246
247 2012-05-15 Yannick Moy <moy@adacore.com>
248
249 * a-ngelfu.ads: Add postconditions using Ada 2012
250 aspect syntax, reflecting some of the RM requirements for these
251 functions, from Annex A.5.1 or G.2.4.
252
253 2012-05-15 Thomas Quinot <quinot@adacore.com>
254
255 * adaint.c: Minor fix: move misplaced comment.
256
257 2012-05-15 Doug Rupp <rupp@adacore.com>
258
259 * vms_data.ads: Enhance help for /IMMEDIATE_ERRORS to discourage
260 use by customers.
261
262 2012-05-15 Tristan Gingold <gingold@adacore.com>
263
264 * a-exextr.adb: Add comment.
265
266 2012-05-15 Ed Schonberg <schonberg@adacore.com>
267
268 * sem_ch3.adb: Minor reformatting (remove long dead code).
269
270 2012-05-15 Ed Schonberg <schonberg@adacore.com>
271
272 * aspects.adb, aspects.ads: Add aspects for Convention, Export,
273 External_Name, Import, and Link_Name.
274 * exp_prag.adb (Expand_Pragma_Import_Or_Interface): if the
275 pragma comes from an aspect specification, the entity is the
276 first argument.
277 * sem_prag.adb (Analyze_Pragma, cases Pragma_Export and
278 Pragma_Import): if the pragma comes from an aspect specification,
279 the entity is the first argument, and the second has the value
280 True by default.
281 * sem_ch13.adb (Analyze_Aspect_Specifications): generate pragam
282 for aspect Convention. Add placeholders for Link_Name and
283 External_Name.
284
285 2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
286
287 * exp_ch9.adb (Expand_N_Asynchronous_Select): Extract the statements
288 of the abortable part and triggering alternative after being processed
289 for controlled objects.
290 (Expand_N_Timed_Entry_Call): Code and comment reformatting.
291
292 2012-05-15 Robert Dewar <dewar@adacore.com>
293
294 * sem_util.adb: Minor code reorganization.
295
296 2012-05-15 Robert Dewar <dewar@adacore.com>
297
298 * exp_ch7.adb, exp_ch11.adb, exp_ch11.ads: Minor reformatting.
299
300 2012-05-15 Thomas Quinot <quinot@adacore.com>
301
302 * sem_res.adb (Resolve): Enforce E.2.2(11/2) and E.2.2(12) for
303 'Unrestricted_Access and 'Unchecked_Access (not just 'Access):
304 even in those cases, a remote access type may only designate a
305 remote subprogram.
306
307 2012-05-15 Thomas Quinot <quinot@adacore.com>
308
309 * sem_util.adb, sem_util.ads, sem_cat.adb: Minor refactoring.
310 (Enclosing_Lib_Unit_Node): Rename to Enclosing_Comp_Unit_Node.
311
312 2012-05-15 Ed Schonberg <schonberg@adacore.com>
313
314 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove obsolete
315 checks on nested inlined subprograms.
316
317 2012-05-15 Tristan Gingold <gingold@adacore.com>
318
319 * fe.h (Get_RT_Exception_Name): Declare.
320
321 2012-05-15 Tristan Gingold <gingold@adacore.com>
322
323 * raise-gcc.c (db_region_for): Use %p + cast to avoid warnings.
324 (get_region_description_for): Likewise.
325 (db_action_for): Likewise.
326 (get_call_site_action_for): Likewise.
327 (get_ttype_entry_for): Remove useless 'const'.
328 (PERSONALITY_FUNCTION): Add ATTRIBUTE_UNUSED on uw_exception_class.
329
330 2012-05-15 Tristan Gingold <gingold@adacore.com>
331
332 * a-exextr.adb (Unhandled_Exception_Terminate): Save occurrence
333 on the stack to avoid a dynamic memory allocation.
334
335 2012-05-15 Bob Duff <duff@adacore.com>
336
337 * exp_ch9.adb (Expand_N_Timed_Entry_Call): Move initialization of
338 E_Stats and D_Stats after Process_Statements_For_Controlled_Objects,
339 because those calls can destroy the Statements list.
340
341 2012-05-15 Tristan Gingold <gingold@adacore.com>
342
343 * fe.h (Get_RT_Exception_Name): Define.
344 * types.ads (RT_Exception_Code): Update comment.
345 * exp_ch11.adb, exp_ch11.ads (Get_RT_Exception_Name): New
346 procedure to get the name of the rcheck subprograms.
347 * a-except-2005.adb (Rcheck_xx): Rename.
348 * a-except.adb Likewise, but also keep the old Rcheck_nn routines
349 for bootstrap.
350 * arith64.c (__gnat_mulv64): Use __gnat_rcheck_CE_Overflow_Check
351 instead of __gnat_rcheck_10.
352 * gcc-interface/trans.c (build_raise_check): Use Get_RT_Exception_Name
353 to create the __gnat_rcheck routines name.
354 * gcc-interface/Make-lang.in: Update dependencies.
355
356 2012-05-15 Tristan Gingold <gingold@adacore.com>
357
358 * exp_ch7.adb (Build_Exception_Handler): Save current
359 occurrence only if -gnateE.
360 (Build_Object_Declaration): Declare E_Id only if -gnateE.
361 (Build_Raise_Statement): Call Raise_From_Controlled_Operation only if
362 -gnateE (else raise PE).
363 * s-soflin.adb (Save_Library_Occurrence): Handle null occurrence
364 access.
365 * a-except-2005.adb (Reraise_Library_Exception_If_Any): Call
366 Raise_From_Controlled_Operation only if the saved occurrence is
367 not null, otherwise raise PE.
368
369 2012-05-15 Yannick Moy <moy@adacore.com>
370
371 * exp_alfa.ads: Add comments describing the Alfa mode.
372
373 2012-05-15 Tristan Gingold <gingold@adacore.com>
374
375 * s-soflin.ads, s-soflin.adb (Save_Library_Occurrence): Parameter
376 E is now of type Exception_Occurrence_Access.
377 * exp_ch7.ads, exp_ch7.adb (Build_Exception_Handler): Adjust generated
378 call to Save_Library_Occurrence.
379
380 2012-05-15 Thomas Quinot <quinot@adacore.com>
381
382 * exp_ch4.adb (Rewrite_Coextension): Use Insert_Action to
383 insert temporary variable decl at the proper place in the tree.
384
385 2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
386
387 * g-calend.adb (Split_At_Locale): New routine.
388 (Time_Of_At_Locale): New routine.
389 * g-calend.ads (Split_At_Locale): New routine.
390 (Time_Of_At_Locale): New routine.
391
392 2012-05-15 Gary Dismukes <dismukes@adacore.com>
393
394 * a-except.ads: Minor reformatting.
395
396 2012-05-15 Ed Schonberg <schonberg@adacore.com>
397
398 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): If the loop
399 parameter specification is part of a quantified expression, and it
400 already carries a type, do not repeat the analysis to preserve
401 type information: a range attribute reference may have been
402 rewritten as a range with static bounds, and its re-analysis may
403 type it as Integer by default, instead of the original index type.
404
405 2012-05-15 Robert Dewar <dewar@adacore.com>
406
407 * s-osprim-mingw.adb: Minor reformatting.
408
409 2012-05-15 Arnaud Charlet <charlet@adacore.com>
410
411 * a-except.adb, a-except.ads (Reraise_Library_Exception_If_Any): New.
412 Mark this unit preelaborate.
413 * s-soflin.ads: Make package Preelaborate.
414
415 2012-05-15 Robert Dewar <dewar@adacore.com>
416
417 * s-osprim-mingw.adb, sem_eval.adb, a-calend-vms.ads: Minor reformatting
418
419 2012-05-15 Ed Schonberg <schonberg@adacore.com>
420
421 * sem_eval.adb (Subtypes_Statically_Match): In Ada 2012, static
422 matching requires matching of static subtype predicates as well.
423
424 2012-05-15 Ed Schonberg <schonberg@adacore.com>
425
426 * sem_case.adb (Analyze_Choices): If the subtype of the
427 expression has a non-static predicate, the case alternatives
428 must cover the base type.
429
430 2012-05-15 Tristan Gingold <gingold@adacore.com>
431
432 * a-calend-vms.ads: Add pragma export to Split and Time_Of.
433 Merge comments from a-calend.ads to minimize differences.
434
435 2012-05-15 Sergey Rybin <rybin@adacore.com frybin>
436
437 * gnat_ugn.texi: gnatmetric: add a small example that demonstrates
438 the difference between control coupling and unit coupling.
439
440 2012-05-15 Tristan Gingold <gingold@adacore.com>
441
442 * bindgen.adb (Gen_Header): Remove code to emit LE_Set.
443 (Gen_Finalize_Library): Replace test with
444 a call to __gnat_reraise_library_exception_if_any.
445 * s-soflin.ads (Library_Exception): Do not export.
446 (Library_Exception_Set): Likewise.
447 * a-except-2005.ads, a-except-2005.adb
448 (Reraise_Library_Exception_If_Any): New procedure.
449
450 2012-05-15 Geert Bosch <bosch@adacore.com>
451
452 * sem_ch9.adb (Allows_Lock_Free_Implementation): out or in out
453 parameters can be access types as well, not just scalar types,
454 so relax the test to Is_Elementary_Type.
455
456 2012-05-15 Bob Duff <duff@adacore.com>
457
458 * s-atacco.ads s-atacco.adb: Replace pragma Elaborate_Body
459 with pragma No_Body.
460 (Xyz): Remove Xyz, which is apparently unnecessary.
461
462 2012-05-15 Tristan Gingold <gingold@adacore.com>
463
464 * a-calend-vms.adb: Complete previous change.
465
466 2012-05-15 Bob Duff <duff@adacore.com>
467
468 * s-win32.ads: Minor comment fix.
469 * s-osprim-mingw.adb: Minor editing.
470
471 2012-05-15 Robert Dewar <dewar@adacore.com>
472
473 * exp_ch9.adb, sem_ch9.adb, sem_ch13.adb: Minor reformatting.
474
475 2012-05-15 Robert Dewar <dewar@adacore.com>
476
477 * g-comlin.adb, g-comlin.ads: Minor reformatting.
478
479 2012-05-15 Vincent Pucci <pucci@adacore.com>
480
481 * aspects.adb, aspects.adb: Reordering of the Aspect_Idi list. New
482 aspect Aspect_Lock_Free.
483 * einfo.adb, einfo.ads: New flag Uses_Lock_Free (flag 188).
484 (Set_Uses_Lock_Free): New routine.
485 (Uses_Lock_Free): New routine.
486 * exp_ch7.adb (Is_Simple_Protected_Type): Return False for
487 lock-free implementation.
488 * exp_ch9.adb (Allows_Lock_Free_Implementation): Moved to Sem_Ch9.
489 (Build_Lock_Free_Unprotected_Subprogram_Body): Protected
490 procedure uses __sync_synchronise. Check both Object_Size
491 and Value_Size.
492 (Expand_N_Protected_Body): Lock_Free_Active
493 renames Lock_Free_On.
494 (Expand_N_Protected_Type_Declaration):
495 _Object field removed for lock-free implementation.
496 (Install_Private_Data_Declarations): Protection object removed
497 for lock-free implementation.
498 (Make_Initialize_Protection):
499 Protection object initialization removed for lock-free implementation.
500 * rtsfind.ads: RE_Atomic_Synchronize and RE_Relaxed added.
501 * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect_Lock_Free
502 analysis added.
503 * sem_ch9.adb (Allows_Lock_Free_Implementation): New routine.
504 (Analyze_Protected_Body): Allows_Lock_Free_Implementation call added.
505 (Analyze_Protected_Type_Declaration):
506 Allows_Lock_Free_Implementation call added.
507 (Analyze_Single_Protected_Declaration): Second analysis of
508 aspects removed.
509 * s-atopri.ads: Header added.
510 (Atomic_Synchronize): New routine.
511
512 2012-05-15 Robert Dewar <dewar@adacore.com>
513
514 * exp_ch7.ads: Add comment.
515
516 2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
517
518 * a-calend.adb (Day_Of_Week): The routine once again treats
519 all dates as historic. (Formatting_Operations.Split): All
520 calls to UTC_Time_Offset are now controlled through formal
521 parameter Is_Historic. (Formatting_Operations.Time_Of):
522 All calls to UTC_Time_Offset are now handled through
523 formal parameter Is_Historic.
524 (Split): Update the call to Formatting_Operations.Split.
525 (Time_Of): Update the call to Formatting_Operations.Time_Of.
526 (To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
527 (To_Strict_Tm): Update the call to Formatting_Operations.Split.
528 * a-calend.ads (Split): Add new formal Is_Historic along with
529 comment on usage. This routine is now exported for the purposes
530 of GNAT.Calendar.Locale.
531 (Time_Of): Remove defaults. Add new
532 formal Is_Historic along with comment on usage. This routine is
533 now exported for the purposes of GNAT.Calendar.Locale.
534 * a-calend-vms.adb (Split): Update the call to
535 Formatting_Operations.Split.
536 (Time_Of): Update the call to Formatting_Operations.Time_Of.
537 * a-calend-vms.ads (Split): Add new formal Is_Historic along
538 with comment on usage. (Time_Of): Remove defaults. Add new
539 formal Is_Historic along with comment on usage.
540 * a-calfor.adb (Split): Update the call to
541 Formatting_Operations.Split.
542 (Time_Of): Update the call to Formatting_Operations.Time_Of.
543
544 2012-05-15 Vincent Celier <celier@adacore.com>
545
546 * prj-nmsc.adb (Add_Source): Always add the source if it is
547 excluded, to avoid incorrect duplicate checks.
548
549 2012-05-15 Yannick Moy <moy@adacore.com>
550
551 * sem_aux.ads: Correct typo.
552 * sem_eval.adb (Compile_Time_Known_Value): Return False in Alfa
553 mode for a deferred constant when outside of the scope of its
554 full view.
555
556 2012-05-15 Emmanuel Briot <briot@adacore.com>
557
558 * g-comlin.adb, g-comlin.ads (Define_Switch): Allow specifying the name
559 of the argument, for the automatic help message.
560 (Getopt): do not systematically initialize switches with string values
561 to the empty string, when the user has already specified a default.
562
563 2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
564
565 * gcc-interface/utils.c (DEF_ATTR_STRING): New.
566
567 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
568
569 PR 53063
570 * gcc-interface/misc.c: Include opts.h and options.h before tm.h.
571 (gnat_handle_option): Call lang-specific generated function.
572
573 2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
574
575 * gcc-interface/lang.opt (I): Comment out help text with no effect.
576 (nostdinc): Comment out help text with no effect.
577
578 2012-05-12 Eric Botcazou <ebotcazou@adacore.com>
579
580 * gcc-interface/Makefile.in (TOOLS_LIBS): Add ../../ggc-none.o.
581
582 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
583
584 PR 53063
585 * gcc-interface/misc.c (gnat_parse_file): Move before ...
586 (gnat_handle_option): ... this. Use handle_generated_option.
587
588 2012-05-10 Richard Guenther <rguenther@suse.de>
589
590 * gcc-interface/cuintp.c (UI_From_gnu): Remove TYPE_IS_SIZETYPE use.
591
592 2012-05-06 Tristan Gingold <gingold@adacore.com>
593
594 * gcc-interface/trans.c (gigi): Decorate reraise_zcx_decl.
595
596 2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
597
598 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the renaming
599 case, use the padded type if the renamed object has an unconstrained
600 type with default discriminant.
601
602 2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
603
604 * gcc-interface/trans.c (Loop_Statement_to_gnu): Also handle invariant
605 conditions with only one bound.
606 (Raise_Error_to_gnu): Likewise. New function extracted from...
607 (gnat_to_gnu) <N_Raise_Constraint_Error>: ...here. Call above function
608 in regular mode only.
609
610 2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
611
612 * gcc-interface/misc.c (gnat_post_options): Disable caret by default.
613
614 2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
615
616 * gcc-interface/gigi.h (make_packable_type): Declare.
617 (make_type_from_size): Likewise.
618 (relate_alias_sets): Likewise.
619 (maybe_pad_type): Adjust.
620 (init_gnat_to_gnu): Delete.
621 (destroy_gnat_to_gnu): Likewise.
622 (init_dummy_type): Likewise.
623 (destroy_dummy_type): Likewise.
624 (init_gnat_utils): Declare.
625 (destroy_gnat_utils): Likewise.
626 (ceil_pow2): New inline function.
627 * gcc-interface/decl.c (gnat_to_gnu_entity): Use ceil_pow2.
628 <object>: Pass True for the final processing of alignment and size.
629 <E_Subprogram_Type>: Only create the TYPE_DECL for a padded return
630 type if necessary.
631 (round_up_to_align): Delete.
632 (ceil_alignment): Likewise.
633 (relate_alias_sets): Move to...
634 (make_aligning_type): Likewise.
635 (make_packable_type): Likewise.
636 (maybe_pad_type): Likewise.
637 (make_type_from_size): Likewise.
638 * gcc-interface/utils.c (MAX_BITS_PER_WORD): Delete.
639 (struct pad_type_hash): New type.
640 (pad_type_hash_table): New static variable.
641 (init_gnat_to_gnu): Merge into...
642 (init_dummy_type): Likewise.
643 (init_gnat_utils): ...this. New function.
644 (destroy_gnat_to_gnu): Merge into...
645 (destroy_dummy_type): Likewise.
646 (destroy_gnat_utils): ...this. New function.
647 (pad_type_hash_marked_p): New function.
648 (pad_type_hash_hash): Likewise.
649 (pad_type_hash_eq): Likewise.
650 (relate_alias_sets): ...here.
651 (make_aligning_type): Likewise.
652 (make_packable_type): Likewise.
653 (maybe_pad_type): Likewise. Change same_rm_size parameter into
654 set_rm_size; do not set TYPE_ADA_SIZE if it is false. Do not set
655 null as Ada size. Do not set TYPE_VOLATILE on the padded type. If it
656 is complete and has constant size, canonicalize it. Bail out earlier
657 if a warning need not be issued.
658 (make_type_from_size): Likewise.
659 <INTEGER_TYPE>: Bail out if size is too large
660 (gnat_types_compatible_p): Do not deal with padded types.
661 (convert): Compare main variants for padded types.
662 * gcc-interface/trans.c (gigi): Call {init|destroy}_gnat_utils.
663 (gnat_to_gnu): Do not convert at the end for a call to a function that
664 returns an unconstrained type with default discriminant.
665 (Attribute_to_gnu) <Attr_Size>: Simplify handling of padded objects.
666 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Likewise.
667 Do not use the padded type if it is BLKmode and the inner type is
668 non-BLKmode.
669
670 2012-05-02 Pascal Obry <obry@adacore.com>
671
672 Revert
673 2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com>
674
675 * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
676 Windows-specific make variable.
677 (WIN_SO_INSTALL_DIR [windows targets]): Likewise.
678 (install-gnatlib): Respect the above during installation when set,
679 and also install any windows import library that has been built.
680 (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
681 build a corresponding import library.
682
683 2012-04-30 Jan Hubicka <jh@suse.cz>
684
685 * gcc-interface/utils.c (rest_of_subprog_body_compilation): Update
686 comment.
687 (gnat_write_global_declarations): Use finalize_compilation_unit.
688
689 2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
690
691 * gcc-interface/decl.c (gnat_to_gnu_entity): In type annotation mode,
692 do not adjust the size of a tagged type if there is a representation
693 clause on it. Otherwise, round the adjustment up to the alignment
694 of the first field and use the appropriate helper routine.
695 (maybe_pad_type): Do not warn in type annotation mode on a tagged type.
696 (gnat_to_gnu_field): Do not error out under the same circumstances.
697 (annotate_rep): In type annotation mode, do not adjust the offset of
698 components of a tagged type with representation clause. Otherwise,
699 round the adjustment up to the alignment of the first field.
700
701 2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
702
703 * gcc-interface/utils.c (finish_record_type): Force the traditional GCC
704 layout for bitfields on the type if it is packed or has a representation
705 clause and an alternate layout is available.
706
707 2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
708
709 * gcc-interface/gigi.h (mark_out_of_scope): Delete.
710 (destroy_gnat_to_gnu): Declare.
711 (destroy_dummy_type): Likewise.
712 * gcc-interface/decl.c (mark_out_of_scope): Delete.
713 * gcc-interface/utils.c (destroy_gnat_to_gnu): New function.
714 (destroy_dummy_type): Likewise.
715 * gcc-interface/trans.c (gnat_validate_uc_list): New variable.
716 (gigi): Call validate_unchecked_conversion on gnat_validate_uc_list
717 after the translation is completed. Call destroy_gnat_to_gnu and
718 destroy_dummy_type at the end.
719 (Subprogram_Body_to_gnu): Do not call mark_out_of_scope.
720 (gnat_to_gnu) <N_Block_Statement>: Likewise.
721 <N_Validate_Unchecked_Conversion>: Do not process the node, only push
722 it onto gnat_validate_uc_list.
723 (validate_unchecked_conversion): New function.
724
725 2012-04-26 Tristan Gingold <gingold@adacore.com>
726
727 * gcc-interface/Make-lang.in: Update dependencies.
728 Remove s-traceb and tracebak objects from gnat1 and gnatbind (not used).
729 Remove s-tasdeb and s-vaflop rules (not used).
730
731 2012-04-26 Olivier Hainque <hainque@adacore.com>
732
733 * gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Default to
734 DOUBLE_TYPE_SIZE instead of LONG_DOUBLE_TYPE_SIZE.
735
736 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
737
738 * a-calend.adb (Day_Of_Week): Keep the internal
739 usage of UTC_Time_Offset consistent with Time_Of and Split.
740
741 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
742
743 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Do not freeze
744 the loop variable while preanalyzing a quantified expression.
745
746 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
747
748 * a-calend.adb (Split, Time_Of): Rename parameter Is_Ada_05
749 to Use_TZ to better illustrate its function. Update all
750 references to the parameter.
751 (To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
752 * a-calend.ads (Split, Time_Of): Rename parameter Is_Ada_05
753 to Use_TZ to better illustrate its function. Update the related
754 comment on usage.
755 * a-calend-vms.adb (Split, Time_Of): Rename parameter
756 Is_Ada_05 to Use_TZ to better illustrate its function. Update
757 all references to the parameter.
758 (To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
759 * a-calend-vms.ads (Split, Time_Of): Rename parameter Is_Ada_05
760 to Use_TZ to better illustrate its function. Update the related
761 comment on usage.
762 * a-calfor.adb (Split, Time_Of): Update the call to
763 Formatting_Operations.Time_Of.
764 * sysdep.c (__gnat_localtime_tzoff): Dereference pointer
765 "is_historic" and rewrite the check as a comparison. Add a
766 comment on flag values.
767
768 2012-04-26 Robert Dewar <dewar@adacore.com>
769
770 * exp_ch2.adb, sem_ch8.adb: Minor reformatting.
771
772 2012-04-26 Vasiliy Fofanov <fofanov@adacore.com>
773
774 * a-stzunb-shared.adb, gnat_ugn.texi, a-strunb-shared.adb,
775 a-strunb-shared.ads, uintp.adb, a-stwiun-shared.adb,
776 a-stwiun-shared.ads, a-cbhama.ads, vms_data.ads, a-cobove.adb,
777 a-convec.adb, sem_ch13.adb, a-cbhase.ads: Fix common misuses of the
778 word "then" where "than" should be used in English.
779
780 2012-04-26 Robert Dewar <dewar@adacore.com>
781
782 * sem_ch5.adb (Check_Unreachable_Code): Skip past pragmas.
783
784 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
785
786 * s-finroo.ads: Remove with clause for
787 Ada.Streams. Type Root_Controlled is now abstract tagged null
788 record. Remove internal package Stream_Attributes. Root_Controlled
789 doesn't need stream attribute redeclaration and avoids the
790 dependency on streams.
791
792 2012-04-26 Tristan Gingold <gingold@adacore.com>
793
794 * adaint.c (to_host_path_spec): Removed (unused).
795 Minor reformatting.
796
797 2012-04-26 Steve Baird <baird@adacore.com>
798
799 * gnat_rm.texi Improve description of Valid_Scalars attribute.
800
801 2012-04-26 Ed Schonberg <schonberg@adacore.com>
802
803 * sem_ch6.adb (Can_Override_Operator): If the formal is a
804 generic type the operator cannot be overriding.
805
806 2012-04-26 Ed Schonberg <schonberg@adacore.com>
807
808 * sem_ch8.adb (Spec_Reloaded_For_Body): Check whether the type
809 is declared in a package specification, and current unit is the
810 corresponding package body. The use clauses themselves may be
811 within a nested package.
812
813 2012-04-26 Bob Duff <duff@adacore.com>
814
815 * exp_ch2.adb (Param_Entity): Take into account the case where
816 the type of the entry parameter has a representation clause.
817
818 2012-04-26 Ed Schonberg <schonberg@adacore.com>
819
820 * gnat_ugn.texi: Tweak dimensionality doc.
821
822 2012-04-26 Robert Dewar <dewar@adacore.com>
823
824 * sem_eval.adb: Minor reformatting.
825
826 2012-04-26 Robert Dewar <dewar@adacore.com>
827
828 * einfo.adb, einfo.ads, sem_res.adb, sem_ch4.adb,
829 sem_eval.adb: Minor reformatting.
830
831 2012-04-26 Thomas Quinot <quinot@adacore.com>
832
833 * freeze.adb: Minor change in error wording.
834
835 2012-04-26 Ed Schonberg <schonberg@adacore.com>
836
837 * gnat_ugn.texi: Documentation on dimensional analysis.
838
839 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
840
841 * einfo.adb, einfo.ads: Remove synthesized attribute
842 Proper_First_Index along with its associations in various nodes.
843 (Proper_First_Index): Removed.
844 * sem_ch4.adb (Analyze_Slice): Alphabetize constants. Add new
845 local variable Index_Type. The index type of a string literal
846 subtype is that of the stored low bound.
847 * sem_eval (Get_Static_Length): Remove the use of Proper_First_Index.
848 * sem_res.adb (Resolve_Slice): Alphabetize constants. Add
849 new local variable Index_Type. The index type of a
850 string literal subtype is that of the stored low bound.
851 (Set_String_Literal_Subtype): Code reformatting.
852
853 2012-04-26 Robert Dewar <dewar@adacore.com>
854
855 * exp_aggr.adb: Minor reformatting.
856
857 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
858
859 * exp_ch7.adb (Expand_Cleanup_Actions): Update the call to
860 Requires_Cleanup_Actions.
861 * exp_util.adb (Requires_Cleanup_Actions (List_Id; Boolean;
862 Boolean)): Rename formal parameter For_Package to Lib_Level to
863 better reflect its purpose. Update the related comment and all
864 occurrences of For_Package in the body.
865 (Requires_Cleanup_Actions
866 (Node_Id; Boolean)): Add new formal parameter Lib_Level. Add
867 local constant At_Lib_Level to keep monitor whether the path
868 taken from the top-most context to the current construct involves
869 package constructs. Update all calls to Requires_Cleanup_Actions.
870 * exp_util.ads (Requires_Cleanup_Actions): Add new formal
871 parameter Lib_Level and associated comment.
872
873 2012-04-26 Ed Schonberg <schonberg@adacore.com>
874
875 * sem_ch6.adb (Process_Formals): If the type of the formal is
876 a non null access type, mark the generated subtype as having a
877 delayed freeze only if the designated type is not frozen yet.
878
879 2012-04-26 Vincent Celier <celier@adacore.com>
880
881 * prj-attr.adb: New package Clean with attributes
882 Object_Artifact_Extensions and Source_Artifact_Extensions.
883 * prj-nmsc.adb (Process_Clean): Process new package Clean
884 * prj.ads (Language_Config): New components
885 Clean_Object_Artifacts and Clean_Source_Artifacts.
886 * snames.ads-tmpl: New standard names Clean,
887 Object_Artifact_Extensions and Source_Artifact_Extensions.
888
889 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
890
891 * einfo.adb (Proper_First_Index): Moved from Sem_Util.
892 * einfo.ads: Add new synthesized attribute Proper_First_Index
893 along with usage in nodes.
894 (Proper_First_Index): Moved from Sem_Util.
895 * sem_util.ads, sem_util.adb (Proper_First_Index): Moved to Einfo.
896
897 2012-04-26 Gary Dismukes <dismukes@adacore.com>
898
899 * layout.adb (Layout_Component_List): Test for the case of a
900 single variant and the size of its component list was computed
901 as an integer literal, and use that size (which is in bits)
902 as is rather than converting to storage units.
903
904 2012-04-26 Robert Dewar <dewar@adacore.com>
905
906 * exp_aggr.adb: Minor reformatting.
907
908 2012-04-26 Robert Dewar <dewar@adacore.com>
909
910 * sem_util.adb: Minor reformatting.
911
912 2012-04-26 Thomas Quinot <quinot@adacore.com>
913
914 * exp_aggr.adb, exp_pakd.adb (Setup_Inline_Packed_Array_Reference,
915 Packed_Array_Aggregate_Handled.Get_Component_Val):
916 Reverse bit numbering within PAT when Reverse_Storage_Order
917 applies to the enclosing record.
918
919 2012-04-26 Thomas Quinot <quinot@adacore.com>
920
921 * freeze.adb (Freeze_Record_Type): Improve error message for
922 Scalar_Storage_Order inconsistent with Bit_Order.
923
924 2012-04-25 Gary Dismukes <dismukes@adacore.com>
925
926 * exp_ch9.adb: Add comments on the usage of the
927 lock-free data structures.
928
929 2012-04-25 Vincent Pucci <pucci@adacore.com>
930
931 * exp_intr.adb (Expand_Shift): Convert the left
932 operand and the operator when the type of the call differs from
933 the type of the operator.
934
935 2012-04-25 Geert Bosch <bosch@adacore.com>
936
937 * stand.ads: Minor comment fix.
938
939 2012-04-25 Hristian Kirtchev <kirtchev@adacore.com>
940
941 * sem_ch4.adb (Analyze_Slice): Handle the case where the prefix
942 is a string literal. Retrieve the first index from the base type
943 when slicing a string literal.
944 * sem_ch12.adb (Check_Private_View): Move the initialization
945 of the type inside the loop to reflect the changing index.
946 * sem_eval.adb (Eval_Relational_Op): Retrieve the first index
947 from the base type when dealing with a string literal.
948 * sem_res.adb (Resolve_Slice): Retrieve the first index from
949 the base type when slicing a string literal.
950 * sem_util.adb (Is_Internally_Generated_Renaming): New routine.
951 (Is_Object_Reference): String literals may act
952 as object references only when they are renamed internally.
953 (Proper_First_Index): New routine.
954 * sem_util.ads (Proper_First_Index): New routine.
955
956 2012-04-25 Robert Dewar <dewar@adacore.com>
957
958 * sem_ch3.adb, csinfo.adb, lib-writ.adb, sem_ch12.adb,
959 lib-xref.adb: Minor reformatting.
960
961 2012-04-25 Hristian Kirtchev <kirtchev@adacore.com>
962
963 * exp_ch9.adb: Rename Lock_Free_Sub_Type
964 to Lock_Free_Subprogram. Remove type Subprogram_Id.
965 Rename LF_Sub_Table to Lock_Free_Subprogram_Table.
966 (Allow_Lock_Free_Implementation): Renamed to
967 Allows_Lock_Free_Implementation. Update the comment on
968 lock-free restrictions. Code clean up and restructuring.
969 (Build_Lock_Free_Protected_Subprogram_Body): Update the
970 profile and related comments. Code clean up and restructuring.
971 (Build_Lock_Free_Unprotected_Subprogram_Body): Update the
972 profile and related comments. Code clean up and restructuring.
973 (Comp_Of): Removed.
974
975 2012-04-25 Vincent Celier <celier@adacore.com>
976
977 * sem_ch12.adb (Inherit_Context): Compare library units, not
978 names of units, when checking if a unit is already in the context.
979
980 2012-04-25 Thomas Quinot <quinot@adacore.com>
981
982 * sem_ch3.adb: Reverse_Storage_Order must be propagated to
983 untagged derived record types.
984
985 2012-04-25 Ed Schonberg <schonberg@adacore.com>
986
987 * lib-xref.adb: Adjust position of end label.
988
989 2012-04-22 Jan Hubicka <jh@suse.cz>
990
991 * gcc-interface/utils.c (gnat_write_global_declarations): Do not mark
992 needed node.
993
994 2012-04-20 Jan Hubicka <jh@suse.cz>
995
996 * gcc-interface/utils.c (gnat_write_global_declarations): Update for new
997 force_output placement.
998
999 2012-04-14 Jan Hubicka <jh@suse.cz>
1000
1001 * gcc-interface/trans.c (finalize_nrv): Update field referenced for new
1002 cgraph/varpool layout.
1003
1004 2012-04-09 Mike Stump <mikestump@comcast.net>
1005
1006 * a-assert.ads: Remove execute permission.
1007 * a-chacon.ads: Likewise.
1008 * a-coteio.ads: Likewise.
1009 * a-envvar.ads: Likewise.
1010 * a-exetim-mingw.ads: Likewise.
1011 * a-fzteio.ads: Likewise.
1012 * a-izteio.ads: Likewise.
1013 * a-lcteio.ads: Likewise.
1014 * a-llctio.ads: Likewise.
1015 * a-scteio.ads: Likewise.
1016 * a-suenco.ads: Likewise.
1017 * a-suenst.ads: Likewise.
1018 * a-suewst.ads: Likewise.
1019 * a-suezst.ads: Likewise.
1020 * a-tirsfi.ads: Likewise.
1021 * a-wichha.ads: Likewise.
1022 * a-zchara.ads: Likewise.
1023 * a-zchhan.ads: Likewise.
1024 * a-zchuni.ads: Likewise.
1025 * a-zrstfi.ads: Likewise.
1026 * aspects.ads: Likewise.
1027 * g-byorma.ads: Likewise.
1028 * g-decstr.ads: Likewise.
1029 * g-encstr.ads: Likewise.
1030 * g-spchge.ads: Likewise.
1031 * g-u3spch.ads: Likewise.
1032 * g-wispch.ads: Likewise.
1033 * g-zspche.ads: Likewise.
1034 * namet-sp.ads: Likewise.
1035 * s-os_lib.ads: Likewise.
1036 * s-regexp.ads: Likewise.
1037 * s-regpat.ads: Likewise.
1038 * s-string.ads: Likewise.
1039 * s-tasloc.ads: Likewise.
1040 * s-utf_32.ads: Likewise.
1041 * sem_aux.ads: Likewise.
1042 * a-assert.adb: Likewise.
1043 * a-chacon.adb: Likewise.
1044 * a-envvar.adb: Likewise.
1045 * a-exetim-mingw.adb: Likewise.
1046 * a-suenco.adb: Likewise.
1047 * a-suenst.adb: Likewise.
1048 * a-suewst.adb: Likewise.
1049 * a-suezst.adb: Likewise.
1050 * a-tirsfi.adb: Likewise.
1051 * a-wichha.adb: Likewise.
1052 * a-zchhan.adb: Likewise.
1053 * a-zchuni.adb: Likewise.
1054 * a-zrstfi.adb: Likewise.
1055 * aspects.adb: Likewise.
1056 * g-byorma.adb: Likewise.
1057 * g-decstr.adb: Likewise.
1058 * g-encstr.adb: Likewise.
1059 * g-spchge.adb: Likewise.
1060 * g-u3spch.adb: Likewise.
1061 * g-wispch.adb: Likewise.
1062 * g-zspche.adb: Likewise.
1063 * namet-sp.adb: Likewise.
1064 * s-except.adb: Likewise.
1065 * s-inmaop-vxworks.adb: Likewise.
1066 * s-os_lib.adb: Likewise.
1067 * s-regexp.adb: Likewise.
1068 * s-regpat.adb: Likewise.
1069 * s-string.adb: Likewise.
1070 * s-tasloc.adb: Likewise.
1071 * s-utf_32.adb: Likewise.
1072 * s-wchcon.adb: Likewise.
1073 * sem_aux.adb: Likewise.
1074
1075 2012-04-02 Robert Dewar <dewar@adacore.com>
1076
1077 * s-atopri.ads: Minor reformatting.
1078
1079 2012-04-02 Thomas Quinot <quinot@adacore.com>
1080
1081 * sem_util.adb: Minor reformatting, minor code cleanup.
1082
1083 2012-04-02 Ed Schonberg <schonberg@adacore.com>
1084
1085 * lib-xref.adb (Generate_Reference): For a reference to an
1086 operator symbol, set the sloc to point to the first character
1087 of the operator name, and not to the initial quaote.
1088 (Output_References): Ditto for the definition of an operator
1089 symbol.
1090
1091 2012-04-02 Vincent Celier <celier@adacore.com>
1092
1093 * ali.adb (Scan_Ali): Recognize Z lines. Set
1094 Implicit_With_From_Instantiation to True in the With_Record for
1095 Z lines.
1096 * ali.ads (With_Record): New Boolean component
1097 Implicit_With_From_Instantiation, defaulted to False.
1098 * csinfo.adb: Indicate that Implicit_With_From_Instantiation
1099 is special
1100 * lib-writ.adb (Write_ALI): New array Implicit_With.
1101 (Collect_Withs): Set Implicit_With for the unit is it is not Yes.
1102 (Write_With_Lines): Write a Z line instead of a W line if
1103 Implicit_With is Yes for the unit.
1104 * sem_ch12.adb (Inherit_Context): Only add a unit in the context
1105 if it is not there yet.
1106 * sinfo.ads: New flag Implicit_With_From_Instantiation (Flag12)
1107 added.
1108
1109 2012-04-02 Yannick Moy <moy@adacore.com>
1110
1111 * osint.adb, osint.ads (Add_Default_Search_Dirs): Add library
1112 search dirs in file specified with option -gnateO.
1113
1114 2012-04-02 Robert Dewar <dewar@adacore.com>
1115
1116 * sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb: Minor
1117 reformatting.
1118
1119 2012-04-02 Olivier Hainque <hainque@adacore.com>
1120
1121 * g-sse.ads: Add x86-solaris and x86_64-darwin to the set of
1122 platforms where the use of this spec is supported. Add current
1123 year to the copyright notice.
1124 * gcc-interfaces/Makefile.in: Add g-sse.o and g-ssvety.o to
1125 EXTRA_GNATRTL_NONTASKING_OBJS on x86 32/64 targets that support
1126 it and where they were missing (x86-solaris, x86-freebsd,
1127 x86_64-freebsd, and x86-darwin).
1128
1129 2012-04-02 Gary Dismukes <dismukes@adacore.com>
1130
1131 * bindgen.adb (Gen_Ada_Init): When compiling for the AAMP small
1132 library, where we no longer suppress the Standard_Library,
1133 generate an empty body rather than the usual generation of
1134 assignments to imported globals, since those aren't present in
1135 the small library.
1136
1137 2012-04-02 Ed Schonberg <schonberg@adacore.com>
1138
1139 * sinfo.ads: Minor documentation fix.
1140
1141 2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
1142
1143 * sem_res.adb (Resolve_Conditional_Expression): Add local variables
1144 Else_Typ and Then_Typ. Add missing type conversions to the "then" and
1145 "else" expressions when their respective types are scalar.
1146
1147 2012-04-02 Vincent Pucci <pucci@adacore.com>
1148
1149 * exp_ch9.adb: Reordering of the local subprograms. New Table
1150 for the lock free implementation that maps each protected
1151 subprograms with the protected component it references.
1152 (Allow_Lock_Free_Implementation): New routine. Check if
1153 the protected body enables the lock free implementation.
1154 (Build_Lock_Free_Protected_Subprogram_Body): New routine.
1155 (Build_Lock_Free_Unprotected_Subprogram_Body): New routine.
1156 (Comp_Of): New routine.
1157 * Makefile.rtl: Add s-atopri.o
1158 * debug.adb: New compiler debug flag -gnatd9 for lock free
1159 implementation.
1160 * rtsfind.ads: RE_Atomic_Compare_Exchange_8,
1161 RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32,
1162 RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8,
1163 RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64, RE_Uint8,
1164 RE_Uint16, RE_Uint32, RE_Uint64 added.
1165 * s-atropi.ads: New file. Defines atomic primitives used
1166 by the lock free implementation.
1167
1168 2012-04-02 Emmanuel Briot <briot@adacore.com>
1169
1170 * g-expect.adb (Expect_Internal): Fix leak of the input file descriptor.
1171
1172 2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
1173
1174 * exp_ch4.adb (Expand_N_Quantified_Expression): Reimplemented.
1175 The expansion no longer uses the copy of the original QE created
1176 during analysis.
1177 * sem.adb (Analyze): Add processing for loop parameter specifications.
1178 * sem_ch4.adb (Analyze_Quantified_Expression): Reimplemented. The
1179 routine no longer creates a copy of the original QE. All
1180 constituents of a QE are now preanalyzed and resolved.
1181 * sem_ch5.adb (Analyze_Iteration_Scheme): Remove the guard which
1182 bypasses all processing when the iteration scheme is related to a
1183 QE. Relovate the code which analyzes loop parameter specifications
1184 to a separate routine. (Analyze_Iterator_Specification):
1185 Preanalyze the iterator name. This action was originally
1186 done in Analyze_Iteration_Scheme. Update the check which
1187 detects an iterator specification in the context of a QE.
1188 (Analyze_Loop_Parameter_Specification): New routine. This
1189 procedure allows for a stand-alone analysis of a loop parameter
1190 specification without the need of a parent iteration scheme. Add
1191 code to update the type of the loop variable when the range
1192 generates an itype and the context is a QE.
1193 (Pre_Analyze_Range): Renamed to Preanalyze_Range. Update all references
1194 to the routine.
1195 * sem_ch5.ads: Code reformatting.
1196 (Analyze_Loop_Parameter_Specification): New routine.
1197 * sem_ch6.adb (Fully_Conformant_Expressions): Detect a case
1198 when establishing conformance between two QEs utilizing different
1199 specifications.
1200 * sem_res.adb (Proper_Current_Scope): New routine.
1201 (Resolve): Do not resolve a QE as there is nothing to be done now.
1202 Ignore any loop scopes generated for QEs when detecting an expression
1203 function as the scopes are cosmetic and do not appear in the tree.
1204 (Resolve_Quantified_Expression): Removed. All resolution of
1205 QE constituents is now performed during analysis. This ensures
1206 that loop variables appearing in array aggregates are properly
1207 resolved.
1208
1209 2012-04-02 Ed Schonberg <schonberg@adacore.com>
1210
1211 * sem_util.adb (Build_Default_Subtype): If the base type is
1212 private and its full view is available, use the full view in
1213 the subtype declaration.
1214
1215 2012-04-02 Jose Ruiz <ruiz@adacore.com>
1216
1217 * gnat_ugn.texi: Add some minimal documentation about how to
1218 use GNATtest for cross platforms.
1219
1220 2012-04-02 Vincent Celier <celier@adacore.com>
1221
1222 * opt.ads (Object_Path_File_Name): New variable.
1223 * prj-attr.adb: New Compiler attribute Object_Path_Switches.
1224 * prj-nmsc.adb (Process_Compiler): Recognize new attribute
1225 Object_Path_Switches.
1226 * snames.ads-tmpl: New standard name Object_Path_Switches.
1227 * switch-c.adb (Scan_Front_End_Switches): Recognize new switch
1228 -gnateO= and put its value in Opt.Object_Path_File_Name.
1229
1230 2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
1231
1232 * exp_ch7.adb (Process_Declarations): Detect a case where
1233 a source object was initialized by another source object,
1234 but the expression was rewritten as a class-wide conversion
1235 of Ada.Tags.Displace.
1236 * exp_util.adb (Initialized_By_Ctrl_Function): Removed.
1237 (Is_Controlled_Function_Call): New routine.
1238 (Is_Displacement_Of_Ctrl_Function_Result): Removed.
1239 (Is_Displacement_Of_Object_Or_Function_Result): New routine.
1240 (Is_Source_Object): New routine.
1241 (Requires_Cleanup_Actions): Detect a case where a source object was
1242 initialized by another source object, but the expression was rewritten
1243 as a class-wide conversion of Ada.Tags.Displace.
1244 * exp_util.ads (Is_Displacement_Of_Ctrl_Function_Result): Removed.
1245 (Is_Displacement_Of_Object_Or_Function_Result): New routine.
1246
1247 2012-04-02 Ed Schonberg <schonberg@adacore.com>
1248
1249 * sem_res.adb (Resolve_Call): A call to an expression function
1250 does not freeze if it appears in a different scope from the
1251 expression function itself. Such calls appear in the generated
1252 bodies of other expression functions, or in pre/postconditions
1253 of subsequent subprograms.
1254
1255 2012-04-02 Yannick Moy <moy@adacore.com>
1256
1257 * lib-xref-alfa.adb: Code clean up.
1258
1259 2012-04-02 Ed Schonberg <schonberg@adacore.com>
1260
1261 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Do not suppress
1262 style checks, because the subprogram instance itself may contain
1263 violations of syle rules.
1264 * style.adb (Missing_Overriding): Check for missing overriding
1265 indicator on a subprogram instance.
1266
1267 2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
1268
1269 * sem_ch6.adb (Last_Implicit_Declaration): New routine.
1270 (Process_PPCs): Insert the body of _postconditions after the
1271 last internally generated declaration. This ensures that actual
1272 subtypes created for formal parameters are visible and properly
1273 frozen as _postconditions may reference them.
1274
1275 2012-04-02 Robert Dewar <dewar@adacore.com>
1276
1277 * einfo.adb (First_Component_Or_Discriminant) Now applies to
1278 all types with discriminants, not just records.
1279 * exp_attr.adb (Expand_N_Attribute): Add Scalar_Values handling
1280 for arrays, scalars and non-variant records.
1281 * sem_attr.adb (Analyze_Attribute): Handle Valid_Scalars
1282 * sem_attr.ads (Valid_Scalars): Update description
1283 * sem_util.ads, sem_util.adb (No_Scalar_Parts): New function.
1284
1285 2012-03-31 Eric Botcazou <ebotcazou@adacore.com>
1286
1287 Revert
1288 2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
1289
1290 * gcc-interface/decl.c (SS_MARK_NAME): New define.
1291 (gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities
1292 whose name is SS_MARK_NAME.
1293
1294 2012-03-30 Robert Dewar <dewar@adacore.com>
1295
1296 * exp_ch5.adb, sem_util.adb, exp_ch4.adb: Minor comment updates.
1297
1298 2012-03-30 Yannick Moy <moy@adacore.com>
1299
1300 * lib-xref-alfa.adb (Add_Alfa_File): Treat possibly 2 units at the same
1301 time, putting all scopes in the same Alfa file.
1302 (Add_Alfa_Xrefs): Correct errors in comparison function. Correct value
1303 of Def component.
1304 (Collect_Alfa): Possibly pass 2 units to Add_Alfa_File.
1305
1306 2012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
1307
1308 * exp_util.adb (Is_Secondary_Stack_BIP_Func_Call): Handle a case where
1309 a build-in-place call appears as Prefix'Reference'Reference.
1310
1311 2012-03-30 Yannick Moy <moy@adacore.com>
1312
1313 * lib-xref-alfa.adb: Minor refactoring to remove internal package.
1314
1315 2012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
1316
1317 * sem_ch5.adb (Analyze_Iteration_Scheme): Preanalyze the subtype
1318 definition of a loop when the context is a quantified expression.
1319
1320 2012-03-30 Vincent Celier <celier@adacore.com>
1321
1322 * prj.ads: Minor comment update.
1323
1324 2012-03-30 Yannick Moy <moy@adacore.com>
1325
1326 * lib-xref-alfa.adb, alloc.ads, lib-xref.ads: Minor addition of
1327 comments and refactoring.
1328
1329 2012-03-30 Robert Dewar <dewar@adacore.com>
1330
1331 * lib-xref.adb, lib-xref-alfa.adb: Minor reformatting & code
1332 reorganization.
1333
1334 2012-03-30 Yannick Moy <moy@adacore.com>
1335
1336 * lib-xref-alfa.adb (Generate_Dereference): Use Get_Code_Unit
1337 instead of Get_Source_Unit to get file for reference.
1338 (Traverse_Compilation_Unit): Do not add scopes for generic units.
1339 * lib-xref.adb (Generate_Reference): Use Get_Code_Unit instead
1340 of Get_Source_Unit to get file for reference.
1341 * sem_ch12.adb (Analyze_Package_Instantiation): Enable
1342 instantiation in Alfa mode.
1343
1344 2012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
1345
1346 * exp_ch7.adb (Process_Declarations): Replace
1347 the call to Is_Null_Access_BIP_Func_Call with
1348 Is_Secondary_Stack_BIP_Func_Call. Update the related comment.
1349 * exp_util.adb (Is_Null_Access_BIP_Func_Call): Removed.
1350 (Is_Secondary_Stack_BIP_Func_Call): New routine.
1351 (Requires_Cleanup_Actions): Replace
1352 the call to Is_Null_Access_BIP_Func_Call with
1353 Is_Secondary_Stack_BIP_Func_Call. Update the related comment.
1354 * exp_util.ads (Is_Null_Access_BIP_Func_Call): Removed.
1355 (Is_Secondary_Stack_BIP_Func_Call): New routine.
1356
1357 2012-03-30 Yannick Moy <moy@adacore.com>
1358
1359 * lib-xref-alfa.adb, lib-xref.adb: Code clean ups.
1360
1361 2012-03-30 Gary Dismukes <dismukes@adacore.com>
1362
1363 * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): For the case of a
1364 loop entity which is rewritten as a renaming
1365 of the indexed array, explicitly mark the entity as needing
1366 debug info so that Materialize entity will be set later by
1367 Debug_Renaming_Declaration when the renaming is expanded.
1368
1369 2012-03-30 Robert Dewar <dewar@adacore.com>
1370
1371 * sem_attr.ads: Update comment.
1372
1373 2012-03-30 Vincent Celier <celier@adacore.com>
1374
1375 * prj.ads: New Dependency_Kind: ALI_Closure.
1376
1377 2012-03-30 Thomas Quinot <quinot@adacore.com>
1378
1379 * exp_pakd.adb: Minor reformatting.
1380
1381 2012-03-30 Yannick Moy <moy@adacore.com>
1382
1383 * lib-xref-alfa.adb (Add_Alfa_File): Take into account possible absence
1384 of compilation unit for unit in Sdep_Table.
1385
1386 2012-03-30 Thomas Quinot <quinot@adacore.com>
1387
1388 * freeze.adb (Freeze_Record_Type): For a type with reversed bit
1389 order and reversed storage order, disable front-end relayout.
1390
1391 2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
1392
1393 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Copy
1394 the TYPE_PACKED flag from the base type.
1395
1396 2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
1397
1398 * gcc-interface/decl.c (SS_MARK_NAME): New define.
1399 (gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities
1400 whose name is SS_MARK_NAME.
1401
1402 2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
1403
1404 * gcc-interface/utils.c (add_parallel_type): Take a TYPE instead of a
1405 DECL and adjust. Move around.
1406 (has_parallel_type): New predicate.
1407 (rest_of_record_type_compilation): Return early if the type already
1408 has a parallel type.
1409 * gcc-interface/gigi.h (add_parallel_type): Adjust.
1410 * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes.
1411
1412 2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
1413
1414 * gcc-interface/utils.c (finish_record_type): Return early for padded
1415 types and tidy up.
1416
1417 2012-03-20 Arnaud Charlet <charlet@adacore.com>
1418
1419 * hlo.ads, hlo.adb: Removed, no longer used.
1420 * gcc-interface/Make-lang.in: Remove hlo.o. Update dependencies.
1421 * gcc-interface/Makefile.in: Remove EXTRA_LIBGNAT_SRCS (temporarly)
1422 and compute it from EXTRA_LIBGNAT_OBJS.
1423 Clean up comments, reorder LIBGNAT_SRCS and LIBGNAT_OBJS.
1424
1425 2012-03-20 Yannick Moy <moy@adacore.com>
1426
1427 * gnat_rm.texi, sem_attr.ads: Update documentation.
1428
1429 2012-03-19 Yannick Moy <moy@adacore.com>
1430
1431 * sem_ch6.adb: Minor code clean up.
1432
1433 2012-03-19 Vincent Celier <celier@adacore.com>
1434
1435 * make.adb (Scan_Make_Arg): Make sure all significant -m switches
1436 on the command line are counted.
1437
1438 2012-03-19 Robert Dewar <dewar@adacore.com>
1439
1440 * sem_elab.adb (Generate_Elab_Warnings): Fix spec, fix attribute
1441 reference case
1442
1443 2012-03-19 Robert Dewar <dewar@adacore.com>
1444
1445 * par-ch4.adb (Check_Bad_Exp): New procedure
1446
1447 2012-03-19 Robert Dewar <dewar@adacore.com>
1448
1449 * exp_attr.adb, sem_attr.adb, sem_attr.ads, snames.ads-tmpl: Add
1450 initial framework for Valid_Scalars attribute.
1451
1452 2012-03-19 Robert Dewar <dewar@adacore.com>
1453
1454 * scng.adb (Scan): Recognize incorrect preprocessor directive
1455
1456 2012-03-19 Robert Dewar <dewar@adacore.com>
1457
1458 * atree.adb (Allocate_Initialize_Node): Use Num_Extension_Nodes
1459 * atree.ads (Num_Extension_Nodes): New variable
1460 * debug.adb: New debug flag -gnatd.N
1461 * gnat1drv.adb (Adjust_Global_Switches): Adjust
1462 Num_Extension_Nodes if -gnatd.N set
1463
1464 2012-03-19 Eric Botcazou <ebotcazou@adacore.com>
1465
1466 * einfo.ads: Minor update to First_Rep_Item and Has_Gigi_Rep_Item
1467 descriptions.
1468
1469 2012-03-19 Robert Dewar <dewar@adacore.com>
1470
1471 * opt.ads: Remove HLO_Active flag.
1472 * sem.adb: Remove call of high level optimizer.
1473 * sem.ads (New_Nodes_OK): Removed.
1474 * sem_ch10.adb: Remove references to New_Nodes_OK.
1475 * switch-c.adb: Remove handling of -gnatH switch.
1476
1477 2012-03-19 Yannick Moy <moy@adacore.com>
1478
1479 * sem_ch6.adb (Check_Subprogram_Contract): Do not emit warnings
1480 on trivially True or False postconditions and Ensures components
1481 of contract-cases.
1482
1483 2012-03-19 Robert Dewar <dewar@adacore.com>
1484
1485 * gnat_ugn.texi: Fix index entry for -gnatei (now we have
1486 ug_words entry).
1487
1488 2012-03-19 Hristian Kirtchev <kirtchev@adacore.com>
1489
1490 * sem_ch3.adb (Get_Discriminant_Value): Instead of looking
1491 at the immediate correcponsing discriminant, traverse a
1492 potential chain of discriminants produced by type derivations.
1493 (Root_Corresponding_Discriminant): Traverse a chain of inherited
1494 discriminants and return the topmost discriminant.
1495
1496 2012-03-19 Bob Duff <duff@adacore.com>
1497
1498 * debug.adb: Minor comment change.
1499 * gnat_ugn.texi: Update documentation for elaboration regarding
1500 indirect calls.
1501
1502 2012-03-19 Gary Dismukes <dismukes@adacore.com>
1503
1504 * exp_ch3.adb (Expand_N_Object_Declaration): In
1505 the case of an object of a class-wide interface type, where the
1506 declaration is rewritten as a renaming, call Set_Debug_Info_Needed
1507 on the renaming entity so that Materialize_Entity will be
1508 set. Also, change existing call (for other than interface cases)
1509 to call Set_Debug_Info_Needed rather than Set_Needs_Debug_Info
1510 (as specified for that flag).
1511
1512 2012-03-19 Hristian Kirtchev <kirtchev@adacore.com>
1513
1514 * sem_ch4.adb (Analyze_Allocator): Detect an allocator generated
1515 by the build-in-place machinery where the designated type is
1516 indefinite, but the underlying type is not. Do not emit errors
1517 related to missing initialization in this case.
1518
1519 2012-03-19 Robert Dewar <dewar@adacore.com>
1520
1521 * gnat_ugn.texi: Add documentation for -gnateinnn switch.
1522 * sem_elab.adb, put_alfa.adb, lib-xref-alfa.adb: Minor reformatting.
1523 * sem_prag.adb: Minor comment update.
1524
1525 2012-03-15 Robert Dewar <dewar@adacore.com>
1526
1527 * errout.ads: Add entry for translating -gnateinn to
1528 /MAX_INSTANTIATIONS for VMS.
1529 * hostparm.ads (Max_Instantiations): Moved to Opt.
1530 * opt.ads (Maximum_Instantiations): Moved from Hostparm, and renamed.
1531 * sem_ch12.adb (Maximum_Instantiations): New name of
1532 Max_Instantiations (Analyze_Package_Instantiation): Change error
1533 msg for too many instantiations (mention -gnateinn switch).
1534 * switch-c.adb (Scan_Front_End_Switches): Implement -gnateinn switch.
1535 * switch.ads: Minor comment update.
1536 * usage.adb (Usage): Output line for -maxeinn switch.
1537 * vms_data.ads: Add entry for MAX_INSTANTIATIONS (-gnateinn).
1538
1539 2012-03-15 Yannick Moy <moy@adacore.com>
1540
1541 * alfa.ads Update the decription of ALI sections.
1542 (Alfa_File_Record): Add a component Unit_File_Name to store the
1543 unit file name for subunits.
1544 * get_alfa.adb, put_alfa.adb Adapt to the possible presence of
1545 a unit file name.
1546 * lib-xref-alfa.adb (Add_Alfa_File): For subunits, retrieve the
1547 file name of the unit.
1548
1549 2012-03-15 Yannick Moy <moy@adacore.com>
1550
1551 * sem_ch6.adb (Check_Subprogram_Contract): Do
1552 not issue warning on missing 'Result in postcondition if all
1553 postconditions and contract-cases already get a warning for only
1554 referring to pre-state.
1555
1556 2012-03-15 Bob Duff <duff@adacore.com>
1557
1558 * debug.adb: Add new debug switch -gnatd.U, which disables the
1559 support added below, in case someone trips over a cycle, and needs
1560 to disable this.
1561 * sem_attr.adb (Analyze_Access_Attribute):
1562 Treat Subp'Access as a call for elaboration purposes.
1563 * sem_elab.ads, sem_elab.adb (Check_Elab_Call): Add support
1564 for Subp'Access.
1565
1566 2012-03-15 Vincent Pucci <pucci@adacore.com>
1567
1568 * sem.ads, sem.adb (Preanalyze): New routine.
1569 * sem_ch4.adb (Analyze_Quantified_Expression): Call to the
1570 Preanalyze routine in Sem added. Renaming of Needs_Expansion
1571 into Need_Preanalysis.
1572 * sem_ch6.adb (Preanalyze): Removed.
1573
1574 2012-03-15 Robert Dewar <dewar@adacore.com>
1575
1576 * sem_ch4.adb (Analyze_Quantified_Expression): Add comment.
1577 * sem_prag.adb: Minor comment additions.
1578 * sem_attr.adb (Check_First_Last_Valid): Make sure prefix type
1579 is frozen.
1580
1581 2012-03-15 Vincent Pucci <pucci@adacore.com>
1582
1583 * sem_ch4.adb (Analyze_Quantified_Expression):
1584 Preanalyze the condition when the quantified expression will be
1585 further expanded.
1586
1587 2012-03-15 Yannick Moy <moy@adacore.com>
1588
1589 * sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, sem_ch6.adb,
1590 sem_warn.adb: Minor refactoring, renaming Case_Pragma in CTC_Pragma,
1591 to refer to both Test_Case pragma and Contract_Case pragma (same
1592 acronym as in Spec_CTC_List).
1593
1594 2012-03-15 Robert Dewar <dewar@adacore.com>
1595
1596 * sem_prag.adb, sem_prag.ads, sem_util.ads, sem_attr.adb, sem_ch6.adb,
1597 sem_warn.adb: Minor reformatting.
1598
1599 2012-03-15 Hristian Kirtchev <kirtchev@adacore.com>
1600
1601 * exp_util.adb (Initialized_By_Ctrl_Function): Do not loop over
1602 selector names as the function call always appears at the top selected
1603 component.
1604
1605 2012-03-15 Ed Schonberg <schonberg@adacore.com>
1606
1607 * sem_ch12.adb (Validate_Access_Subprogram_Instance): keep
1608 Mode_Conformance check for older versions of the language.
1609
1610 2012-03-15 Yannick Moy <moy@adacore.com>
1611
1612 * gnat_ugn.texi Document the extension of option -gnatw.t.
1613 * sem_ch3.adb (Analyze_Declaration): Check for suspicious
1614 contracts only after contract cases have been semantically
1615 analyzed.
1616 * sem_ch6.adb (Check_Subprogram_Contract): Consider also Ensures
1617 components of contract cases for detecting suspicious contracts.
1618
1619 2012-03-15 Yannick Moy <moy@adacore.com>
1620
1621 * aspects.adb, aspects.ads (Aspect_Id): New GNAT aspect
1622 Aspect_Contract_Case.
1623 * gnat_rm.texi Document the new pragma/aspect
1624 Contract_Case. Correct the documentation of the existing
1625 pragma/aspect Test_Case with the new semantics.
1626 * sem_attr.adb (Analyze_Attribute): Allow use of 'Result in the
1627 Ensures component of a Contract_Case pragma.
1628 * sem_ch13.adb (Analyze_Aspect_Specifications): Check new aspect
1629 and translate it into a pragma.
1630 (Check_Aspect_At_Freeze_Point): Take into account the new aspect.
1631 * sem_ch3.adb, sinfo.adb, sinfo.ads Renaming of TC (for test case)
1632 into CTC (for contract and test case).
1633 * sem_ch6.adb (Process_PPCs): Generate Check pragmas from
1634 Contract_Case pragmas, similarly to what is done already for
1635 postconditions.
1636 * sem_prag.adb, sem_prag.ads (Check_Contract_Or_Test_Case):
1637 Renaming of Check_Test_Case.
1638 (Analyze_Pragma, Sig_Flags): Take into account the new pragma.
1639 * sem_util.adb, sem_util.ads Renaming to take into account the
1640 new pragma, so that functions which applied only to Test_Case
1641 now apply to both Test_Case and Contract_Case.
1642 * par-prag.adb, sem_warn.adb, snames.ads-tmpl Take into account
1643 the new pragma.
1644
1645 2012-03-15 Robert Dewar <dewar@adacore.com>
1646
1647 * sem_ch6.ads: Minor comment updates.
1648 * sem_ch12.adb: Minor comment clarification.
1649
1650 2012-03-15 Robert Dewar <dewar@adacore.com>
1651
1652 * sem_ch5.adb: Minor reformatting.
1653
1654 2012-03-15 Ed Schonberg <schonberg@adacore.com>
1655
1656 * exp_ch3.adb (Expand_N_Object_Declaration): When rewriting the
1657 declaration of a class-wide object, retain the Ekind to prevent
1658 subsequent misuse of constants.
1659
1660 2012-03-15 Yannick Moy <moy@adacore.com>
1661
1662 * gnat_rm.texi, gnat_ugn.texi: Minor correction of invariant
1663 terminology.
1664
1665 2012-03-15 Hristian Kirtchev <kirtchev@adacore.com>
1666
1667 * exp_util.adb (Initialized_By_Ctrl_Function): Add code to
1668 process the case when a function call appears in object.operation
1669 format.
1670
1671 2012-03-15 Ed Schonberg <schonberg@adacore.com>
1672
1673 * sem_ch6.ads, sem_ch6.adb (Check_Subtype_Conformant): add
1674 Get_Inst formal, so that conformance within an instantiation
1675 follows renamings of formals. This is similar to what is already
1676 done in Check_Mode_conformant.
1677 * sem_ch12.adb (Vailidate_Access_Subprogram_Instance): check that
1678 formal and actual are subtype conformant. Previously only mode
1679 conformance was required.
1680
1681 2012-03-15 Robert Dewar <dewar@adacore.com>
1682
1683 * par-ch6.adb, einfo.ads, sem_eval.adb, sem_eval.ads,
1684 sem_case.adb: Minor reformatting.
1685
1686 2012-03-15 Robert Dewar <dewar@adacore.com>
1687
1688 * exp_attr.adb (Expand_N_Attribute_Reference): Add handling
1689 of First_Valid/Last_Valid.
1690 * sem_attr.adb (Check_First_Last_Valid): New procedure
1691 (Analyze_Attribute): Add handling of First_Valid and Last_Valid
1692 (Eval_Attribute): ditto.
1693 * snames.ads-tmpl: Add entries for First_Valid and Last_Valid.
1694
1695 2012-03-15 Ed Schonberg <schonberg@adacore.com>
1696
1697 * exp_ch5.adb (Expand_Predicated_Loop): Suppress warnings on
1698 loop variable, for the unusual case where the range has a single
1699 element and the loop variable has no visible assignment to it.
1700
1701 2012-03-15 Vincent Pucci <pucci@adacore.com>
1702
1703 * exp_ch4.adb (Expand_N_Quantified_Expression): Expand the
1704 original quantified expression node.
1705 * sem_ch4.adb (Analyze_Quantified_Expression): Properly analyze
1706 the quantified expression and preserve the original non-analyzed
1707 quantified expression when an expansion is needed.
1708 * sem_ch5.adb (Analyze_Iteration_Scheme): Special treatment
1709 for quantified expressions.
1710 (Analyze_Iterator_Specification): Special treatment for quantified
1711 expressions.
1712
1713 2012-03-15 Ed Falis <falis@adacore.com>
1714
1715 * s-vxwork-ppc.ads: Update FP_CONTEXT so name of former pad
1716 field matches VxWorks headers.
1717
1718 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1719
1720 * gcc-interface/Makefile.in (mips-sgi-irix6*): Remove.
1721
1722 * a-intnam-irix.ads, mlib-tgt-specific-irix.adb,
1723 s-intman-irix.adb, s-mastop-irix.adb, s-osinte-irix.adb,
1724 s-osinte-irix.ads, s-proinf-irix-athread.adb,
1725 s-proinf-irix-athread.ads, s-taprop-irix.adb, s-tasinf-irix.ads,
1726 system-irix-n32.ads, system-irix-n64.ads, system-irix-o32.ads:
1727 Remove.
1728
1729 * adaint.c [__mips && __sgi]: Remove.
1730 (__gnat_number_of_cpus) [__mips && __sgi]: Remove.
1731 [IS_CROSS && !(__mips && __sgi)]: Remove.
1732 * adaint.h [sgi && _LFAPI]: Remove.
1733 * cstreams.c (__gnat_full_name) [sgi]: Remove.
1734 * env.c (__gnat_unsetenv) [__mips && __sgi]: Remove.
1735 (__gnat_clearenv) [__mips && __sgi]: Remove.
1736 * errno.c (_SGI_MP_SOURCE): Remove.
1737 * gsocket.h [sgi]: Remove.
1738 * init.c: Remove IRIX reference.
1739 [sgi]: Remove.
1740 * link.c [sgi]: Remove.
1741 * s-oscons-tmplt.c [__mips && __sgi] (IOV_MAX): Don't define.
1742 (main) [__mips && __sgi] (MAX_tv_sec): Don't define.
1743 (CLOCK_SGI_FAST, CLOCK_SGI_CYCLE): Remove.
1744 * sysdep.c [sgi]: Remove.
1745 (getc_immediate_common) [sgi]: Remove.
1746 (__gnat_localtime_tzoff) [sgi]: Remove.
1747 * terminals.c [__mips && __sgi] (IRIX): Don't define.
1748 [IRIX] (USE_GETPTY): Don't define.
1749 (allocate_pty_desc) [USE_GETPTY]: Remove.
1750
1751 * g-traceb.ads: Remove IRIX reference.
1752 * g-trasym.ads: Likewise.
1753 * memtrack.adb: Likewise.
1754 * s-interr-sigaction.adb: Likewise.
1755
1756 * gnat_rm.texi (Implementation Advice): Remove SGI info.
1757 (Implementation Defined Characteristics): Likewise.
1758 * gnat_ugn.texi (Summary of Run-Time Configurations, mips-irix):
1759 Remove.
1760 (Irix-Specific Considerations): Remove.
1761
1762 2012-03-13 Tristan Gingold <gingold@adacore.com>
1763
1764 * gcc-interface/gigi.h (flag_vms_malloc64): Refine condition.
1765
1766 2012-03-13 Tristan Gingold <gingold@adacore.com>
1767
1768 * sysdep.c: Adjust condition after removal of __osf__.
1769
1770 2012-03-12 Eric Botcazou <ebotcazou@adacore.com>
1771
1772 * gcc-interface/gigi.h (shift_unc_components_for_thin_pointers): Kill.
1773 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Remove call
1774 to above function.
1775 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Adjust
1776 handling of thin pointers.
1777 <Attr_Descriptor_Size>: Likewise.
1778 (gnat_to_gnu) <N_Free_Statement>: Likewise.
1779 * gcc-interface/utils.c (shift_unc_components_for_thin_pointers): Kill.
1780 (convert_to_fat_pointer): Adjust handling of thin pointers.
1781 (convert) <POINTER_TYPE>: Likewise.
1782 * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise.
1783
1784 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1785
1786 * gcc-interface/Makefile.in (alpha*-dec-osf*): Remove.
1787 * a-intnam-tru64.ads, mlib-tgt-specific-tru64.adb,
1788 s-mastop-tru64.adb, s-osinte-tru64.adb, s-osinte-tru64.ads,
1789 s-taprop-tru64.adb, s-tasinf-tru64.ads, s-taspri-tru64.ads,
1790 system-tru64.ads: Remove.
1791
1792 * adaint.c (__gnat_number_of_cpus) [__alpha__ && __osf__]:
1793 Remove.
1794 [IS_CROSS] [!(__alpha__ && __osf__)]: Remove.
1795 * env.c [__alpha__ && __osf__]: Remove.
1796 * gsocket.h (_OSF_SOURCE): Remove.
1797 (HAVE_THREAD_SAFE_GETxxxBYyyy) [__osf__]: Remove.
1798 * init.c [__alpha__ && __osf__]: Remove.
1799 * link.c [__osf__]: Remove.
1800 * s-oscons-tmplt.c [__alpha__ && __osf__]: Remove.
1801 [__osf__ && !_SS_MAXSIZE]: Remove.
1802 * sysdep.c [__osf__]: Remove.
1803 * terminals.c [__alpha__ && __osf__]: Remove.
1804 [OSF1]: Remove.
1805
1806 * g-traceb.ads: Remove Tru64 reference.
1807 * g-trasym.ads: Likewise.
1808 * gnat_ugn.texi (Linking a Mixed C++ & Ada Program): Likewise.
1809 (Summary of Run-Time Configurations): Likewise.
1810 * memtrack.adb: Likewise.
1811
1812 2012-03-12 Tristan Gingold <gingold@adacore.com>
1813
1814 * gcc-interface/decl.c (gnat_to_gnu_param): Use flag_vms_malloc64
1815 instead of TARGET_MALLOC64.
1816 * gcc-interface/gigi.h (flag_vms_malloc64): Define instead
1817 of TARGET_MALLOC64.
1818
1819 2012-03-09 Robert Dewar <dewar@adacore.com>
1820
1821 * a-direct.adb, comperr.adb, freeze.adb: Minor reformatting.
1822
1823 2012-03-09 Arnaud Charlet <charlet@adacore.com>
1824
1825 * s-taskin.adb (Initialize_ATCB): Set Task_Image_Len to
1826 0 so that we never access this field uninitialized (e.g. in
1827 Task_Primitives.Operations.Enter_Task for the environment task).
1828
1829 2012-03-09 Vincent Pucci <pucci@adacore.com>
1830
1831 * exp_ch5.adb (Expand_Iterator_Loop):
1832 Call to Expand_Iterator_Loop_Over_Array added.
1833 (Expand_Iterator_Loop_Over_Array): New routine. Expansion of
1834 "of" iterator loop over arrays. Multidimensional array case added.
1835
1836 2012-03-09 Eric Botcazou <ebotcazou@adacore.com>
1837
1838 * uintp.ads: Fix minor pasto in comment.
1839
1840 2012-03-09 Vasiliy Fofanov <fofanov@adacore.com>
1841
1842 * a-direct.adb: Do not strip the trailing directory separator
1843 from path, as this is already done inside Normalize_Pathname;
1844 doing it again produces the wrong result on Windows for the
1845 drive's root dir (i.e. "X:\" becomes "X:").
1846
1847 2012-03-09 Thomas Quinot <quinot@adacore.com>
1848
1849 * exp_attr.adb, freeze.adb, sem_attr.adb, aspects.adb, aspects.ads,
1850 sem_ch13.adb, snames.ads-tmpl (Exp_Attr.Expand_N_Attribute_Reference):
1851 Add Attribute_Scalar_Storage_Order.
1852 (Sem_Attr.Analyze_Attribute, Eval_Attribute): Ditto.
1853 (Aspects): Add Aspect_Scalar_Storage_Order (Snames): Add
1854 Name_Scalar_Storage_Order and Attribute_Scalar_Storage_Order.
1855 (Sem_Ch13.Analyze_Attribute_Definition_Clause): Add processing
1856 for Scalar_Storage_Order.
1857 (Freeze): If Scalar_Storage_Order is specified, check that it
1858 is compatible with Bit_Order.
1859
1860 2012-03-09 Robert Dewar <dewar@adacore.com>
1861
1862 * s-osinte-linux.ads, sem_util.adb, s-taprop-linux.adb, exp_ch4.adb,
1863 a-strsup.ads, sem_ch6.adb, a-stwisu.ads, exp_ch3.adb,
1864 a-stzsup.ads: Minor reformatting.
1865
1866 2012-03-09 Thomas Quinot <quinot@adacore.com>
1867
1868 * s-ransee-vms.adb: Minor reformatting.
1869
1870 2012-03-09 Arnaud Charlet <charlet@adacore.com>
1871
1872 * comperr.adb (Delete_SCIL_Files): Fix handling of
1873 N_Package_Renaming_Declaration and N_Generic_Package_Declaration.
1874
1875 2012-03-09 Javier Miranda <miranda@adacore.com>
1876
1877 * sem_ch6.adb (Check_Body_To_Inline): In AAMP and VM targets
1878 use frontend inlining at all optimization levels.
1879 * sem_util.adb (Must_Inline): In AAMP and VM targets, given that
1880 there is no inlining support in the backend, use also frontend
1881 inlining when compiling with optimizations enabled.
1882 * exp_ch6.adb (Expand_Call): Minor code reorganization.
1883
1884 2012-03-09 Eric Botcazou <ebotcazou@adacore.com>
1885
1886 * gcc-interface/ada-tree.h (TYPE_VAX_FLOATING_POINT_P): Move around.
1887 (TYPE_UNCONSTRAINED_ARRAY): Adjust comment.
1888 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Tidy
1889 up. Add comment and use canonical predicate for thin pointers.
1890 (gnat_to_gnu) <N_Free_Statement>: Tidy up and reorder. Add comment
1891 and use canonical predicate for thin pointers.
1892 * gcc-interface/utils.c (convert_to_fat_pointer): Remove superfluous
1893 'else' and use standard name.
1894 (convert_to_thin_pointer): Delete.
1895 (convert) <POINTER_TYPE>: Do the difference in sizetype directly and
1896 change obsolete idioms. Do not call above function.
1897 (unchecked_convert): Fix formatting.
1898 * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: In the thin
1899 pointer case, use byte_position to get the field position.
1900
1901 2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
1902
1903 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set flags on the
1904 DECL node built for a type which has a non-trivial equivalent type.
1905
1906 2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
1907
1908 * gcc-interface/gigi.h (rest_of_type_decl_compilation): Delete.
1909 * gcc-interface/decl.c (defer_finalize_level): Likewise.
1910 (defer_finalize_list): Likewise.
1911 (gnat_to_gnu_entity): Delete references to above variables and do not
1912 call rest_of_type_decl_compilation.
1913 (rest_of_type_decl_compilation): Delete.
1914 (rest_of_type_decl_compilation_no_defer): Likewise.
1915 * gcc-interface/utils.c (rest_of_record_type_compilation): Do not call
1916 rest_of_type_decl_compilation.
1917 (create_type_decl): Likewise.
1918 (update_pointer_to): Likewise.
1919
1920 2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
1921
1922 * gcc-interface/trans.c (Identifier_to_gnu): Don't unshare initializer.
1923 (add_decl_expr): Mark external DECLs as used.
1924 * gcc-interface/utils.c (convert) <CONSTRUCTOR>: Copy the vector.
1925
1926 2012-03-07 Tristan Gingold <gingold@adacore.com>
1927
1928 * s-ransee-vms.adb: New file.
1929 * gcc-interface/Makefile.in: Use s-ransee-vms.adb on VMS.
1930 * gcc-interface/Make-lang.in: Update dependencies.
1931
1932 2012-03-07 Bob Duff <duff@adacore.com>
1933
1934 * rtsfind.ads: Add support for finding Super_String types.
1935 * sem_util.ads, sem_util.adb (Is_Bounded_String): New function
1936 to determine whether a given type is a bounded string type.
1937 (Is_Fully_Initialized_Type): Return True for bounded
1938 string types, to suppress bogus warnings.
1939 * exp_ch4.adb (Expand_Composite_Equality): Special case for bounded
1940 strings: equality composes. This allows us to remove default values in
1941 super strings.
1942 * a-strsup.ads, a-stwisu.ads, a-stzsup.ads: Update comments.
1943 * exp_ch3.adb (Expand_Freeze_Record_Type): Comment.
1944
1945 2012-03-07 Robert Dewar <dewar@adacore.com>
1946
1947 * sem_util.adb, exp_ch4.adb, exp_ch6.adb, sem_ch6.adb: Minor
1948 reformatting.
1949
1950 2012-03-07 Sergey Rybin <rybin@adacore.com frybin>
1951
1952 * gnat_ugn.texi: gnatpp: fix paragraph about sources with
1953 preprocessor directives.
1954
1955 2012-03-07 Arnaud Charlet <charlet@adacore.com>
1956
1957 * s-osinte-linux.ads, s-taprop-linux.adb (prctl): New function.
1958 (Enter_Task): Call prctl when relevant.
1959
1960 2012-03-07 Tristan Gingold <gingold@adacore.com>
1961
1962 * s-osinte-vms.ads: pthread_mutex_setname_np: new function.
1963
1964 2012-03-07 Ed Schonberg <schonberg@adacore.com>
1965
1966 * sem_ch6.adb (Process_Formals): a generic subprogram with
1967 a formal incomplete type does not require a freeze node.
1968
1969 2012-03-07 Bob Duff <duff@adacore.com>
1970
1971 * sem_util.ads: Minor reformatting.
1972
1973 2012-03-07 Geert Bosch <bosch@adacore.com>
1974
1975 * targparm.ads: New target parameter Atomic_Sync_Default,
1976 defaulting to True.
1977 * targparm.adb (Get_Target_Parameters): Add processing for
1978 Atomic_Sync_Default.
1979 * gnat1drv.adb (Adjust_Global_Switches): Adjust Supress_Options
1980 based on ASD.
1981
1982 2012-03-07 Javier Miranda <miranda@adacore.com>
1983
1984 * sem_ch3.adb (Analyze_Object_Declaration): If the object
1985 declaration has an init expression then stop the analysis of the
1986 object declaration if the expression which initializes the object
1987 is a call to an inlined function which returns an unconstrained
1988 and has been expanded into a procedure call.
1989 * sem_ch5.adb (Has_Call_Using_Secondary_Stack): Add missing
1990 support to handle selected components.
1991 * sem_ch6.ads (Cannot_Inline): Adding parameter Is_Serious plus
1992 documentation.
1993 * sem_ch6.adb (Check_And_Build_Body_To_Inline): New
1994 subprogram which implements the checks required by the
1995 new rules for frontend inlining and builds the body to inline.
1996 (Analyze_Subprogram_Body_Helper): Move code that
1997 checks inlining of subprogram that has nested subprogram
1998 to Check_And_Build_Body_To_Inline. Replace call to
1999 Build_Body_To_Inline by call to the new subprogram
2000 Check_And_Build_Body_To_Inline.
2001 (Cannot_Inline): New implementation.
2002 * sem_ch12.adb (Analyze_Package_Instantiation.Must_Inline_Subp):
2003 New subprogram.
2004 * sem_util.ad[sb] (Must_Inline): New subprogram.
2005 (Returns_Unconstrained_Type): New subprogram.
2006 * sem_res.adb (Resolve_Call): Do not create a transient scope
2007 for inlined calls.
2008 * inline.ads (Analyzing_Inlined_Bodies): Remove unreferenced variable.
2009 * inline.adb (Analyze_Inlined_Bodies, Initialize): Remove setting
2010 to false the variable Analyzing_Inlined_Bodies. Fix comments.
2011 * exp_ch4.adb (Expand_N_Allocator): Fix handling of finalization master.
2012 * exp_ch6.ads (List_Inlining_Info): New subprogram.
2013 * exp_ch6.adb (Expand_Call.Do_Inline): New subprogram.
2014 (Expand_Call.Do_Inline_Always): New subprogram.
2015 (In_Unfrozen_Instance): Move the declaration of this subprogram.
2016 (Expand_Inlined_Call.Reset_Dispatching_Calls): New subprogram.
2017 (Expand_Inlined_Call): Adding new support for inlining functions
2018 that return unconstrained types.
2019 (List_Inlining_Info): New subprogram.
2020 * debug.adb Document flags -gnatd.j and -gnatd.k
2021 * gnat1drv.adb Add call to generate the new listing of inlined
2022 calls and calls passed to the backend.
2023
2024 2012-03-07 Robert Dewar <dewar@adacore.com>
2025
2026 * sem_ch5.adb, s-vaflop.adb, s-taprop-vms.adb, exp_ch6.adb,
2027 s-gearop.adb, sem_ch6.adb, g-trasym.adb: Minor reformatting.
2028
2029 2012-03-07 Javier Miranda <miranda@adacore.com>
2030
2031 * a-ngrear.ads: Add documentation.
2032
2033 2012-03-07 Tristan Gingold <gingold@adacore.com>
2034
2035 * s-taprop-vms.adb (Create_Task): set thread name.
2036 * s-osinte-vms.ads (pthread_attr_setname_np): Declare.
2037
2038 2012-03-07 Arnaud Charlet <charlet@adacore.com>
2039
2040 * g-trasym.adb: Minor reformatting.
2041
2042 2012-03-07 Robert Dewar <dewar@adacore.com>
2043
2044 * a-ngrear.ads: Minor addition of ??? comment.
2045
2046 2012-03-07 Gary Dismukes <dismukes@adacore.com>
2047
2048 * exp_ch4.adb (Apply_Accessibility_Check): Call
2049 Remove_Side_Effects in the build-in-place case, to ensure that
2050 we capture the call and don't end up with two calls.
2051
2052 2012-03-07 Javier Miranda <miranda@adacore.com>
2053
2054 * exp_ch6.adb (Expand_Inlined_Call): Skip inlining of functions
2055 that return unconstrained types using an extended return statement
2056 since the support for inlining these functions has not been yet
2057 added to the frontend.
2058 * s-vaflop.adb, s-vaflop-vms-alpha.adb: Code reorganization.
2059 * a-ngrear.ads: Replace all the Inline_Always pragmas by pragma
2060 Inline.
2061 * a-ngrear.adb (Eigenvalues, Transpose): Restructured to use
2062 extended return statement.
2063 * a-strsup.adb, a-stzsup.adb, a-stwisu.adb (Concat, Super_Slice,
2064 Super_To_String): Restructured to use extended return statement.
2065 * a-chahan.adb (To_Basic, To_Lower, To_Upper): Restructured to
2066 use extended return statement.
2067 * s-gearop.adb (Diagonal, Matrix_Elementwise_Operation,
2068 Vector_Elementwise_Operation, Matrix_Elementwise_Operation,
2069 Matrix_Matrix_Scalar_Elementwise_Operation,
2070 Vector_Vector_Elementwise_Operation,
2071 Vector_Vector_Scalar_Elementwise_Operation,
2072 Matrix_Scalar_Elementwise_Operation,
2073 Vector_Scalar_Elementwise_Operation,
2074 Scalar_Matrix_Elementwise_Operation,
2075 Scalar_Vector_Elementwise_Operation, Matrix_Matrix_Product,
2076 Matrix_Vector_Product, Outer_Product, Unit_Matrix, Unit_Vector,
2077 Vector_Matrix_Product): Restructured to use extended return
2078 statement.
2079
2080 2012-03-07 Vincent Pucci <pucci@adacore.com>
2081
2082 * sem_ch5.adb (One_Bound): Minor reformatting.
2083
2084 2012-03-07 Tristan Gingold <gingold@adacore.com>
2085
2086 * s-osinte-vms-ia64.adb, s-osinte-vms-ia64.ads, s-osinte-vms.adb,
2087 s-osinte-vms.ads, gcc-interface/Makefile.in: Merge s-osinte-vms and
2088 s-osinte-vms-ia64.
2089
2090 2012-03-07 Ed Schonberg <schonberg@adacore.com>
2091
2092 * checks.adb (Apply_Predicate_Check): Do not generate a predicate
2093 check is the context is an internally generated type-specific
2094 function.
2095 * sem_ch6.adb (Process_PPCs); the formals of internally generated
2096 type-specific functions do not get assertion checks.
2097
2098 2012-03-07 Yannick Moy <moy@adacore.com>
2099
2100 * gnat_rm.texi: Minor renaming of title.
2101 * gnat_ugn.texi: Minor correction.
2102
2103 2012-03-07 Vincent Pucci <pucci@adacore.com>
2104
2105 * exp_ch4.adb (Expand_N_Quantified_Expression): Minor
2106 reformating.
2107 * sem_ch4.adb (Analyze_Quantified_Expression): Creation and
2108 analysis of the iteration scheme added in all cases.
2109 * sem_ch5.adb (Analyze_Iteration_Scheme): Minor reformating.
2110 (Analyze_Iterator_Specification): Minor reformating.
2111 * sem_res.adb (Resolve_Quantified_Expression): Resolution of
2112 the condition added in all cases.
2113
2114 2012-03-07 Thomas Quinot <quinot@adacore.com>
2115
2116 * einfo.adb, einfo.ads: Add flag Reverse_Storage_Order.
2117
2118 2012-03-07 Yannick Moy <moy@adacore.com>
2119
2120 * gnat_rm.texi, gnat_ugn.texi: Rewording of GNAT UG and GNAT RM to
2121 account for Ada 2012 assertions, and their pragma counterparts in GNAT.
2122
2123 2012-03-07 Thomas Quinot <quinot@adacore.com>
2124
2125 * exp_attr.adb, sem_attr.adb: Minor reformatting.
2126
2127 2012-03-07 Bob Duff <duff@adacore.com>
2128
2129 * hostparm.ads (Max_Instantiations): Increase parameter.
2130
2131 2012-03-07 Bob Duff <duff@adacore.com>
2132
2133 * par-prag.adb: Minor code rearrangement.
2134
2135 2012-03-07 Bob Duff <duff@adacore.com>
2136
2137 * a-strsup.ads, a-stwisu.ads, a-stzsup.ads (Super_String):
2138 Remove default initial value for Data. It is no longer needed
2139 because "=" now composes properly for untagged records. This
2140 default has caused efficiency problems.
2141
2142 2012-03-07 Ed Schonberg <schonberg@adacore.com>
2143
2144 * sem_res.adb (Resolve_Actuals): If the actual is a selected
2145 component of an anonymous access type, whose prefix is a variable,
2146 treat the variable as if it may be modified by the call, to
2147 suppress spurious warnings that a variable might be declared as
2148 a constant.
2149
2150 2012-03-07 Thomas Quinot <quinot@adacore.com>
2151
2152 * einfo.adb, einfo.ads: Remove unused entity flags.
2153
2154 2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
2155
2156 * gnat_ugn.texi (Inline Assembler): Fix swapping of Input and
2157 Output operands throughout.
2158
2159 2012-03-07 Hristian Kirtchev <kirtchev@adacore.com>
2160
2161 * sem_ch12.adb (Earlier): When two nodes come from the same
2162 generic instantiation, compare their locations. Otherwise always
2163 use the top level locations of the nodes.
2164
2165 2012-03-07 Thomas Quinot <quinot@adacore.com>
2166
2167 * einfo.ads, sem_prag.adb: Minor reformatting.
2168
2169 2012-03-05 Jason Merrill <jason@redhat.com>
2170
2171 * gcc-interface/Make-lang.in (doc/gnat_ugn.texi): Build xgnatugn
2172 before using it.
2173
2174 2012-03-04 Eric Botcazou <ebotcazou@adacore.com>
2175
2176 * gnatvsn.ads (Library_Version): Bump to 4.8.
2177
2178 2012-03-03 H.J. Lu <hongjiu.lu@intel.com>
2179
2180 * init.c (__gnat_adjust_context_for_raise): Also check
2181 "orq $0x0,(%esp)" for x32.
2182
2183 * link.c (__gnat_default_libgcc_subdir): Set to libx32 for x32.
2184
2185 * gcc-interface/Makefile.in (arch): Set to x32 if MULTISUBDIR
2186 is /x32 and add support for x32.
2187
2188 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
2189
2190 * gcc-interface/decl.c (components_to_record): Add ARTIFICIAL parameter
2191 and set TYPE_ARTIFICIAL according to it. Adjust recursive call.
2192 (gnat_to_gnu_entity) <E_Record_Type>: Adjust call to above function.
2193 * gcc-interface/utils.c (rest_of_record_type_compilation): Do not
2194 invoke rest_of_type_decl_compilation on the parallel type, if any.
2195
2196 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
2197
2198 * gcc-interface/utils.c (gnat_write_global_declarations): Make sure the
2199 dummy global built for global types is preserved.
2200
2201 2012-02-27 Tristan Gingold <gingold@adacore.com>
2202
2203 * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
2204 E_Array_Type]: Reuse dummy fat type for gnu_ptr_template and
2205 gnu_template_type.
2206
2207 2012-02-27 Eric Botcazou <ebotcazou@adacore.com>
2208
2209 * gcc-interface/ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Add checking.
2210 (TYPE_BY_REFERENCE_P): New flag.
2211 (TYPE_IS_BY_REFERENCE_P): New macro.
2212 (TYPE_DUMMY_P): Add checking and remove VOID_TYPE.
2213 (TYPE_IS_DUMMY_P): Adjust for above change.
2214 * gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_BY_REFERENCE_P
2215 and TYPE_IS_BY_REFERENCE_P instead of TREE_ADDRESSABLE.
2216 (gnat_to_gnu_param): Likewise.
2217 (maybe_pad_type): Likewise.
2218 (make_type_from_size): Use TYPE_IS_PACKED_ARRAY_TYPE_P.
2219 * gcc-interface/misc.c (must_pass_by_ref): Use TYPE_IS_BY_REFERENCE_P
2220 instead of TREE_ADDRESSABLE.
2221 * gcc-interface/trans.c (finalize_nrv): Likewise.
2222 (call_to_gnu): Likewise. Do not create a temporary for return values
2223 with by-reference type here.
2224 (gnat_to_gnu): Test TYPE_IS_DUMMY_P instead of TYPE_DUMMY_P.
2225 (gnat_gimplify_expr) <ADDR_EXPR>: Don't do anything for non-constant
2226 CONSTRUCTORs and calls.
2227 * gcc-interface/utils.c (make_dummy_type): Get the equivalent type of
2228 the underlying type and use it throughout. Use TYPE_IS_BY_REFERENCE_P
2229 instead of TREE_ADDRESSABLE.
2230 * gcc-interface/utils2.c (build_cond_expr): Deal with by-reference
2231 types explicitly.
2232
2233 2012-02-27 Eric Botcazou <ebotcazou@adacore.com>
2234
2235 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Revert previous
2236 change that creates a special VAR_DECL for debugging purposes. For an
2237 aliased object with an unconstrained nominal subtype, make its type a
2238 thin reference to the underlying object.
2239 * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Deal with
2240 expressions built for the initialization of above objects.
2241
2242 2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com>
2243
2244 * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
2245 Windows-specific make variable.
2246 (WIN_SO_INSTALL_DIR [windows targets]): Likewise.
2247 (install-gnatlib): Respect the above during installation when set,
2248 and also install any windows import library that has been built.
2249 (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
2250 build a corresponding import library.
2251
2252 2012-02-22 Robert Dewar <dewar@adacore.com>
2253
2254 * exp_util.adb, make.adb, sem_dim.adb, sem_ch4.adb, exp_disp.adb: Minor
2255 reformatting.
2256
2257 2012-02-22 Geert Bosch <bosch@adacore.com>
2258
2259 * g-bytswa-x86.adb, g-bytswa.adb, gcc-interface/Makefile.in: Remove
2260 x86-specific version of byteswap and use GCC builtins instead.
2261
2262 2012-02-22 Tristan Gingold <gingold@adacore.com>
2263
2264 * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
2265 E_Array_Type]: Translate component ealier.
2266
2267 2012-02-22 Robert Dewar <dewar@adacore.com>
2268
2269 * par-ch3.adb (P_Signed_Integer_Type_Definition): Specialize
2270 error message for 'Range.
2271
2272 2012-02-22 Pascal Obry <obry@adacore.com>
2273
2274 * s-taprop-mingw.adb (Finalize_TCB): Do not wait on thread handle as
2275 this is our own thread.
2276
2277 2012-02-22 Sergey Rybin <rybin@adacore.com frybin>
2278
2279 * tree_io.ads: Update ASIS_Version_Number because of the changes
2280 in Snames.
2281
2282 2012-02-22 Hristian Kirtchev <kirtchev@adacore.com>
2283
2284 * exp_ch7.adb (Create_Finalizer): Suppress elaboration checks on
2285 stack-related finalizers.
2286
2287 2012-02-22 Ed Schonberg <schonberg@adacore.com>
2288
2289 * sem_ch6.adb (Analyze_Expression_Function): If the construct
2290 is a completion, indicate that its formals are the formals of
2291 a completion, and as such do not get a cross- reference entry.
2292 (Analyze_Subprogram_Specification): Do not generate a definition
2293 for the entity of an expression function, because it may be a
2294 completion. Definition will be generated if needed when analyzing
2295 the generated subprogram declaration.
2296
2297 2012-02-22 Vincent Celier <celier@adacore.com>
2298
2299 * make.adb (Check): When checking if an object file is in the
2300 correct object directory, get the unit name from a previous call
2301 to Check_Source_Info_In_ALI.
2302 * makeutl.adb (Check_Source_Info_In_ALI): Return the name of
2303 the unit when everything is OK, otherwise return No_Name.
2304 * makeutl.ads (Check_Source_Info_In_ALI): Return Name_Id instead
2305 of Boolean
2306
2307 2012-02-22 Ed Schonberg <schonberg@adacore.com>
2308
2309 * sem_ch4.adb (Find_Equality_Types, Try_One_Interp): In an
2310 instance, the operator is visible if an operand is of some
2311 numeric type which is not in use or directly visible, and the
2312 other operand is a numeric literal.
2313
2314 2012-02-22 Tristan Gingold <gingold@adacore.com>
2315
2316 * init.c: Minor code clean up.
2317 * gcc-interface/Make-lang.in: Update dependencies.
2318
2319 2012-02-22 Arnaud Charlet <charlet@adacore.com>
2320
2321 * gnatlink.adb (Gnatlink): Use -gnatcC in CodePeer_Node,
2322 otherwise GCC will generate an object file.
2323
2324 2012-02-22 Vincent Celier <celier@adacore.com>
2325
2326 * projects.texi: Correct typo related to "**" in Source_Dirs.
2327
2328 2012-02-22 Steve Baird <baird@adacore.com>
2329
2330 * sem_prag.adb (Analyze_PPC_In_Decl_Part): Clean up generation of
2331 error message text.
2332
2333 2012-02-22 Vincent Pucci <pucci@adacore.com>
2334
2335 * rtsfind.adb (Get_Unit_Name): Ada_Numerics_Child and
2336 System_Dim_Child cases added.
2337 * rtsfind.ads: Ada_Numerics,
2338 Ada_Numerics_Generic_Elementary_Functions, System_Dim,
2339 System_Dim_Float_IO and System_Dim_Integer_IO added to the list
2340 of RTU_Id. Ada_Numerics_Child and System_Dim_Child added as
2341 new RTU_Id subtypes.
2342 * sem_dim.adb (Is_Dim_IO_Package_Entity): Use of
2343 Rtsfind to verify the package entity is located either
2344 in System.Dim.Integer_IO or in System.Dim.Float_IO.
2345 (Is_Dim_IO_Package_Instantiation): Minor
2346 changes. (Is_Elementary_Function_Call): Removed.
2347 (Is_Elementary_Function_Entity): New routine.
2348 (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity call added.
2349 * snames.ads-tmpl: Name_Dim and Name_Generic_Elementary_Functions
2350 removed.
2351
2352 2012-02-22 Vincent Pucci <pucci@adacore.com>
2353
2354 * sem_prag.adb: Minor reformatting.
2355
2356 2012-02-22 Ed Schonberg <schonberg@adacore.com>
2357
2358 * sem_ch3.adb (Find_Type_Name): When analyzing a private type
2359 declaration that is the completion of a tagged incomplete type, do
2360 not associate the class-wide type already created with the private
2361 type to prevent order-of-elaboration issues in the back-end.
2362 * exp_disp.adb (Find_Specific_Type): Find specific type of
2363 a class-wide type, and handle the case of an incomplete type
2364 coming either from a limited_with clause or from an incomplete
2365 type declaration. Used when expanding a dispatchin call and
2366 generating tag checks (minor refactoring).
2367
2368 2012-02-22 Robert Dewar <dewar@adacore.com>
2369
2370 * exp_ch5.adb: Add comment.
2371 * sem_ch12.adb, exp_ch6.adb: minor reformatting
2372
2373 2012-02-22 Ed Schonberg <schonberg@adacore.com>
2374
2375 * freeze.adb (Freeze_Entity): Do not perform type layout within
2376 a generic unit.
2377
2378 2012-02-22 Eric Botcazou <ebotcazou@adacore.com>
2379
2380 * init.c (__gnat_error_handler) [Linux]: Map SIGBUS to
2381 Storage_Error.
2382
2383 2012-02-22 Ed Schonberg <schonberg@adacore.com>
2384
2385 * exp_ch5.adb (Expand_N_Assignment_Statement): Reject an
2386 assignment to a classwide type whose type is limited, as
2387 can happen in an instantiation in programs that run afoul or
2388 AI05-0087.
2389
2390 2012-02-17 Ed Schonberg <schonberg@adacore.com>
2391
2392 * exp_ch6.adb (Legal_Copy): If layout is not
2393 determined in the front-end, do not emit error message when
2394 by-reference actual is potentially unaligned.
2395 * gcc-interface/decl.c (gnat_to_gnu_field): Better error message for
2396 illegal representation clause on tagged or aliased component, or on
2397 by-reference type with forced alignment.
2398
2399 2012-02-17 Nicolas Roche <roche@adacore.com>
2400
2401 * gcc-interface/Makefile.in: Ensure FORCE_DEBUG_ADAFLAGS variables is
2402 propagated by gnatlib-sjlj and gnatlib-zcx targets.
2403 * gcc-interface/Make-lang.in: Update dependencies.
2404
2405 2012-02-17 Thomas Quinot <quinot@adacore.com>
2406
2407 * sem_ch12.adb (Analyze_Package_Instantiation): For an
2408 instantiation in an RCI library unit, omit the instance body
2409 if the RCI library unit is the instance itself (E.2.3(18)),
2410 but include the body if the instantiation is within the RCI
2411 declaration (12.3(12)).
2412
2413 2012-02-17 Steve Baird <baird@adacore.com>
2414
2415 * sem_prag.adb (Analyze_PPC_In_Decl_Part): Pre'Class and
2416 Post'Class aspects can only be specified for a primitive operation
2417 of a tagged type.
2418
2419 2012-02-17 Yannick Moy <moy@adacore.com>
2420
2421 * gnat_rm.texi: Minor shuffling.
2422
2423 2012-02-17 Ed Schonberg <schonberg@adacore.com>
2424
2425 * aspects.adb: Expression functions can carry pre/postconditions.
2426 * par-ch6.adb (P_Subprogram): look for optional pre/postconditions
2427 in an expression function.
2428 * sem_prag (Check_Precondition_Postcondition): legal on expression
2429 functions.
2430
2431 2012-02-17 Vincent Pucci <pucci@adacore.com>
2432
2433 * a-cdlili.adb, a-cidlli.adb, a-cihama.adb, a-cimutr.adb,
2434 * a-ciorma.adb, a-cohama.adb, a-coinve.adb, a-comutr.adb,
2435 * a-convec.adb, a-coorma.adb (Adjust): New routine.
2436 (Constant_Reference): Increment Busy and Lock counters.
2437 (Reference): Increase Busy and Lock counters.
2438 (Finalize): New routine.
2439 * a-cihase.adb, a-ciorse.adb, a-cohase.adb, a-coorse.adb:
2440 (Adjust): New routine. (Constant_Reference): Increment Busy
2441 and Lock counters.
2442 (Finalize): New routine.
2443 * a-cdlili.ads, a-cidlli.ads, a-cihama.ads, a-cihase.ads,
2444 * a-cimutr.ads, a-ciorma.ads, a-ciorse.ads, a-cohama.ads,
2445 * a-cohase.ads, a-coinve.ads, a-comutr.ads, a-convec.ads,
2446 * a-coorma.ads, a-coorse: Controlled component added to the
2447 reference types.
2448
2449 2012-02-17 Robert Dewar <dewar@adacore.com>
2450
2451 * restrict.adb (Check_Restriction): Add special handling for
2452 No_Obsolescent_Features.
2453
2454 2012-02-17 Hristian Kirtchev <kirtchev@adacore.com>
2455
2456 * exp_util.adb (Find_Finalize_Address): When dealing with an
2457 internally built full view for a type with unknown discriminants,
2458 use the original record type.
2459
2460 2012-02-17 Robert Dewar <dewar@adacore.com>
2461
2462 * sem_dim.adb: Minor reformatting.
2463
2464 2012-02-17 Yannick Moy <moy@adacore.com>
2465
2466 * gnat_rm.texi: Minor rewording.
2467
2468 2012-02-17 Thomas Quinot <quinot@adacore.com>
2469
2470 * sem_aggr.adb: Minor reformatting.
2471
2472 2012-02-17 Robert Dewar <dewar@adacore.com>
2473
2474 * gnat_ugn.texi: Update doc for -gnatw.m to include 2*x case.
2475
2476 2012-02-17 Vincent Pucci <pucci@adacore.com>
2477
2478 * sem_dim.adb (Is_Dim_IO_Package_Entity): New routine.
2479 (Is_Dim_IO_Package_Instantiation): Is_Dim_IO_Package_Entity
2480 call added.
2481 (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity
2482 call added.
2483 * s-dim.ads: Make package Pure.
2484
2485 2012-02-17 Gary Dismukes <dismukes@adacore.com>
2486
2487 * prj-nmsc.adb: Minor reformatting.
2488
2489 2012-02-17 Yannick Moy <moy@adacore.com>
2490
2491 * gnat_rm.texi: Update GNAT RM with a separate chapter on restrictions.
2492
2493 2012-02-17 Yannick Moy <moy@adacore.com>
2494
2495 * gnat_ugn.texi: Fix typos.
2496
2497 2012-02-17 Pascal Obry <obry@adacore.com>
2498
2499 * prj-nmsc.adb: prj-nmsc.adb (Check_Aggregated): Check that an
2500 aggregate is not Externally_Built.
2501
2502 2012-02-17 Ed Schonberg <schonberg@adacore.com>
2503
2504 * sem_aggr.adb (Resolve_Record_Aggregate): If a composite
2505 component has a box association, copy the default value using
2506 the current scope as the scope of internal types, to prevent
2507 scoping anomalies in gigi.
2508
2509 2012-02-17 Robert Dewar <dewar@adacore.com>
2510
2511 * sem_dim.adb, sem_dim.ads, s-tasren.adb, prj.adb, prj.ads, freeze.adb,
2512 sem_res.adb, exp_ch4.adb, sinput.adb, sinput.ads, exp_aggr.adb,
2513 exp_intr.adb, s-os_lib.adb: Minor reformatting.
2514
2515 2012-02-17 Ed Schonberg <schonberg@adacore.com>
2516
2517 * sem_ch6.adb (Is_Non_Overriding_Operation): Add warning if the
2518 old operation is abstract, the relevant type is not abstract,
2519 and the new subprogram fails to override.
2520
2521 2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
2522
2523 * gcc-interface/trans.c (Identifier_to_gnu): Move block retrieving the
2524 type of the result to the end and execute it for a deferred constant of
2525 a discriminated type whose full view can be elaborated statically.
2526
2527 2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
2528
2529 * gcc-interface/trans.c (gnat_to_gnu) <N_Qualified_Expression>: If the
2530 type is tagged, mark it as used for debugging purposes.
2531 <N_Allocator>: Likewise for a qualified expression.
2532
2533 2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
2534
2535 * gcc-interface/trans.c (call_to_gnu): Create the temporary for the
2536 return value in the by-reference return type case if this isn't the
2537 expression of an object declaration. Tidy up.
2538
2539 2012-02-09 Tristan Gingold <gingold@adacore.com>
2540
2541 * gcc-interface/Makefile.in: Remove .sym rule (not used).
2542 Remove adamsg.o object (requires native message compiler).
2543 * init.c (CMA$_EXIT_THREAD, MTH$_FLOOVEMAT, SS$_INTDIV): Define as a
2544 macro instead of as extern int.
2545 (ADA$_ALREADY_OPEN, ADA$_CONSTRAINT_ERRO, ADA$_DATA_ERROR)
2546 (ADA$_DEVICE_ERROR, ADA$_END_ERROR, ADA$_FAC_MODE_MISMAT)
2547 (ADA$_IOSYSFAILED, ADA$_KEYSIZERR, ADA$_KEY_MISMATCH)
2548 (ADA$_LAYOUT_ERROR, ADA$_LINEXCMRS, ADA$_MAXLINEXC)
2549 (ADA$_MODE_ERROR, ADA$_MRN_MISMATCH, ADA$_MRS_MISMATCH)
2550 (ADA$_NAME_ERROR, ADA$_NOT_OPEN, ADA$_ORG_MISMATCH)
2551 (ADA$_PROGRAM_ERROR, ADA$_RAT_MISMATCH, ADA$_RFM_MISMATCH)
2552 (ADA$_STAOVF, ADA$_STATUS_ERROR, ADA$_STORAGE_ERROR)
2553 (ADA$_UNSUPPORTED, ADA$_USE_ERROR): Likewise.
2554 (struct cond_except): Field cond is now an unsigned int.
2555 (dec_ada_cond_except_table): Adjust.
2556 (cond_except_table): Likewise.
2557 (cond_resignal_table): Likewise.
2558 (__gnat_default_resignal_p): Fix style.
2559
2560 2012-02-08 Vincent Celier <celier@adacore.com>
2561
2562 * gcc-interface/Make-lang.in: Add g-byorma.o to gnatbind objects
2563 (g-buorma is now imported by sinput).
2564 Update dependencies.
2565 * scn.adb (Initialize_Scanner): Call Check_For_BOM
2566 * sinput-p.adb (Source_File_Is_Subunit): Call Check_For_BOM
2567 * sinput.adb: New procedure Check_For_BOM
2568 * sinput.ads: New procedure Check_For_BOM
2569
2570 2012-02-08 Vincent Pucci <pucci@adacore.com>
2571
2572 * impunit.adb: Dimension package names updated
2573 * Makefile.rtl: s-dim added
2574 * sem_dim.adb (Is_Procedure_Put_Call): minor changes
2575 (Is_Dim_IO_Package_Instantiation): minor changes
2576 * sem_dim.ads: minor changes in comments
2577 * snames.ads-tmpl: Name_Dim added Name_Dim_Float_IO and
2578 Name_Dim_Integer_IO removed
2579 * s-dim.ads: New package. Define the dimension terminology.
2580 * s-diflio.adb, s-diinio.adb, s-dimkio.ads, s-dimmks.ads,
2581 * s-dmotpr.ads: Package names updated.
2582 * s-diflio.ads, s-diinio.ads: Documentation added and package
2583 names updated.
2584
2585 2012-02-08 Gary Dismukes <dismukes@adacore.com>
2586
2587 * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): Revise test
2588 for storage pools to test for an underlying record type rather than
2589 testing Is_Tagged_Type, so that simple storage pools will be handled
2590 the same as normal Ada storage pools.
2591
2592 2012-02-08 Yannick Moy <moy@adacore.com>
2593
2594 * gnat_rm.texi: Minor reshuffling to place restriction at
2595 appropriate place.
2596
2597 2012-02-08 Bob Duff <duff@adacore.com>
2598
2599 * warnsw.adb (Set_Warning_Switch): Set Warn_On_Suspicious_Modulus_Value
2600 False for '-gnatwA', to suppress these warnings.
2601
2602 2012-02-08 Vincent Celier <celier@adacore.com>
2603
2604 * sinput-p.adb (Source_File_Is_Subunit): Check for BOM before
2605 starting to scan, so that UTF8 encoding is taken into account.
2606
2607 2012-02-08 Arnaud Charlet <charlet@adacore.com>
2608
2609 * s-tasren.adb, s-tasren.ads (Internal_Complete_Rendezvous): New
2610 function.
2611 (Complete_Rendezvous): Now call Internal_Complete_Rendezvous.
2612 (Exceptional_Complete_Rendezvous): Mark No_Return.
2613
2614 2012-02-08 Eric Botcazou <ebotcazou@adacore.com>
2615
2616 * exp_aggr.adb (Compile_Time_Known_Composite_Value):
2617 New predicate to compute whether a composite value can be
2618 evaluated at compile time.
2619 (Component_Not_OK_For_Backend): Use Compile_Time_Known_Value for all
2620 expressions of elementary type and Compile_Time_Known_Composite_Value
2621 for all other expressions.
2622 (Expand_Record_Aggregate): Convert to assignments in the case
2623 of a type with mutable components if the aggregate cannot be
2624 built statically.
2625
2626 2012-02-08 Gary Dismukes <dismukes@adacore.com>
2627
2628 * aspects.ads (type Aspect_Id): Add Simple_Storage_Pool_Type.
2629 (Impl_Defined_Aspects): Add association for
2630 Aspect_Simple_Storage_Pool_Type.
2631 (Aspect_Names): Add
2632 association for Aspect_Simple_Storage_Pool_Type.
2633 * aspects.adb:
2634 (Canonical_Aspect): Add association for Simple_Storage_Pool_Type.
2635 * exp_attr.adb (Expand_N_Attribute_Reference):
2636 Change name to Name_Simple_Storage_Pool_Type.
2637 * exp_ch4.adb (Expand_N_Allocator): Change
2638 name to Name_Simple_Storage_Pool_Type.
2639 * exp_intr.adb (Expand_Unc_Deallocation): Change name to
2640 Name_Simple_Storage_Pool_Type. * freeze.adb (Freeze_Entity):
2641 Change names to Name_Simple_Storage_Pool_Type. * par-prag.adb:
2642 Change names to Name_Simple_Storage_Pool_Type. * sem_attr.adb:
2643 (Analyze_Attribute): Change name to Name_Simple_Storage_Pool_Type.
2644 * sem_ch13.adb (Analyze_Attribute_Definition_Clause):
2645 Change name to Name_Simple_Storage_Pool_Type.
2646 * sem_prag.adb:
2647 (Analyze_Pragma): Change name to Name_Simple_Storage_Pool_Type.
2648 (Sig_Flags): Change name to Name_Simple_Storage_Pool_Type.
2649 * sem_res.adb (Resolve_Allocator): Change name to
2650 Name_Simple_Storage_Pool_Type. * snames.ads-tmpl:
2651 (Name_Simple_Storage_Pool_Type): New name constant.
2652 (type Pragma_Id): Change name to Name_Simple_Storage_Pool_Type and
2653 move to main pragma section because it no longer matches the
2654 attribute name.
2655 * snames.adb-tmpl (Get_Pragma_Id): Remove test for
2656 Name_Simple_Storage_Pool.
2657 (Is_Pragma_Name): Remove test for Name_Simple_Storage_Pool.
2658
2659 2012-02-08 Robert Dewar <dewar@adacore.com>
2660
2661 * gnat_ugn.texi: Add some clarification to -gnatwA and -gnatws.
2662
2663 2012-02-08 Pascal Obry <obry@adacore.com>
2664
2665 * prj.adb (Compute_All_Imported_Projects): Use new
2666 For_Project_And_Aggregated_Context to ensure proper context is
2667 used for encapsulated aggregate libraries.
2668 * prj-proc.adb (Recursive_Process): Call
2669 Process_Aggregated_Projects earlier to ensure that all dependent
2670 projects are set with the proper encapsulated status.
2671
2672 2012-02-08 Pascal Obry <obry@adacore.com>
2673
2674 * s-os_lib.adb (Normalize_Arguments): Properly escape last \ in null
2675 terminated string.
2676
2677 2012-02-08 Pascal Obry <obry@adacore.com>
2678
2679 * prj.ads, prj.adb (For_Project_And_Aggregated_Context): New
2680 generic routine with a context parameter.
2681
2682 2012-02-08 Robert Dewar <dewar@adacore.com>
2683
2684 * a-coinve.adb, sem_util.adb, sem_ch8.adb, a-cobove.adb,
2685 a-convec.adb: Minor reformatting and code reorganization.
2686
2687 2012-02-08 Steve Baird <baird@adacore.com>
2688
2689 * sem_cat.adb (In_Preelaborated_Unit): A child
2690 unit instantiation does not inherit preelaboration requirements
2691 from its parent.
2692
2693 2012-02-08 Gary Dismukes <dismukes@adacore.com>
2694
2695 * aspects.ads (type Aspect_Id): Add Aspect_Simple_Storage_Pool.
2696 (Impl_Defined_Aspects): Add entry for Aspect_Simple_Storage_Pool.
2697 (Aspect_Argument): Add Name entry for Aspect_Simple_Storage_Pool.
2698 (Aspect_Names): Add entry for Aspect_Simple_Storage_Pool.
2699 * aspects.adb (Canonical_Aspect): Add entry for
2700 Aspect_Simple_Storage_Pool.
2701 * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of
2702 Attribute_Simple_Storage_Pool in the same way as Storage_Pool
2703 (add conversion, analyze/resolve). For the Storage_Size attribute,
2704 for the simple pool case, locate and use the simple pool type's
2705 Storage_Size function (if any), otherwise evaluate to zero.
2706 * exp_ch4.adb (Expand_N_Allocator): In the case of an allocator
2707 for an access type with an associated simple storage pool,
2708 locate and use the pool type's Allocate.
2709 * exp_intr.adb (Expand_Unc_Deallocation): In the case where the
2710 access type has a simple storage pool, locate the pool type's
2711 Deallocate procedure (if present) and use it as the procedure
2712 to call on the Free operation.
2713 * freeze.adb (Freeze_Entity): In the case of a full type for
2714 a private type defined with pragma Simple_Storage_Pool, check
2715 that the full type is also appropriate for the pragma. For
2716 a simple storage pool type, validate that the operations
2717 Allocate, Deallocate (if present), and Storage_Size
2718 (if present) are defined with appropriate expected profiles.
2719 (Validate_Simple_Pool_Op_Formal): New procedure
2720 (Validate_Simple_Pool_Operation): New procedure Add with and
2721 use of Rtsfind.
2722 * par-prag.adb: Add Pragma_Simple_Storage_Pool to case statement
2723 (no action required).
2724 * sem_attr.adb (Analyze_Attribute): For the case of the
2725 Storage_Pool attribute, give a warning if the prefix type has an
2726 associated simple storage pool, and rewrite the attribute as a
2727 raise of Program_Error. In the case of the Simple_Storage_Pool
2728 attribute, check that the prefix type has an associated simple
2729 storage pool, and set the attribute type to the pool's type.
2730 * sem_ch13.adb (Analyze_Aspect_Specifications): Add
2731 Aspect_Simple_Storage_Pool case choice.
2732 (Analyze_Attribute_Definition_Clause): Add
2733 Aspect_Simple_Storage_Pool to case for Ignore_Rep_Clauses
2734 (no action). Add handling for Simple_Storage_Pool attribute
2735 definition, requiring the name to denote a simple storage pool
2736 object.
2737 (Check_Aspect_At_Freeze_Point): For a simple storage pool
2738 aspect, set the type to that of the name specified for the aspect.
2739 * sem_prag.adb (Analyze_Pragma): Add handling for pragma
2740 Simple_Storage_Pool, requiring that it applies to a library-level
2741 type declared in a package declaration that is a limited private
2742 or limited record type.
2743 * sem_res.adb (Resolve_Allocator): Flag an attempt to call a
2744 build-in-place function in an allocator for an access type with
2745 a simple storage pool as unsupported.
2746 * snames.ads-tmpl: Add Name_Simple_Storage_Pool.
2747 (type Attribute_Id): Add Attribute_Simple_Storage_Pool.
2748 (type Pragma_Id): Add Pragma_Simple_Storage_Pool.
2749 * snames.adb-tmpl (Get_Pragma_Id): Handle case of
2750 Name_Simple_Storage_Pool.
2751 (Is_Pragma_Name): Return True for Name_Simple_Storage_Pool.
2752
2753 2012-02-08 Cyrille Comar <comar@adacore.com>
2754
2755 * projects.texi: Clarify doc for interfaces.
2756
2757 2012-02-07 Eric Botcazou <ebotcazou@adacore.com>
2758
2759 * gcc-interface/Make-lang.in (GCC_LINKERFLAGS): New variable.
2760 (GCC_LINK): Use it.
2761
2762 2012-02-01 Tristan Gingold <gingold@adacore.com>
2763
2764 * gcc-interface/trans.c (Loop_Statement_to_gnu): Use sizetype
2765 instead of size_type_node.
2766
2767 2012-01-30 Nicolas Roche <roche@adacore.com>
2768
2769 * gcc-interface/Make-lang.in: Update dependencies.
2770 * gcc-interface/Makefile.in: Use system-vxworks-system-ppc-mils.ads
2771 when needed.
2772 Remove Linker_Options -crtbe when building sjlj run-time.
2773
2774 2012-01-30 Robert Dewar <dewar@adacore.com>
2775
2776 * sem.adb (Analyze): Call Analyze_Mod for N_Op_Mod mode.
2777 * sem_ch3.adb (Modular_Type_Declaration): Warn on mod value of
2778 form 2 * small-literal.
2779 * sem_ch4.adb (Analyze_Mod): New procedure (warn on suspicious
2780 mod value).
2781 * sem_ch4.ads (Analyze_Mod): New procedure.
2782
2783 2012-01-30 Ed Schonberg <schonberg@adacore.com>
2784
2785 * sem_ch6.adb: sem_ch6.adb (Analyze_Expression_Function): Copy
2786 types and return expression when building spec for implicit
2787 body, to preserve global references that may be present in an
2788 instantiation.
2789
2790 2012-01-30 Matthew Heaney <heaney@adacore.com>
2791
2792 * a-convec.adb, a-coinve.adb, a-cobove.adb (Sort,
2793 Reverse_Elements): Check for cursor tampering.
2794
2795 2012-01-30 Ed Schonberg <schonberg@adacore.com>
2796
2797 * sem_util.adb (Is_Fully_Initialized_Type): In Ada 2012, a
2798 type with aspect Default_Value or Default_Component_Value is
2799 fully initialized, and use of variables of such types do not
2800 generate warnings.
2801
2802 2012-01-30 Javier Miranda <miranda@adacore.com>
2803
2804 PR ada/15846
2805 * sem_ch8.adb (Analyze_Subprogram_Renaming):
2806 Handle self-renaming when the renamed entity is referenced using
2807 its expanded name.
2808
2809 2012-01-30 Vincent Celier <celier@adacore.com>
2810
2811 * projects.texi: Add documentation for attribute Interfaces.
2812
2813 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
2814
2815 * exp_ch7.adb (Build_Finalizer_Call): Set loc again.
2816 * exp_ch11.adb (Expand_At_End_Handler): Do not provide a source
2817 location for the wrapped call to the original AT_END routine
2818 and the subsequent return statement.
2819
2820 2012-01-30 Pascal Obry <obry@adacore.com>
2821
2822 * s-rannum.adb: Minor reformatting.
2823
2824 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
2825
2826 * a-calend-vms.adb, a-calend.adb: Increment the number of leap seconds
2827 to 25 and add the hard time value for 2012-06-30.
2828
2829 2012-01-30 Robert Dewar <dewar@adacore.com>
2830
2831 * a-strhas.ads, einfo.adb, einfo.ads, exp_ch7.adb, exp_ch9.adb,
2832 freeze.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-proc.adb, s-llflex.ads,
2833 s-ransee.adb, s-ransee.ads, sem_ch13.adb, sem_dim.adb, sem_prag.adb:
2834 Minor reformatting/code reorganization.
2835
2836 2012-01-30 Thomas Quinot <quinot@adacore.com>
2837
2838 * s-rannum.adb, s-ransee.adb, s-ransee.ads (Get_Seed): Return
2839 Unsigned_64 rather than Duration.
2840 (System.Random_Numbers.Reset): Use full value of seed
2841 (do not truncate sub-second bits).
2842
2843 2012-01-30 Thomas Quinot <quinot@adacore.com>
2844
2845 * sem_cat.adb, sem_ch12.adb: Minor reformatting.
2846
2847 2012-01-30 Yannick Moy <moy@adacore.com>
2848
2849 * gnat_ugn.texi: Minor correction of GNAT UG, to take into
2850 account changes to -gnatwa and more recent warnings.
2851
2852 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
2853
2854 * exp_ch7.adb (Build_Finalizer_Call): Do not provide a source
2855 location when creating a call to a finalizer.
2856 * exp_ch11.adb (Expand_Exception_Handlers): Do not provide
2857 a source location for the first actual of Save_Occurrence for
2858 consistency sake.
2859
2860 2012-01-30 Ed Schonberg <schonberg@adacore.com>
2861
2862 * einfo.ads, einfo,adb: New attribute on scalar types:
2863 Default_Aspect_Value New attribute on array types:
2864 Default_Aspect_Component_Value Move attribute Related_Array_Object
2865 to a different position to accomodate new aspect attributes.
2866 * freeze.adb (Freeze_Entity): Use new attributes to retrieve value
2867 of defaults set with an aspect specification, rather than using
2868 the list of aspects attached to the type, to prevent issues with
2869 partial views.
2870 * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects
2871 Default_Value and Default_Component _Value, store corresponding
2872 expression in type entity.
2873 (Check_Aspect_At_End_Of_Declaration): If the default aspects
2874 are declared on the full view, use the full view to resolve the
2875 correseponding expression.
2876 * exp_ch3.adb (Init_Component): Use attribute
2877 Default_Aspect_Component_Value to perform default initialization,
2878 rather than relying on the rep item list for the type.
2879 (Get_Simple_Init_Val): Ditto.
2880
2881 2012-01-30 Thomas Quinot <quinot@adacore.com>
2882
2883 * a-strhas.ads: Document risk of collision attack.
2884
2885 2012-01-30 Yannick Moy <moy@adacore.com>
2886
2887 * gnat_ugn.texi: Minor update wrt warning switches.
2888
2889 2012-01-30 Vincent Celier <celier@adacore.com>
2890
2891 * prj-nmsc.adb (Check_Interfaces): Report an error when a
2892 unit from Library_Interface is not a unit of the project.
2893
2894 2012-01-30 Vincent Pucci <pucci@adacore.com>
2895
2896 * sem_prag.adb (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Parent
2897 links fixed inside PPC pragmas.
2898 * sem_ch12.adb: Move call to Make_Aspect_For_PPC_In_Gen_Sub_Decl.
2899
2900 2012-01-30 Thomas Quinot <quinot@adacore.com>
2901
2902 * s-ransee.ads: Minor reformatting.
2903
2904 2012-01-30 Pascal Obry <obry@adacore.com>
2905
2906 * prj.ads, prj.adb (For_Each_Source): Add support for skipping
2907 sources coming from an encapsulated library.
2908
2909 2012-01-30 Ed Schonberg <schonberg@adacore.com>
2910
2911 * sem_ch3.adb (Process-Full_View): fix typo.
2912 * sem_ch13.adb (Aalyze_Aspect_Specifications): if predicates
2913 appear on a private type and the full view is available, ensure
2914 existence of freeze node for full view.
2915 (Build_Predicate_Function): Attach predicate function to both
2916 views of a private type.
2917
2918 2012-01-30 Vincent Celier <celier@adacore.com>
2919
2920 * prj-nmsc.adb (Check_Interfaces): Compute the Lib_Interface_ALIs
2921 for the project if either attribute Library_Interface or
2922 Interfaces is declared.
2923 (Check_Stand_Alone_Library): Use Lib_Interface_ALIs computed in
2924 Check_Interfaces.
2925
2926 2012-01-30 Pascal Obry <obry@adacore.com>
2927
2928 * prj-proc.adb (Recursive_Process): Set From_Encapsulated_Lib
2929 boolean value to true in the process list created by this routine.
2930 * prj.ads (Project_List_Element): New field From_Encapsulated_Lib.
2931 Continued work for KA06-021.
2932 * prj.adb (Compute_All_Imported_Projects): Set
2933 From_Encapsulated_Lib boolean flag.
2934
2935 2012-01-30 Vincent Pucci <pucci@adacore.com>
2936
2937 * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Minor
2938 code clean up.
2939 * s-diflio.ads: Minor change.
2940
2941 2012-01-30 Javier Miranda <miranda@adacore.com>
2942
2943 * exp_ch9.adb (Build_Dispatching_Requeue): Add missing call
2944 to Get_Entry_Index. Required to generate code which provides
2945 the correct value of Entry_Index in the target entry.
2946
2947 2012-01-30 Nicolas Roche <roche@adacore.com>
2948
2949 * system-vxworks-ppc.ads: Add pragma Linker_Options -crtbe to
2950 fix issue with zcx on VxWorks5.
2951
2952 2012-01-30 Pascal Obry <obry@adacore.com>
2953
2954 * prj.ads, prj.adb (For_Every_Project_Imported): Remove
2955 In_Aggregate_Lib.
2956 (For_Every_Project_Imported_Context): New generic routine with
2957 a context parameter.
2958 * prj-nmsc.adb: Revert to use For_Every_Project_Imported Avoid
2959 distributed complexity.
2960 * prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb: Ditto.
2961
2962 2012-01-30 Thomas Quinot <quinot@adacore.com>
2963
2964 * exp_aggr.adb (Expand_Record_Aggregate): After creating the
2965 _parent aggregate for an extension aggregate, check whether it
2966 requires delayed (top-down) expansion.
2967
2968 2012-01-30 Vincent Pucci <pucci@adacore.com>
2969
2970 * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Rewritten.
2971 * snames.ads-tmpl: Name_Item and Name_Symbols added.
2972 * s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads: Rename
2973 and change the position of parameter Symbols in every Put routine.
2974 * s-dimmks.ads: Convert long float type Mks_Type into long
2975 long float.
2976 * s-llflex.ads: Modifications in comments.
2977
2978 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
2979
2980 * sem_ch12.adb (Earlier): Do not use the
2981 top level source locations of the two input nodes.
2982
2983 2012-01-30 Robert Dewar <dewar@adacore.com>
2984
2985 * einfo.ads, sem_prag.adb, sem_attr.adb, aspects.ads,
2986 sem_cat.adb, sem_aggr.adb, exp_aggr.adb: Minor reformatting.
2987
2988 2012-01-30 Robert Dewar <dewar@adacore.com>
2989
2990 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
2991
2992 2012-01-30 Olivier Hainque <hainque@adacore.com>
2993
2994 * sigtramp-ppcvxw.c (CFI_COMMON_REGS): Add rule for r1 back +
2995 comments.
2996
2997 2012-01-30 Thomas Quinot <quinot@adacore.com>
2998
2999 * gnat_rm.texi, sem_dist.adb, sem_dist.ads, einfo.ads, sem_prag.adb,
3000 sem_ch12.adb, sem_attr.adb, aspects.adb, aspects.ads, par-prag.adb,
3001 sem_cat.adb, snames.ads-tmpl (Sem_Dist.Is_Valid_Remote_Object_Type):
3002 New subprogram (extracted from
3003 Sem_Cat.Validate_Remote_Access_Object_Type_Declaration).
3004 (Einfo.Is_Remote_Types): Now applies to generic types. Update
3005 documentation accordingly.
3006 (Sem_Ch12.Analyze_Associations): A RACW type is acceptable as
3007 actual for a formal type to which a pragma Remote_Access_Type
3008 applies.
3009 (Aspects, Par.Prag, Sem_Prag): Support for new pramga/aspect
3010 Remote_Access_Type.
3011 (Sem_Attr.Analyze_Attribute, case Stub_Type): Attribute can
3012 be applied to a generic type if pragma Remote_Access_Type
3013 applies, in which case the type of the attribute is
3014 System.Partition_Interface.RACW_Stub_Type.
3015
3016 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
3017
3018 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set
3019 an alignment on fields of the RETURN type built for the CICO mechanism.
3020
3021 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
3022
3023 * gcc-interface/trans.c (gnat_to_gnu): Avoid making a SAVE_EXPR for
3024 a call to a function that returns an unconstrained type with default
3025 discriminant. Similarly, avoid doing the conversion to the nominal
3026 result type in this case.
3027
3028 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
3029
3030 * gcc-interface/ada-tree.h (DECL_ALIASED_P): New flag.
3031 * gcc-interface/decl.c (is_variable_size): Rename to...
3032 (type_has_variable_size): ...this.
3033 (adjust_packed): Adjust to above renaming.
3034 (gnat_to_gnu_field): Set DECL_ALIASED_P on the field.
3035 (field_is_artificial): New predicate.
3036 (field_is_aliased): Likewise.
3037 (field_has_self_size): Likewise.
3038 (field_has_variable_size): Likewise.
3039 (components_to_record): Record information for the final layout during
3040 the first pass on fields.
3041 If there is an aliased field placed after a field whose length depends
3042 on discriminants, put all the fields of the latter sort, last.
3043
3044 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
3045
3046 * gcc-interface/gigi.h (get_minimal_subprog_decl): Declare.
3047 * gcc-interface/decl.c (get_minimal_subprog_decl): New function.
3048 * gcc-interface/trans.c (Attribute_to_gnu): Use it for the prefix of an
3049 Access-like attribute in a dispatch table if the subprogram is public.
3050
3051 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
3052
3053 * gcc-interface/gigi.h (create_label_decl): Adjust.
3054 * gcc-interface/utils.c (create_label_decl): Add GNAT_NODE parameter
3055 and invoke gnat_pushdecl on it. Remove obsolete settings.
3056 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Label>: Adjust call to
3057 create_label_decl.
3058 * gcc-interface/trans.c (gnat_to_gnu) <N_Null): Likewise. Ignore the
3059 label for debugging purposes.
3060
3061 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
3062
3063 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an aliased
3064 object with an unconstrained nominal subtype and if optimization isn't
3065 enabled, create a special VAR_DECL for debugging purposes.
3066
3067 2012-01-23 Robert Dewar <dewar@adacore.com>
3068
3069 * sem_prag.ads, sem_prag.adb: Minor reformatting.
3070
3071 2012-01-23 Robert Dewar <dewar@adacore.com>
3072
3073 * sem_ch13.adb (Analyze_Aspect_Specifications): Check for
3074 language defined aspect applied to renaming or formal type
3075 declaration (not permitted)
3076
3077 2012-01-23 Matthew Heaney <heaney@adacore.com>
3078
3079 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Vet): Replaced
3080 comment with pragma Assert.
3081
3082 2012-01-23 Vincent Pucci <pucci@adacore.com>
3083
3084 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Call
3085 to Make_Aspect_For_PPC_In_Gen_Sub_Decl added in ASIS mode.
3086 * sem_prag.adb, sem_prag.ads (Make_Aspect_For_PPC_In_Gen_Sub_Decl): New
3087 routine. In ASIS mode, convert any PPC pragmas into aspects in generic
3088 subprogram declaration in order to enable the analysis of PPC boolean
3089 expressions.
3090
3091 2012-01-23 Robert Dewar <dewar@adacore.com>
3092
3093 * sem_ch3.adb (Analyze_Object_Declaration): Properly
3094 handle Current_Value for volatile variables (also propagate
3095 Treat_As_Volatile from type to object).
3096
3097 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
3098
3099 * sem_ch12.adb (Install_Body): Detect the case
3100 where the enclosing context is a package with a stub body that
3101 has already been replaced by the actual body. In such cases,
3102 the freeze node for the enclosing context must be inserted after
3103 the real body.
3104
3105 2012-01-23 Ed Schonberg <schonberg@adacore.com>
3106
3107 * sem_prag.adb (Analyze_Pragma, case Debug): Freeze the called
3108 subprogram before expanding the pragma into an if-statement with
3109 a block, to ensure that when the subprogram is null its body is
3110 properly generated before expansion.
3111
3112 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
3113
3114 * sem_ch12.adb (Analyze_Associations): Alphabetize local variables and
3115 constants. Rename Actual_Types to Actuals_To_Freeze. Rename Next_Formal
3116 to Saved_Formal.
3117 Freeze all eligible subprograms which appear as actuals in
3118 the instantiation.
3119 (Has_Fully_Defined_Profile): New routine.
3120 (Renames_Standard_Subprogram): New routine.
3121 (Earlier): Add local variable N. Comment update. Do not use source
3122 locations when trying to determine whether one node precedes another.
3123
3124 2012-01-23 Gary Dismukes <dismukes@adacore.com>
3125
3126 * exp_ch4.adb (Expand_Concatenate): In the case
3127 where the result of a concatentation can be null, set the to
3128 result have both the low and high bounds of the right operand (not
3129 just the high bound, as was the case prior to this fix). Also,
3130 fix the saved high bound setting (Last_Opnd_High_Bound) in the
3131 empty string literal case (should have been low bound minus one,
3132 rather than plus one).
3133
3134 2012-01-23 Thomas Quinot <quinot@adacore.com>
3135
3136 * scos.ads, put_scos.adb, get_scos.adb (Get_SCOs, Put_SCOs): Do not
3137 omit statement SCOs for disabled pragmas.
3138
3139 2012-01-23 Matthew Heaney <heaney@adacore.com>
3140
3141 * a-cohase.ads, a-cihase.ads, a-cbhase.ads, a-coorse.ads,
3142 a-ciorse.ads, a-cborse.ads, a-cohama.ads, a-cihama.ads, a-cbhama.ads,
3143 a-coorma.ads, a-ciorma.ads, a-cborma.ads, a-cdlili.ads, a-cidlli.ads,
3144 a-cbdlli.ads, a-convec.ads, a-coinve.ads, a-cobove.ads (Cursor'Read,
3145 Cursor'Write): Declare in private part.
3146 (Reference_Type'Read, Reference_Type'Write): Ditto.
3147 (Constant_Reference_Type'Read, Constant_Reference_Type'Write): Ditto.
3148
3149 2012-01-23 Robert Dewar <dewar@adacore.com>
3150
3151 * a-catizo.ads, a-calend.adb, a-calend.ads, par-ch13.adb: Minor
3152 reformatting.
3153
3154 2012-01-23 Ed Schonberg <schonberg@adacore.com>
3155
3156 * sem_ch6.adb (Analyze_Subprogram_Declaration): Do not set the
3157 Corresponding_Body on a defaulted null formal subprogram.
3158 * sem_ch12.adb (Check_Formal_Package_Instance): No check needed
3159 on a defaulted formal subprogram that is a null procedure.
3160
3161 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
3162
3163 * exp_ch9.adb: Update the comments involving pragma Implemented.
3164 * sem_ch3.adb (Check_Pragma_Implemented (Entity_Id)): Add local
3165 constant Subp_Alias and local variable Impl_Subp. Properly
3166 handle aliases of synchronized wrappers. Code cleanup.
3167 (Check_Pragma_Implemented (Entity_Id; Entity_Id)): Add
3168 Name_Optional as part of the condition.
3169 * sem_prag.adb (Analyze_Pragma): Add "Optional" as one of the
3170 valid choices of implementation kind.
3171 (Check_Arg_Is_One_Of): New routine.
3172 * snames.ads-tmlp: Add Name_Optional.
3173
3174 2012-01-23 Ed Schonberg <schonberg@adacore.com>
3175
3176 * par-ch13.adb: Better error recovery in illegal aspect
3177 specification.
3178
3179 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
3180
3181 * a-calend.adb: Add with clause for Interfaces.C. Add constant
3182 Unix_Max.
3183 (Day_Of_Week): Call the internal UTC_Time_Offset.
3184 (Split): Call the internal UTC_Time_Offset.
3185 (Time_Of): Call the internal UTC_Time_Offset.
3186 (Time_Zone_Operations.UTC_Time_Offset): Call internal UTC_Time_Offset.
3187 (UTC_Time_Offset): New library-level routine.
3188 * a-calend.ads (UTC_Time_Offset): Remove parameter
3189 Is_Historic. Update related comment on usage.
3190 * a-catizo.adb (UTC_Time_Offset): Removed.
3191 (UTC_Time_Offset (Time)): Call Time_Zone_Operations.UTC_Time_Offset.
3192 * a-caltizo.ads (UTC_Time_Offset): Removed.
3193 (UTC_Time_Offset (Time)): Add back the default expression of parameter
3194 Date.
3195
3196 2012-01-23 Robert Dewar <dewar@adacore.com>
3197
3198 * sprint.ads, sprint.adb (Sprint_Node_List): Add New_Lines parameter
3199 (pg,po,ps): Make sure each entry starts on new line.
3200
3201 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
3202
3203 * a-calend.ads, a-calend.adb: Define types int and int_Pointer. Update
3204 the parameter profile of procedure localtime_tzoff and its associated
3205 comment.
3206 (Day_Of_Week): Do not treat the input date as historical
3207 with respect to time zones.
3208 (Split): Do not treat the input
3209 date as historical with respect to time zones. (Time_Of): Do
3210 not treat the input constituents as forming a historical date
3211 with respect to time zones.
3212 (UTC_Time_Offset): Add new formal
3213 parameter Is_Historic. Add local variable Flag. Update the call
3214 to localtime_tzoff.
3215 * a-catizo.ads, a-catizo.adb (UTC_Time_Offset): New routine.
3216 (UTC_Time_Offset (Time)): Update the call to
3217 Time_Zone_Operations.UTC_Time_Offset.
3218 * sysdep.c (__gnat_localtime_tzoff): Update parameter
3219 profile. Split the processing of offsets on Windows into two - one
3220 part of historic time stamps and the other for the current time.
3221
3222 2012-01-23 Robert Dewar <dewar@adacore.com>
3223
3224 * a-calend.adb: Minor reformatting.
3225
3226 2012-01-23 Ed Schonberg <schonberg@adacore.com>
3227
3228 * exp_ch9.adb, sem_ch9.adb: Handle array of access to synchronized
3229 interface in requeue statement.
3230
3231 2012-01-23 Cyrille Comar <comar@adacore.com>
3232
3233 * projects.texi: Remove references to main units and replace
3234 with references to main programs to be coherent with the
3235 documentation.
3236
3237 2012-01-23 Robert Dewar <dewar@adacore.com>
3238
3239 * s-utf_32.adb: Minor reformatting.
3240
3241 2012-01-23 Vincent Celier <celier@adacore.com>
3242
3243 * snames.ads-tmpl: Minor comment addition Indicate that
3244 Name_Library_Encapsulated_Options is only used in gprbuild.
3245
3246 2012-01-23 Robert Dewar <dewar@adacore.com>
3247
3248 * sem_ch10.adb (Analyze_Subunit): Properly save/restore cunit
3249 restrictions.
3250
3251 2012-01-23 Ed Schonberg <schonberg@adacore.com>
3252
3253 * snames.ads-tmpl: Add Name_Synchronization.
3254 * aspects.ads, aspects.adb: Add Aspect_Synchronization to
3255 enumeration type and related maps.
3256 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle Aspect
3257 Synchronization, build corresponding pragma Implemented.
3258 * sem_util.adb (Implementation_Kind): Handle both explicit and
3259 implicit pragma_argument association to retrieve the given
3260 synchronization mode.
3261
3262 2012-01-23 Robert Dewar <dewar@adacore.com>
3263
3264 * sem_ch10.adb, errout.adb: Minor reformatting.
3265
3266 2012-01-23 Ed Schonberg <schonberg@adacore.com>
3267
3268 * sem_res.adb (Resolve_Actuals): An actual in a call to an
3269 Ada 2012 Reference function does not lead to a dangerous order
3270 dependence.
3271
3272 2012-01-23 Gary Dismukes <dismukes@adacore.com>
3273
3274 * exp_util.adb (Is_Iterated_Container): Test
3275 Is_Entity_Name when searching for calls to the default iterator,
3276 to avoid blowing up on indirect calls which have an explicit
3277 dereference as the call name.
3278
3279 2012-01-23 Thomas Quinot <quinot@adacore.com>
3280
3281 * errout.adb (Set_Msg_Node): For an N_Expanded_Name, output
3282 the complete expanded name, rather than just its Selector_Name.
3283
3284 2012-01-23 Thomas Quinot <quinot@adacore.com>
3285
3286 * a-textio.adb (Put): Rewrite one-parameter Character version to
3287 just call the two-parameter one with Current_Out.
3288
3289 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
3290
3291 * freeze.adb (Check_Current_Instance): Issue an
3292 error when the prefix of 'Unchecked_Access or 'Access does not
3293 denote a legal aliased view of a type.
3294 (Freeze_Record_Type): Do not halt the processing of record components
3295 once the Has_Controlled_Component is set as this bypasses the remaining
3296 checks.
3297 (Is_Aliased_View_Of_Type): New routine.
3298
3299 2012-01-23 Thomas Quinot <quinot@adacore.com>
3300
3301 * errout.ads, freeze.adb: Minor reformatting.
3302
3303 2012-01-23 Thomas Quinot <quinot@adacore.com>
3304
3305 * sem_ch10.adb, sem_prag.adb: Remove redundant apostrophes in error
3306 messages.
3307
3308 2012-01-23 Olivier Hainque <hainque@adacore.com>
3309
3310 * adadecode.c (__gnat_decode): Deal with empty input early,
3311 preventing potential erroneous memory access later on.
3312
3313 2012-01-21 Eric Botcazou <ebotcazou@adacore.com>
3314
3315 PR ada/46192
3316 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the case of a
3317 renaming, preserve the volatileness through the indirection, if any.
3318
3319 2012-01-14 Andreas Schwab <schwab@linux-m68k.org>
3320
3321 * gcc-interface/Makefile.in (OSCONS_EXTRACT): Add
3322 $(GNATLIBCFLAGS).
3323
3324 2012-01-10 Pascal Obry <obry@adacore.com>
3325
3326 * prj-nmsc.adb (Check_Library_Attributes):
3327 Kill check for object/source directories for aggregate libraries.
3328
3329 2012-01-10 Matthew Heaney <heaney@adacore.com>
3330
3331 * a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb,
3332 a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads,
3333 a-cborma.adb, a-cborma.ads, a-cidlli.adb, a-cidlli.ads, a-cimutr.adb,
3334 a-cimutr.ads, a-cihase.adb, a-cihase.ads, a-cohama.adb, a-cohama.ads,
3335 a-coorse.adb, a-coorse.ads, a-cbhama.adb, a-cbhama.ads, a-cborse.adb,
3336 a-cborse.ads, a-comutr.adb, a-comutr.ads, a-ciorma.adb, a-cobove.adb,
3337 a-ciorma.ads, a-cobove.ads, a-convec.adb, a-convec.ads, a-cohase.adb,
3338 a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbmutr.adb, a-cbmutr.ads,
3339 a-cbhase.adb, a-cbhase.ads (Reference, Constant_Reference): Declare
3340 container parameter as aliased in/in out.
3341 Code clean ups.
3342
3343 2012-01-10 Bob Duff <duff@adacore.com>
3344
3345 * s-os_lib.ads: Improve comment.
3346
3347 2012-01-10 Geert Bosch <bosch@adacore.com>
3348
3349 * s-gearop.adb (Forward_Eliminate): Avoid improper aliasing
3350 for complex Scalar.
3351
3352 2012-01-10 Bob Duff <duff@adacore.com>
3353
3354 * sem_intr.adb (Check_Shift): Use RM_Size instead of Esize, when
3355 checking that the 'Size is correct. If the type is "mod 2**12",
3356 for example, it's illegal, but Esize is the 'Object_Size, which
3357 will be something like 16 or 32, so the error ('Size = 12) was
3358 not detected.
3359 * gnat_rm.texi: Improve documentation of shift
3360 and rotate intrinsics.
3361
3362 2012-01-10 Pascal Obry <obry@adacore.com>
3363
3364 * prj.adb (For_Every_Project_Imported): Fix
3365 implementation to make sure we return each project only once
3366 for aggragte libraries. It is fine to return a project twice for
3367 aggregate projects, this was the case as a Project_Id is different
3368 in each project tree. The new implementation use a table based on
3369 the project name to ensure proper detection of duplicate project
3370 in aggregate library. A new context is then created to continue
3371 retrurning duplicate project for aggregate libraries.
3372
3373 2012-01-09 Eric Botcazou <ebotcazou@adacore.com>
3374
3375 * gcc-interface/trans.c (call_to_gnu): Create the temporary for the
3376 return value in the variable-sized return type case if the target is
3377 an array with fixed size. However, do not create it if this is the
3378 expression of an object declaration.
3379
3380 2012-01-09 Eric Botcazou <ebotcazou@adacore.com>
3381
3382 * gcc-interface/trans.c (addressable_p) <COMPONENT_REF>: Fix thinko.
3383
3384 2012-01-06 Robert Dewar <dewar@adacore.com>
3385
3386 * a-wichha.ads, a-wichun.ads, a-zchhan.ads, a-zchuni.ads,
3387 s-utf_32.ads: Add pragma Pure
3388 * s-utf_32.adb: Suppress warnings on non-static constants (now
3389 that this is Pure).
3390
3391 2012-01-06 Bob Duff <duff@adacore.com>
3392
3393 * s-rpc.ads (Read, Write): Add overriding indicators.
3394
3395 2012-01-06 Robert Dewar <dewar@adacore.com>
3396
3397 * gnat_rm.texi: Add documentation for conventions
3398 Ada_Pass_By_Copy and Ada_Pass_By_Reference.
3399
3400 2012-01-06 Gary Dismukes <dismukes@adacore.com>
3401
3402 * a-tienio.adb (Put): Add exception message on
3403 raise statements. Remove unneeded blocks and object declarations.
3404
3405 2012-01-06 Robert Dewar <dewar@adacore.com>
3406
3407 * sem_prag.adb: Minor reformatting.
3408
3409 2012-01-06 Ed Schonberg <schonberg@adacore.com>
3410
3411 * sinfo.ads, sinfo.adb (Has_Prefixed_Call): New flag to indicate
3412 that a selected component within a generic unit has been resolved
3413 as a prefixed call with local references.
3414 * sem_ch3.adb (Is_Visible_Component): In an instance body a selected
3415 component is always visible.
3416 * sem_ch4.adb (Analyze_Selected_Component): If the node is a
3417 prefixed call in an instance, do not look for visible components
3418 of the type.
3419 * sem_ch12.adb (Reset_Entity): If a selected component has resolved
3420 to a prefixed call, mark the node accordingly when prefix and
3421 selector are local references.
3422
3423 2012-01-02 Eric Botcazou <ebotcazou@adacore.com>
3424
3425 * gnatvsn.ads (Current_Year): Bump to 2012.
3426 \f
3427 Copyright (C) 2012 Free Software Foundation, Inc.
3428
3429 Copying and distribution of this file, with or without modification,
3430 are permitted in any medium without royalty provided the copyright
3431 notice and this notice are preserved.