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