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