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