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