OSDN Git Service

PR ada/53737
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2012-12-21  Ed Schonberg  <schonberg@adacore.com>
2
3         PR ada/53737
4         * sem_ch12.adb (Analyze_Associations): Do not check the legality of
5         actuals for RACW types if this is an internal instantiation for a formal
6         package with defaulted parameters.
7
8 2012-12-18  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
9
10         Backport from mainline.
11         2012-10-15  Matthias Klose  <doko@ubuntu.com>
12
13         * gcc-interface/Makefile.in: Match arm*-*-linux-*eabi* for
14         ARM Linux/GNU.
15
16 2012-12-16  Eric Botcazou  <ebotcazou@adacore.com>
17
18         PR ada/54614
19         Backport from mainline
20
21         2012-10-01  Vincent Pucci  <pucci@adacore.com>
22
23         * s-gearop.adb (Vector_Matrix_Product): Fix dimension check and index
24         of Left in S evaluation.
25
26 2012-12-15  Eric Botcazou  <ebotcazou@adacore.com>
27
28         PR ada/53766
29         Backport from mainline
30
31         2012-07-17  Hristian Kirtchev  <kirtchev@adacore.com>
32
33         * exp_attr.adb (Expand_N_Attribute_Reference): Add local variables Attr
34         and Conversion_Added.  Add local constant Typ.
35         Retrieve the original attribute after the arithmetic check
36         machinery has modified the node. Add a conversion to the target
37         type when the prefix of attribute Max_Size_In_Storage_Elements
38         is a controlled type.
39
40 2012-12-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
41
42         PR ada/52110
43         * s-osinte-hpux-dce.ads: Declare pthread_rwlockattr_t and
44         pthread_rwlock_t subtypes.  Delete duplicate declaration of clockid_t.
45         * s-taspri-hpux-dce.ads: Change "pragma Atomic (Thread)" to comment.
46
47 2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
48
49         PR other/52438
50         * s-taspri-lynxos.ads: Delete.
51         * s-osinte-kfreebsd-gnu.ads: Change license to GPL V3+.
52         * s-tpopsp-rtems.adb: Likewise.
53         * s-osinte-rtems.adb: Likewise.
54
55 2012-10-30  Eric Botcazou  <ebotcazou@adacore.com>
56
57         * gcc-interface/Make-lang.in: Fix and clean up rules for C files.
58
59 2012-10-22  Eric Botcazou  <ebotcazou@adacore.com>
60
61         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Force
62         BLKmode on the type if it is passed by reference.
63         <E_Array_Subtype>: Likewise.
64         <E_Record_Type>: Guard the call to Is_By_Reference_Type predicate.
65         <E_Record_Subtype>: Likewise.
66
67         * gcc-interface/Makefile.in: Remove outdated comment and reference to
68         non-existing file.
69
70 2012-10-22  Eric Botcazou  <ebotcazou@adacore.com>
71
72         * gcc-interface/trans.c (Loop_Statement_to_gnu): Use gnat_type_for_size
73         directly to obtain an unsigned version of the base type.
74
75 2012-10-22  Eric Botcazou  <ebotcazou@adacore.com>
76
77         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: Do not
78         generate the special PARM_DECL for an Out parameter in LTO mode.
79
80 2012-10-02  Eric Botcazou  <ebotcazou@adacore.com>
81
82         * gcc-interfaces/decl.c (elaborate_expression_1): Use the variable for
83         bounds of loop iteraration scheme only for locally defined subtypes.
84
85         * gcc-interface/trans.c (build_return_expr): Apply the NRV optimization
86         only for BLKmode.
87
88 2012-09-20  Release Manager
89
90         * GCC 4.7.2 released.
91
92 2012-09-07  Eric Botcazou  <ebotcazou@adacore.com>
93
94         * gcc-interface/trans.c (Loop_Statement_to_gnu): Revert to using
95         size_type_node instead of sizetype.
96
97 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
98
99         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Try to ensure
100         that an object of CW type initialized to a value is sufficiently
101         aligned for this value.
102
103 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
104
105         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Do not
106         look up the REP part of the base type in advance.  Deal with that of
107         the variant types.
108         (get_rep_part): Be prepared for record types with fields.
109
110 2012-07-03  Eric Botcazou  <ebotcazou@adacore.com>
111
112         * gcc-interface/trans.c (Call_to_gnu): Robustify test for function case
113         if the CICO mechanism is used.
114
115 2012-07-03  Eric Botcazou  <ebotcazou@adacore.com>
116
117         * gcc-interface/utils2.c (build_simple_component_ref): Do not look
118         through an extension if the type contains a placeholder.
119
120 2012-07-03  Eric Botcazou  <ebotcazou@adacore.com>
121
122         * exp_disp.adb (Expand_Dispatching_Call): Propagate the convention on
123         the designated subprogram type and also set Is_Dispatch_Table_Entity.
124         (Expand_Interface_Thunk): Propagate the convention on the thunk.
125         (Set_CPP_Constructors_Old): Set Is_Constructor and Convention_CPP on
126         the internal view of the constructors.
127         (Set_CPP_Constructors): Likewise.
128         * sem_prag.adb (Analyze_Pragma) <Pragma_CPP_Constructor>: Set the
129         convention on the function.
130         * gcc-interface/gigi.h (is_cplusplus_method): Declare.
131         * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
132         (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the `thiscall'
133         calling convention
134         (get_minimal_subprog_decl): Likewise.
135         (is_cplusplus_method): New predicate.
136         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Issue an
137         error on access to C++ constructor or member function.
138
139 2012-07-03  Eric Botcazou  <ebotcazou@adacore.com>
140
141         * gcc-interface/utils.c (gnat_pushdecl): Set TYPE_CONTEXT for types
142         attached to a TYPE_DECL.
143
144 2012-06-15  Eric Botcazou  <ebotcazou@adacore.com>
145
146         PR ada/53592
147         * gcc-interface/gigi.h (maybe_vector_array): Make static inline.
148         * gcc-interface/utils.c (maybe_vector_array): Delete.
149         * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Mark the
150         array object as addressable if it has vector type and is on the LHS.
151
152 2012-06-14  Jakub Jelinek  <jakub@redhat.com>
153
154         * gcc-interface/Makefile.in (gnatlib-shared-default): Append
155         $(PICFLAG_FOR_TARGET) to GNATLIBCFLAGS_FOR_C passed to submake.
156
157 2012-06-14  Release Manager
158
159         * GCC 4.7.1 released.
160
161 2012-06-13  Eric Botcazou  <ebotcazou@adacore.com>
162
163         Revert
164         2012-05-19  Eric Botcazou  <ebotcazou@adacore.com>
165
166         * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
167         (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
168         calling convention
169         (get_minimal_subprog_decl): Likewise.
170         (gnat_first_param_is_class): New predicate.
171
172 2012-06-12  Olivier Hainque  <hainque@adacore.com>
173
174         * gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Remove
175         $(PIC_FLAG_FOR_TARGET).
176         (gnatlib-shared-default): Add $(PIC_FLAG_FOR_TARGET) to
177         GNATLIBCFLAGS_FOR_C passed to gnatlib.
178         (gnatlib-shared-win32): Likewise.
179         (gnatlib-shared-darwin): Likewise.
180         (gnatlib-shared-dual-win32): Pass PIC_FLAG_FOR_TARGET to
181         gnatlib-shared-win32.
182
183 2012-05-26  Eric Botcazou  <ebotcazou@adacore.com>
184
185         * gcc-interface/decl.c (variant_desc): Rename 'record' to 'new_type'.
186         (build_variant_list): Adjust to above renaming.
187         (gnat_to_gnu_entity) <E_Record_Subtype>: Likewise.  Give a unique name
188         to the type of the variant containers.
189         (create_variant_part_from): Likewise.  Give a unique name to the type
190         of the variant part.
191
192 2012-05-25  Eric Botcazou  <ebotcazou@adacore.com>
193
194         PR ada/52362
195         * link.c (__gnat_object_file_option): Set to "-Wl,@" for GNU linker.
196         (__gnat_using_gnu_linker): Delete.
197         * gnatlink.adb (Gnatlink): Declare Object_File_Option_Ptr here...
198         Declare Object_File_Option string constant and Using_GNU_response_file
199         boolean constant.
200         (Process_Binder_File): ...instead of here.  Delete Using_GNU_Linker,
201         Opening and Closing local variables.  Do not handle the GNU linker
202         specially.
203         (Write_RF): New procedure to write into the response file.  Escape some
204         characters if a GNU response file is used.  Keep track of error status.
205         Invoke Write_RF to write into the response file.  Delete the file only
206         if the link was successful.
207         * mlib-utl.adb: Do not `with' package System.
208         (Gcc): Likewise.  Declare Object_File_Option string constant and
209         Using_GNU_response_file boolean constant.
210         (Write_RF): Take a string instead of address and length.  Escape some
211         characters if a GNU response file is used.
212         Invoke Write_RF to write into the response file.  Delete the file only
213         if the link was successful.  Do not warn if it cannot be deleted.
214
215 2012-05-20  Eric Botcazou  <ebotcazou@adacore.com>
216
217         * gcc-interface/utils.c (gnat_write_global_declarations): Put a name
218         on the dummy global variable.
219
220 2012-05-19  Eric Botcazou  <ebotcazou@adacore.com>
221
222         * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
223         (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
224         calling convention
225         (get_minimal_subprog_decl): Likewise.
226         (gnat_first_param_is_class): New predicate.
227
228         Backport from mainline
229         2012-05-15  Javier Miranda  <miranda@adacore.com>
230
231         * exp_ch3.adb (Build_Offset_To_Top): Modify the
232         expansion of the offset_to_top functions to ensure that their
233         profile is conformant with the profile specified in Ada.Tags. No
234         change in functionality.
235
236 2012-05-18  Eric Botcazou  <ebotcazou@adacore.com>
237
238         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an object at
239         global level with unconstrained nominal subtype and a non-fixed size,
240         make a variable for the size.
241
242 2012-05-15  Andris Pavenis  <andris.pavenis@iki.fi>
243
244         PR ada/52494
245         * s-taprop-dummy.adb (Specific): New package.
246
247 2012-05-15  Eric Botcazou  <ebotcazou@adacore.com>
248
249         * sem_prag.adb (Process_Atomic_Shared_Volatile): Propagate
250         atomicity from an object to its underlying type only if it
251         is composite.
252
253 2012-05-06  Pascal Obry  <obry@adacore.com>
254
255         Revert
256         2012-02-24  Dave Korn  <dave.korn.cygwin@gmail.com>
257
258         * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
259         Windows-specific make variable.
260         (WIN_SO_INSTALL_DIR [windows targets]): Likewise.
261         (install-gnatlib): Respect the above during installation when set,
262         and also install any windows import library that has been built.
263         (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
264         build a corresponding import library.
265
266 2012-04-30  Eric Botcazou  <ebotcazou@adacore.com>
267
268         * gcc-interface/utils.c (finish_record_type): Force the traditional GCC
269         layout for bitfields on the type if it is packed or has a representation
270         clause and an alternate layout is available.
271
272 2012-04-09  Mike Stump  <mikestump@comcast.net>
273
274         * a-assert.ads: Remove execute permission.
275         * a-chacon.ads: Likewise.
276         * a-coteio.ads: Likewise.
277         * a-envvar.ads: Likewise.
278         * a-exetim-mingw.ads: Likewise.
279         * a-fzteio.ads: Likewise.
280         * a-izteio.ads: Likewise.
281         * a-lcteio.ads: Likewise.
282         * a-llctio.ads: Likewise.
283         * a-scteio.ads: Likewise.
284         * a-suenco.ads: Likewise.
285         * a-suenst.ads: Likewise.
286         * a-suewst.ads: Likewise.
287         * a-suezst.ads: Likewise.
288         * a-tirsfi.ads: Likewise.
289         * a-wichha.ads: Likewise.
290         * a-zchara.ads: Likewise.
291         * a-zchhan.ads: Likewise.
292         * a-zchuni.ads: Likewise.
293         * a-zrstfi.ads: Likewise.
294         * aspects.ads: Likewise.
295         * g-byorma.ads: Likewise.
296         * g-decstr.ads: Likewise.
297         * g-encstr.ads: Likewise.
298         * g-spchge.ads: Likewise.
299         * g-u3spch.ads: Likewise.
300         * g-wispch.ads: Likewise.
301         * g-zspche.ads: Likewise.
302         * namet-sp.ads: Likewise.
303         * s-os_lib.ads: Likewise.
304         * s-regexp.ads: Likewise.
305         * s-regpat.ads: Likewise.
306         * s-string.ads: Likewise.
307         * s-tasloc.ads: Likewise.
308         * s-utf_32.ads: Likewise.
309         * sem_aux.ads: Likewise.
310         * a-assert.adb: Likewise.
311         * a-chacon.adb: Likewise.
312         * a-envvar.adb: Likewise.
313         * a-exetim-mingw.adb: Likewise.
314         * a-suenco.adb: Likewise.
315         * a-suenst.adb: Likewise.
316         * a-suewst.adb: Likewise.
317         * a-suezst.adb: Likewise.
318         * a-tirsfi.adb: Likewise.
319         * a-wichha.adb: Likewise.
320         * a-zchhan.adb: Likewise.
321         * a-zchuni.adb: Likewise.
322         * a-zrstfi.adb: Likewise.
323         * aspects.adb: Likewise.
324         * g-byorma.adb: Likewise.
325         * g-decstr.adb: Likewise.
326         * g-encstr.adb: Likewise.
327         * g-spchge.adb: Likewise.
328         * g-u3spch.adb: Likewise.
329         * g-wispch.adb: Likewise.
330         * g-zspche.adb: Likewise.
331         * namet-sp.adb: Likewise.
332         * s-except.adb: Likewise.
333         * s-inmaop-vxworks.adb: Likewise.
334         * s-os_lib.adb: Likewise.
335         * s-regexp.adb: Likewise.
336         * s-regpat.adb: Likewise.
337         * s-string.adb: Likewise.
338         * s-tasloc.adb: Likewise.
339         * s-utf_32.adb: Likewise.
340         * s-wchcon.adb: Likewise.
341         * sem_aux.adb: Likewise.
342
343 2012-03-22  Release Manager
344
345         * GCC 4.7.0 released.
346
347 2012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
348
349         * gcc-interface/decl.c (components_to_record): Add ARTIFICIAL parameter
350         and set TYPE_ARTIFICIAL according to it.  Adjust recursive call.
351         (gnat_to_gnu_entity) <E_Record_Type>: Adjust call to above function.
352         * gcc-interface/utils.c (rest_of_record_type_compilation): Do not
353         invoke rest_of_type_decl_compilation on the parallel type, if any.
354
355 2012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
356
357         * gcc-interface/utils.c (gnat_write_global_declarations): Make sure the
358         dummy global built for global types is preserved.
359
360 2012-02-27  Tristan Gingold  <gingold@adacore.com>
361
362         * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
363         E_Array_Type]: Reuse dummy fat type for gnu_ptr_template and
364         gnu_template_type.
365
366 2012-02-27  Eric Botcazou  <ebotcazou@adacore.com>
367
368         * gcc-interface/ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Add checking.
369         (TYPE_BY_REFERENCE_P): New flag.
370         (TYPE_IS_BY_REFERENCE_P): New macro.
371         (TYPE_DUMMY_P): Add checking and remove VOID_TYPE.
372         (TYPE_IS_DUMMY_P): Adjust for above change.
373         * gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_BY_REFERENCE_P
374         and TYPE_IS_BY_REFERENCE_P instead of TREE_ADDRESSABLE.
375         (gnat_to_gnu_param): Likewise.
376         (maybe_pad_type): Likewise.
377         (make_type_from_size): Use TYPE_IS_PACKED_ARRAY_TYPE_P.
378         * gcc-interface/misc.c (must_pass_by_ref): Use TYPE_IS_BY_REFERENCE_P
379         instead of TREE_ADDRESSABLE.
380         * gcc-interface/trans.c (finalize_nrv): Likewise.
381         (call_to_gnu): Likewise.  Do not create a temporary for return values
382         with by-reference type here.
383         (gnat_to_gnu): Test TYPE_IS_DUMMY_P instead of TYPE_DUMMY_P.
384         (gnat_gimplify_expr) <ADDR_EXPR>: Don't do anything for non-constant
385         CONSTRUCTORs and calls.
386         * gcc-interface/utils.c (make_dummy_type): Get the equivalent type of
387         the underlying type and use it throughout.  Use TYPE_IS_BY_REFERENCE_P
388         instead of TREE_ADDRESSABLE.
389         * gcc-interface/utils2.c (build_cond_expr): Deal with by-reference
390         types explicitly.
391
392 2012-02-27  Eric Botcazou  <ebotcazou@adacore.com>
393
394         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Revert previous
395         change that creates a special VAR_DECL for debugging purposes.  For an
396         aliased object with an unconstrained nominal subtype, make its type a
397         thin reference to the underlying object.
398         * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Deal with
399         expressions built for the initialization of above objects.
400
401 2012-02-24  Dave Korn  <dave.korn.cygwin@gmail.com>
402
403         * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
404         Windows-specific make variable.
405         (WIN_SO_INSTALL_DIR [windows targets]): Likewise.
406         (install-gnatlib): Respect the above during installation when set,
407         and also install any windows import library that has been built.
408         (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
409         build a corresponding import library.
410
411 2012-02-22  Robert Dewar  <dewar@adacore.com>
412
413         * exp_util.adb, make.adb, sem_dim.adb, sem_ch4.adb, exp_disp.adb: Minor
414         reformatting.
415
416 2012-02-22  Geert Bosch  <bosch@adacore.com>
417
418         * g-bytswa-x86.adb, g-bytswa.adb, gcc-interface/Makefile.in: Remove
419         x86-specific version of byteswap and use GCC builtins instead.
420
421 2012-02-22  Tristan Gingold  <gingold@adacore.com>
422
423         * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
424         E_Array_Type]: Translate component ealier.
425
426 2012-02-22  Robert Dewar  <dewar@adacore.com>
427
428         * par-ch3.adb (P_Signed_Integer_Type_Definition): Specialize
429         error message for 'Range.
430
431 2012-02-22  Pascal Obry  <obry@adacore.com>
432
433         * s-taprop-mingw.adb (Finalize_TCB): Do not wait on thread handle as
434         this is our own thread.
435
436 2012-02-22  Sergey Rybin  <rybin@adacore.com frybin>
437
438         * tree_io.ads: Update ASIS_Version_Number because of the changes
439         in Snames.
440
441 2012-02-22  Hristian Kirtchev  <kirtchev@adacore.com>
442
443         * exp_ch7.adb (Create_Finalizer): Suppress elaboration checks on 
444         stack-related finalizers.
445
446 2012-02-22  Ed Schonberg  <schonberg@adacore.com>
447
448         * sem_ch6.adb (Analyze_Expression_Function): If the construct
449         is a completion, indicate that its formals are the formals of
450         a completion, and as such do not get a cross- reference entry.
451         (Analyze_Subprogram_Specification): Do not generate a definition
452         for the entity of an expression function, because it may be a
453         completion. Definition will be generated if needed when analyzing
454         the generated subprogram declaration.
455
456 2012-02-22  Vincent Celier  <celier@adacore.com>
457
458         * make.adb (Check): When checking if an object file is in the
459         correct object directory, get the unit name from a previous call
460         to Check_Source_Info_In_ALI.
461         * makeutl.adb (Check_Source_Info_In_ALI): Return the name of
462         the unit when everything is OK, otherwise return No_Name.
463         * makeutl.ads (Check_Source_Info_In_ALI): Return Name_Id instead
464         of Boolean
465
466 2012-02-22  Ed Schonberg  <schonberg@adacore.com>
467
468         * sem_ch4.adb (Find_Equality_Types, Try_One_Interp): In an
469         instance, the operator is visible if an operand is of some
470         numeric type which is not in use or directly visible, and the
471         other operand is a numeric literal.
472
473 2012-02-22  Tristan Gingold  <gingold@adacore.com>
474
475         * init.c: Minor code clean up.
476         * gcc-interface/Make-lang.in: Update dependencies.
477
478 2012-02-22  Arnaud Charlet  <charlet@adacore.com>
479
480         * gnatlink.adb (Gnatlink): Use -gnatcC in CodePeer_Node,
481         otherwise GCC will generate an object file.
482
483 2012-02-22  Vincent Celier  <celier@adacore.com>
484
485         * projects.texi: Correct typo related to "**" in Source_Dirs.
486
487 2012-02-22  Steve Baird  <baird@adacore.com>
488
489         * sem_prag.adb (Analyze_PPC_In_Decl_Part): Clean up generation of
490         error message text.
491
492 2012-02-22  Vincent Pucci  <pucci@adacore.com>
493
494         * rtsfind.adb (Get_Unit_Name): Ada_Numerics_Child and
495         System_Dim_Child cases added.
496         * rtsfind.ads: Ada_Numerics,
497         Ada_Numerics_Generic_Elementary_Functions, System_Dim,
498         System_Dim_Float_IO and System_Dim_Integer_IO added to the list
499         of RTU_Id.  Ada_Numerics_Child and System_Dim_Child added as
500         new RTU_Id subtypes.
501         * sem_dim.adb (Is_Dim_IO_Package_Entity): Use of
502         Rtsfind to verify the package entity is located either
503         in System.Dim.Integer_IO or in System.Dim.Float_IO.
504         (Is_Dim_IO_Package_Instantiation): Minor
505         changes.  (Is_Elementary_Function_Call): Removed.
506         (Is_Elementary_Function_Entity): New routine.
507         (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity call added.
508         * snames.ads-tmpl: Name_Dim and Name_Generic_Elementary_Functions
509         removed.
510
511 2012-02-22  Vincent Pucci  <pucci@adacore.com>
512
513         * sem_prag.adb: Minor reformatting.
514
515 2012-02-22  Ed Schonberg  <schonberg@adacore.com>
516
517         * sem_ch3.adb (Find_Type_Name): When analyzing a private type
518         declaration that is the completion of a tagged incomplete type, do
519         not associate the class-wide type already created with the private
520         type to prevent order-of-elaboration issues in the back-end.
521         * exp_disp.adb (Find_Specific_Type): Find specific type of
522         a class-wide type, and handle the case of an incomplete type
523         coming  either from a limited_with clause or from an incomplete
524         type declaration. Used when expanding a dispatchin call and
525         generating tag checks (minor refactoring).
526
527 2012-02-22  Robert Dewar  <dewar@adacore.com>
528
529         * exp_ch5.adb: Add comment.
530         * sem_ch12.adb, exp_ch6.adb: minor reformatting
531
532 2012-02-22  Ed Schonberg  <schonberg@adacore.com>
533
534         * freeze.adb (Freeze_Entity): Do not perform type layout within
535         a generic unit.
536
537 2012-02-22  Eric Botcazou  <ebotcazou@adacore.com>
538
539         * init.c (__gnat_error_handler) [Linux]: Map SIGBUS to
540         Storage_Error.
541
542 2012-02-22  Ed Schonberg  <schonberg@adacore.com>
543
544         * exp_ch5.adb (Expand_N_Assignment_Statement): Reject an
545         assignment to a classwide type whose type is limited, as
546         can happen in an instantiation in programs that run afoul or
547         AI05-0087.
548
549
550 2012-02-17  Ed Schonberg  <schonberg@adacore.com>
551
552         * exp_ch6.adb (Legal_Copy): If layout is not
553         determined in the front-end, do not emit error message when
554         by-reference actual is potentially unaligned.
555         * gcc-interface/decl.c (gnat_to_gnu_field): Better error message for
556         illegal representation clause on tagged or aliased component, or on
557         by-reference type with forced alignment.
558
559 2012-02-17  Nicolas Roche  <roche@adacore.com>
560
561         * gcc-interface/Makefile.in: Ensure FORCE_DEBUG_ADAFLAGS variables is
562         propagated by gnatlib-sjlj and gnatlib-zcx targets.
563         * gcc-interface/Make-lang.in: Update dependencies.
564
565 2012-02-17  Thomas Quinot  <quinot@adacore.com>
566
567         * sem_ch12.adb (Analyze_Package_Instantiation): For an
568         instantiation in an RCI library unit, omit the instance body
569         if the RCI library unit is the instance itself (E.2.3(18)),
570         but include the body if the instantiation is within the RCI
571         declaration (12.3(12)).
572
573 2012-02-17  Steve Baird  <baird@adacore.com>
574
575         * sem_prag.adb (Analyze_PPC_In_Decl_Part): Pre'Class and
576         Post'Class aspects can only be specified for a primitive operation
577         of a tagged type.
578
579 2012-02-17  Yannick Moy  <moy@adacore.com>
580
581         * gnat_rm.texi: Minor shuffling.
582
583 2012-02-17  Ed Schonberg  <schonberg@adacore.com>
584
585         * aspects.adb: Expression functions can carry pre/postconditions.
586         * par-ch6.adb (P_Subprogram): look for optional pre/postconditions
587         in an expression function.
588         * sem_prag (Check_Precondition_Postcondition): legal on expression
589         functions.
590
591 2012-02-17  Vincent Pucci  <pucci@adacore.com>
592
593         * a-cdlili.adb, a-cidlli.adb, a-cihama.adb, a-cimutr.adb,
594         * a-ciorma.adb, a-cohama.adb, a-coinve.adb, a-comutr.adb,
595         * a-convec.adb, a-coorma.adb (Adjust): New routine.
596         (Constant_Reference): Increment Busy and Lock counters.
597         (Reference): Increase Busy and Lock counters.
598         (Finalize): New routine.
599         * a-cihase.adb, a-ciorse.adb, a-cohase.adb, a-coorse.adb:
600         (Adjust): New routine.  (Constant_Reference): Increment Busy
601         and Lock counters.
602         (Finalize): New routine.
603         * a-cdlili.ads, a-cidlli.ads, a-cihama.ads, a-cihase.ads,
604         * a-cimutr.ads, a-ciorma.ads, a-ciorse.ads, a-cohama.ads,
605         * a-cohase.ads, a-coinve.ads, a-comutr.ads, a-convec.ads,
606         * a-coorma.ads, a-coorse: Controlled component added to the
607         reference types.
608
609 2012-02-17  Robert Dewar  <dewar@adacore.com>
610
611         * restrict.adb (Check_Restriction): Add special handling for
612         No_Obsolescent_Features.
613
614 2012-02-17  Hristian Kirtchev  <kirtchev@adacore.com>
615
616         * exp_util.adb (Find_Finalize_Address): When dealing with an
617         internally built full view for a type with unknown discriminants,
618         use the original record type.
619
620 2012-02-17  Robert Dewar  <dewar@adacore.com>
621
622         * sem_dim.adb: Minor reformatting.
623
624 2012-02-17  Yannick Moy  <moy@adacore.com>
625
626         * gnat_rm.texi: Minor rewording.
627
628 2012-02-17  Thomas Quinot  <quinot@adacore.com>
629
630         * sem_aggr.adb: Minor reformatting.
631
632 2012-02-17  Robert Dewar  <dewar@adacore.com>
633
634         * gnat_ugn.texi: Update doc for -gnatw.m to include 2*x case.
635
636 2012-02-17  Vincent Pucci  <pucci@adacore.com>
637
638         * sem_dim.adb (Is_Dim_IO_Package_Entity): New routine.
639         (Is_Dim_IO_Package_Instantiation): Is_Dim_IO_Package_Entity
640         call added.
641         (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity
642         call added.
643         * s-dim.ads: Make package Pure.
644
645 2012-02-17  Gary Dismukes  <dismukes@adacore.com>
646
647         * prj-nmsc.adb: Minor reformatting.
648
649 2012-02-17  Yannick Moy  <moy@adacore.com>
650
651         * gnat_rm.texi: Update GNAT RM with a separate chapter on restrictions.
652
653 2012-02-17  Yannick Moy  <moy@adacore.com>
654
655         * gnat_ugn.texi: Fix typos.
656
657 2012-02-17  Pascal Obry  <obry@adacore.com>
658
659         * prj-nmsc.adb: prj-nmsc.adb (Check_Aggregated): Check that an
660         aggregate is not Externally_Built.
661
662 2012-02-17  Ed Schonberg  <schonberg@adacore.com>
663
664         * sem_aggr.adb (Resolve_Record_Aggregate): If a composite
665         component has a box association, copy the default value using
666         the current scope as the scope of internal types, to prevent
667         scoping anomalies in gigi.
668
669 2012-02-17  Robert Dewar  <dewar@adacore.com>
670
671         * sem_dim.adb, sem_dim.ads, s-tasren.adb, prj.adb, prj.ads, freeze.adb,
672         sem_res.adb, exp_ch4.adb, sinput.adb, sinput.ads, exp_aggr.adb,
673         exp_intr.adb, s-os_lib.adb: Minor reformatting.
674
675 2012-02-17  Ed Schonberg  <schonberg@adacore.com>
676
677         * sem_ch6.adb (Is_Non_Overriding_Operation): Add warning if the
678         old operation is abstract, the relevant type is not abstract,
679         and the new subprogram fails to override.
680
681 2012-02-15  Eric Botcazou  <ebotcazou@adacore.com>
682
683         * gcc-interface/trans.c (Identifier_to_gnu): Move block retrieving the
684         type of the result to the end and execute it for a deferred constant of
685         a discriminated type whose full view can be elaborated statically.
686
687 2012-02-15  Eric Botcazou  <ebotcazou@adacore.com>
688
689         * gcc-interface/trans.c (gnat_to_gnu) <N_Qualified_Expression>: If the
690         type is tagged, mark it as used for debugging purposes.
691         <N_Allocator>: Likewise for a qualified expression.
692
693 2012-02-15  Eric Botcazou  <ebotcazou@adacore.com>
694
695         * gcc-interface/trans.c (call_to_gnu): Create the temporary for the
696         return value in the by-reference return type case if this isn't the
697         expression of an object declaration.  Tidy up.
698
699 2012-02-09  Tristan Gingold  <gingold@adacore.com>
700
701         * gcc-interface/Makefile.in: Remove .sym rule (not used).
702         Remove adamsg.o object (requires native message compiler).
703         * init.c (CMA$_EXIT_THREAD, MTH$_FLOOVEMAT, SS$_INTDIV): Define as a
704         macro instead of as extern int.
705         (ADA$_ALREADY_OPEN, ADA$_CONSTRAINT_ERRO, ADA$_DATA_ERROR)
706         (ADA$_DEVICE_ERROR, ADA$_END_ERROR, ADA$_FAC_MODE_MISMAT)
707         (ADA$_IOSYSFAILED, ADA$_KEYSIZERR, ADA$_KEY_MISMATCH)
708         (ADA$_LAYOUT_ERROR, ADA$_LINEXCMRS, ADA$_MAXLINEXC)
709         (ADA$_MODE_ERROR, ADA$_MRN_MISMATCH, ADA$_MRS_MISMATCH)
710         (ADA$_NAME_ERROR, ADA$_NOT_OPEN, ADA$_ORG_MISMATCH)
711         (ADA$_PROGRAM_ERROR, ADA$_RAT_MISMATCH, ADA$_RFM_MISMATCH)
712         (ADA$_STAOVF, ADA$_STATUS_ERROR, ADA$_STORAGE_ERROR)
713         (ADA$_UNSUPPORTED, ADA$_USE_ERROR): Likewise.
714         (struct cond_except): Field cond is now an unsigned int.
715         (dec_ada_cond_except_table): Adjust.
716         (cond_except_table): Likewise.
717         (cond_resignal_table): Likewise.
718         (__gnat_default_resignal_p): Fix style.
719
720 2012-02-08  Vincent Celier  <celier@adacore.com>
721
722         * gcc-interface/Make-lang.in: Add g-byorma.o to gnatbind objects
723         (g-buorma is now imported by sinput).
724         Update dependencies.
725         * scn.adb (Initialize_Scanner): Call Check_For_BOM
726         * sinput-p.adb (Source_File_Is_Subunit): Call Check_For_BOM
727         * sinput.adb: New procedure Check_For_BOM
728         * sinput.ads: New procedure Check_For_BOM
729
730 2012-02-08  Vincent Pucci  <pucci@adacore.com>
731
732         * impunit.adb: Dimension package names updated
733         * Makefile.rtl: s-dim added
734         * sem_dim.adb (Is_Procedure_Put_Call): minor changes
735         (Is_Dim_IO_Package_Instantiation): minor changes
736         * sem_dim.ads: minor changes in comments
737         * snames.ads-tmpl: Name_Dim added Name_Dim_Float_IO and
738         Name_Dim_Integer_IO removed
739         * s-dim.ads: New package. Define the dimension terminology.
740         * s-diflio.adb, s-diinio.adb, s-dimkio.ads, s-dimmks.ads,
741         * s-dmotpr.ads: Package names updated.
742         * s-diflio.ads, s-diinio.ads: Documentation added and package
743         names updated.
744
745 2012-02-08  Gary Dismukes  <dismukes@adacore.com>
746
747         * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): Revise test
748         for storage pools to test for an underlying record type rather than
749         testing Is_Tagged_Type, so that simple storage pools will be handled
750         the same as normal Ada storage pools.
751
752 2012-02-08  Yannick Moy  <moy@adacore.com>
753
754         * gnat_rm.texi: Minor reshuffling to place restriction at
755         appropriate place.
756
757 2012-02-08  Bob Duff  <duff@adacore.com>
758
759         * warnsw.adb (Set_Warning_Switch): Set Warn_On_Suspicious_Modulus_Value
760         False for '-gnatwA', to suppress these warnings.
761
762 2012-02-08  Vincent Celier  <celier@adacore.com>
763
764         * sinput-p.adb (Source_File_Is_Subunit): Check for BOM before
765         starting to scan, so that UTF8 encoding is taken into account.
766
767 2012-02-08  Arnaud Charlet  <charlet@adacore.com>
768
769         * s-tasren.adb, s-tasren.ads (Internal_Complete_Rendezvous): New
770         function.
771         (Complete_Rendezvous): Now call Internal_Complete_Rendezvous.
772         (Exceptional_Complete_Rendezvous): Mark No_Return.
773
774 2012-02-08  Eric Botcazou  <ebotcazou@adacore.com>
775
776         * exp_aggr.adb (Compile_Time_Known_Composite_Value):
777         New predicate to compute whether a composite value can be
778         evaluated at compile time.
779         (Component_Not_OK_For_Backend): Use Compile_Time_Known_Value for all
780         expressions of elementary type and Compile_Time_Known_Composite_Value
781         for all other expressions.
782         (Expand_Record_Aggregate): Convert to assignments in the case
783         of a type with mutable components if the aggregate cannot be
784         built statically.
785
786 2012-02-08  Gary Dismukes  <dismukes@adacore.com>
787
788         * aspects.ads (type Aspect_Id): Add Simple_Storage_Pool_Type.
789         (Impl_Defined_Aspects): Add association for
790         Aspect_Simple_Storage_Pool_Type.
791         (Aspect_Names): Add
792         association for Aspect_Simple_Storage_Pool_Type.
793         * aspects.adb:
794         (Canonical_Aspect): Add association for Simple_Storage_Pool_Type.
795         * exp_attr.adb (Expand_N_Attribute_Reference):
796         Change name to Name_Simple_Storage_Pool_Type.
797         * exp_ch4.adb (Expand_N_Allocator): Change
798         name to Name_Simple_Storage_Pool_Type.
799         * exp_intr.adb (Expand_Unc_Deallocation): Change name to
800         Name_Simple_Storage_Pool_Type.  * freeze.adb (Freeze_Entity):
801         Change names to Name_Simple_Storage_Pool_Type.  * par-prag.adb:
802         Change names to Name_Simple_Storage_Pool_Type.  * sem_attr.adb:
803         (Analyze_Attribute): Change name to Name_Simple_Storage_Pool_Type.
804         * sem_ch13.adb (Analyze_Attribute_Definition_Clause):
805         Change name to Name_Simple_Storage_Pool_Type.
806         * sem_prag.adb:
807         (Analyze_Pragma): Change name to Name_Simple_Storage_Pool_Type.
808         (Sig_Flags): Change name to Name_Simple_Storage_Pool_Type.
809         * sem_res.adb (Resolve_Allocator): Change name to
810         Name_Simple_Storage_Pool_Type.  * snames.ads-tmpl:
811         (Name_Simple_Storage_Pool_Type): New name constant.
812         (type Pragma_Id): Change name to Name_Simple_Storage_Pool_Type and
813         move to main pragma section because it no longer matches the
814         attribute name.
815         * snames.adb-tmpl (Get_Pragma_Id): Remove test for
816         Name_Simple_Storage_Pool.
817         (Is_Pragma_Name): Remove test for Name_Simple_Storage_Pool.
818
819 2012-02-08  Robert Dewar  <dewar@adacore.com>
820
821         * gnat_ugn.texi: Add some clarification to -gnatwA and -gnatws.
822
823 2012-02-08  Pascal Obry  <obry@adacore.com>
824
825         * prj.adb (Compute_All_Imported_Projects): Use new
826         For_Project_And_Aggregated_Context to ensure proper context is
827         used for encapsulated aggregate libraries.
828         * prj-proc.adb (Recursive_Process): Call
829         Process_Aggregated_Projects earlier to ensure that all dependent
830         projects are set with the proper encapsulated status.
831
832 2012-02-08  Pascal Obry  <obry@adacore.com>
833
834         * s-os_lib.adb (Normalize_Arguments): Properly escape last \ in null
835         terminated string.
836
837 2012-02-08  Pascal Obry  <obry@adacore.com>
838
839         * prj.ads, prj.adb (For_Project_And_Aggregated_Context): New
840         generic routine with a context parameter.
841
842 2012-02-08  Robert Dewar  <dewar@adacore.com>
843
844         * a-coinve.adb, sem_util.adb, sem_ch8.adb, a-cobove.adb,
845         a-convec.adb: Minor reformatting and code reorganization.
846
847 2012-02-08  Steve Baird  <baird@adacore.com>
848
849         * sem_cat.adb (In_Preelaborated_Unit): A child
850         unit instantiation does not inherit preelaboration requirements
851         from its parent.
852
853 2012-02-08  Gary Dismukes  <dismukes@adacore.com>
854
855         * aspects.ads (type Aspect_Id): Add Aspect_Simple_Storage_Pool.
856         (Impl_Defined_Aspects): Add entry for Aspect_Simple_Storage_Pool.
857         (Aspect_Argument): Add Name entry for Aspect_Simple_Storage_Pool.
858         (Aspect_Names): Add entry for Aspect_Simple_Storage_Pool.
859         * aspects.adb (Canonical_Aspect): Add entry for
860         Aspect_Simple_Storage_Pool.
861         * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of
862         Attribute_Simple_Storage_Pool in the same way as Storage_Pool
863         (add conversion, analyze/resolve). For the Storage_Size attribute,
864         for the simple pool case, locate and use the simple pool type's
865         Storage_Size function (if any), otherwise evaluate to zero.
866         * exp_ch4.adb (Expand_N_Allocator): In the case of an allocator
867         for an access type with an associated simple storage pool,
868         locate and use the pool type's Allocate.
869         * exp_intr.adb (Expand_Unc_Deallocation): In the case where the
870         access type has a simple storage pool, locate the pool type's
871         Deallocate procedure (if present) and use it as the procedure
872         to call on the Free operation.
873         * freeze.adb (Freeze_Entity): In the case of a full type for
874         a private type defined with pragma Simple_Storage_Pool, check
875         that the full type is also appropriate for the pragma. For
876         a simple storage pool type, validate that the operations
877         Allocate, Deallocate (if present), and Storage_Size
878         (if present) are defined with appropriate expected profiles.
879         (Validate_Simple_Pool_Op_Formal): New procedure
880         (Validate_Simple_Pool_Operation): New procedure Add with and
881         use of Rtsfind.
882         * par-prag.adb: Add Pragma_Simple_Storage_Pool to case statement
883         (no action required).
884         * sem_attr.adb (Analyze_Attribute): For the case of the
885         Storage_Pool attribute, give a warning if the prefix type has an
886         associated simple storage pool, and rewrite the attribute as a
887         raise of Program_Error. In the case of the Simple_Storage_Pool
888         attribute, check that the prefix type has an associated simple
889         storage pool, and set the attribute type to the pool's type.
890         * sem_ch13.adb (Analyze_Aspect_Specifications): Add
891         Aspect_Simple_Storage_Pool case choice.
892         (Analyze_Attribute_Definition_Clause): Add
893         Aspect_Simple_Storage_Pool to case for Ignore_Rep_Clauses
894         (no action). Add handling for Simple_Storage_Pool attribute
895         definition, requiring the name to denote a simple storage pool
896         object.
897         (Check_Aspect_At_Freeze_Point): For a simple storage pool
898         aspect, set the type to that of the name specified for the aspect.
899         * sem_prag.adb (Analyze_Pragma): Add handling for pragma
900         Simple_Storage_Pool, requiring that it applies to a library-level
901         type declared in a package declaration that is a limited private
902         or limited record type.
903         * sem_res.adb (Resolve_Allocator): Flag an attempt to call a
904         build-in-place function in an allocator for an access type with
905         a simple storage pool as unsupported.
906         * snames.ads-tmpl: Add Name_Simple_Storage_Pool.
907         (type Attribute_Id): Add Attribute_Simple_Storage_Pool.
908         (type Pragma_Id): Add Pragma_Simple_Storage_Pool.
909         * snames.adb-tmpl (Get_Pragma_Id): Handle case of
910         Name_Simple_Storage_Pool.
911         (Is_Pragma_Name): Return True for Name_Simple_Storage_Pool.
912
913 2012-02-08  Cyrille Comar  <comar@adacore.com>
914
915         * projects.texi: Clarify doc for interfaces.
916
917 2012-02-07  Eric Botcazou  <ebotcazou@adacore.com>
918
919         * gcc-interface/Make-lang.in (GCC_LINKERFLAGS): New variable.
920         (GCC_LINK): Use it.
921
922 2012-02-01  Tristan Gingold  <gingold@adacore.com>
923
924         * gcc-interface/trans.c (Loop_Statement_to_gnu): Use sizetype
925         instead of size_type_node.
926
927 2012-01-30  Nicolas Roche  <roche@adacore.com>
928
929         * gcc-interface/Make-lang.in: Update dependencies.
930         * gcc-interface/Makefile.in: Use system-vxworks-system-ppc-mils.ads
931         when needed.
932         Remove Linker_Options -crtbe when building sjlj run-time.
933
934 2012-01-30  Robert Dewar  <dewar@adacore.com>
935
936         * sem.adb (Analyze): Call Analyze_Mod for N_Op_Mod mode.
937         * sem_ch3.adb (Modular_Type_Declaration): Warn on mod value of
938         form 2 * small-literal.
939         * sem_ch4.adb (Analyze_Mod): New procedure (warn on suspicious
940         mod value).
941         * sem_ch4.ads (Analyze_Mod): New procedure.
942
943 2012-01-30  Ed Schonberg  <schonberg@adacore.com>
944
945         * sem_ch6.adb: sem_ch6.adb (Analyze_Expression_Function): Copy
946         types and return expression when building spec for implicit
947         body, to preserve global references that may be present in an
948         instantiation.
949
950 2012-01-30  Matthew Heaney  <heaney@adacore.com>
951
952         * a-convec.adb, a-coinve.adb, a-cobove.adb (Sort,
953         Reverse_Elements): Check for cursor tampering.
954
955 2012-01-30  Ed Schonberg  <schonberg@adacore.com>
956
957         * sem_util.adb (Is_Fully_Initialized_Type): In Ada 2012, a
958         type with aspect Default_Value or Default_Component_Value is
959         fully initialized, and use of variables of such types do not
960         generate warnings.
961
962 2012-01-30  Javier Miranda  <miranda@adacore.com>
963
964 PR ada/15846
965         * sem_ch8.adb (Analyze_Subprogram_Renaming):
966         Handle self-renaming when the renamed entity is referenced using
967         its expanded name.
968
969 2012-01-30  Vincent Celier  <celier@adacore.com>
970
971         * projects.texi: Add documentation for attribute Interfaces.
972
973 2012-01-30  Hristian Kirtchev  <kirtchev@adacore.com>
974
975         * exp_ch7.adb (Build_Finalizer_Call): Set loc again.
976         * exp_ch11.adb (Expand_At_End_Handler): Do not provide a source
977         location for the wrapped call to the original AT_END routine
978         and the subsequent return statement.
979
980 2012-01-30  Pascal Obry  <obry@adacore.com>
981
982         * s-rannum.adb: Minor reformatting.
983
984 2012-01-30  Hristian Kirtchev  <kirtchev@adacore.com>
985
986         * a-calend-vms.adb, a-calend.adb: Increment the number of leap seconds
987         to 25 and add the hard time value for 2012-06-30.
988
989 2012-01-30  Robert Dewar  <dewar@adacore.com>
990
991         * a-strhas.ads, einfo.adb, einfo.ads, exp_ch7.adb, exp_ch9.adb,
992         freeze.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-proc.adb, s-llflex.ads,
993         s-ransee.adb, s-ransee.ads, sem_ch13.adb, sem_dim.adb, sem_prag.adb:
994         Minor reformatting/code reorganization.
995
996 2012-01-30  Thomas Quinot  <quinot@adacore.com>
997
998         * s-rannum.adb, s-ransee.adb, s-ransee.ads (Get_Seed): Return
999         Unsigned_64 rather than Duration.
1000         (System.Random_Numbers.Reset): Use full value of seed
1001         (do not truncate sub-second bits).
1002
1003 2012-01-30  Thomas Quinot  <quinot@adacore.com>
1004
1005         * sem_cat.adb, sem_ch12.adb: Minor reformatting.
1006
1007 2012-01-30  Yannick Moy  <moy@adacore.com>
1008
1009         * gnat_ugn.texi: Minor correction of GNAT UG, to take into
1010         account changes to -gnatwa and more recent warnings.
1011
1012 2012-01-30  Hristian Kirtchev  <kirtchev@adacore.com>
1013
1014         * exp_ch7.adb (Build_Finalizer_Call): Do not provide a source
1015         location when creating a call to a finalizer.
1016         * exp_ch11.adb (Expand_Exception_Handlers): Do not provide
1017         a source location for the first actual of Save_Occurrence for
1018         consistency sake.
1019
1020 2012-01-30  Ed Schonberg  <schonberg@adacore.com>
1021
1022         * einfo.ads, einfo,adb: New attribute on scalar types:
1023         Default_Aspect_Value New attribute on  array types:
1024         Default_Aspect_Component_Value Move attribute Related_Array_Object
1025         to a different position to accomodate new aspect attributes.
1026         * freeze.adb (Freeze_Entity): Use new attributes to retrieve value
1027         of defaults set with an aspect specification, rather than using
1028         the list of aspects attached to the type, to prevent issues with
1029         partial views.
1030         * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects
1031         Default_Value and Default_Component _Value, store corresponding
1032         expression in type entity.
1033         (Check_Aspect_At_End_Of_Declaration): If the default aspects
1034         are declared on the full view, use the full view to resolve the
1035         correseponding expression.
1036         * exp_ch3.adb (Init_Component): Use attribute
1037         Default_Aspect_Component_Value to perform default initialization,
1038         rather than relying on the rep item list for the type.
1039         (Get_Simple_Init_Val): Ditto.
1040
1041 2012-01-30  Thomas Quinot  <quinot@adacore.com>
1042
1043         * a-strhas.ads: Document risk of collision attack.
1044
1045 2012-01-30  Yannick Moy  <moy@adacore.com>
1046
1047         * gnat_ugn.texi: Minor update wrt warning switches.
1048
1049 2012-01-30  Vincent Celier  <celier@adacore.com>
1050
1051         * prj-nmsc.adb (Check_Interfaces): Report an error when a
1052         unit from Library_Interface is not a unit of the project.
1053
1054 2012-01-30  Vincent Pucci  <pucci@adacore.com>
1055
1056         * sem_prag.adb (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Parent
1057         links fixed inside PPC pragmas.
1058         * sem_ch12.adb: Move call to Make_Aspect_For_PPC_In_Gen_Sub_Decl.
1059
1060 2012-01-30  Thomas Quinot  <quinot@adacore.com>
1061
1062         * s-ransee.ads: Minor reformatting.
1063
1064 2012-01-30  Pascal Obry  <obry@adacore.com>
1065
1066         * prj.ads, prj.adb (For_Each_Source): Add support for skipping
1067         sources coming from an encapsulated library.
1068
1069 2012-01-30  Ed Schonberg  <schonberg@adacore.com>
1070
1071         * sem_ch3.adb (Process-Full_View): fix typo.
1072         * sem_ch13.adb (Aalyze_Aspect_Specifications): if predicates
1073         appear on a private type and the full view is available, ensure
1074         existence of freeze node for full view.
1075         (Build_Predicate_Function): Attach predicate function to both
1076         views of a private type.
1077
1078 2012-01-30  Vincent Celier  <celier@adacore.com>
1079
1080         * prj-nmsc.adb (Check_Interfaces): Compute the Lib_Interface_ALIs
1081         for the project if either attribute Library_Interface or
1082         Interfaces is declared.
1083         (Check_Stand_Alone_Library): Use Lib_Interface_ALIs computed in
1084         Check_Interfaces.
1085
1086 2012-01-30  Pascal Obry  <obry@adacore.com>
1087
1088         * prj-proc.adb (Recursive_Process): Set From_Encapsulated_Lib
1089         boolean value to true in the process list created by this routine.
1090         * prj.ads (Project_List_Element): New field From_Encapsulated_Lib.
1091         Continued work for KA06-021.
1092         * prj.adb (Compute_All_Imported_Projects): Set
1093         From_Encapsulated_Lib boolean flag.
1094
1095 2012-01-30  Vincent Pucci  <pucci@adacore.com>
1096
1097         * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Minor
1098         code clean up.
1099         * s-diflio.ads: Minor change.
1100
1101 2012-01-30  Javier Miranda  <miranda@adacore.com>
1102
1103         * exp_ch9.adb (Build_Dispatching_Requeue): Add missing call
1104         to Get_Entry_Index.  Required to generate code which provides
1105         the correct value of Entry_Index in the target entry.
1106
1107 2012-01-30  Nicolas Roche  <roche@adacore.com>
1108
1109         * system-vxworks-ppc.ads: Add pragma Linker_Options -crtbe to
1110         fix issue with zcx on VxWorks5.
1111
1112 2012-01-30  Pascal Obry  <obry@adacore.com>
1113
1114         * prj.ads, prj.adb (For_Every_Project_Imported): Remove
1115         In_Aggregate_Lib.
1116         (For_Every_Project_Imported_Context): New generic routine with
1117         a context parameter.
1118         * prj-nmsc.adb: Revert to use For_Every_Project_Imported Avoid
1119         distributed complexity.
1120         * prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb: Ditto.
1121
1122 2012-01-30  Thomas Quinot  <quinot@adacore.com>
1123
1124         * exp_aggr.adb (Expand_Record_Aggregate): After creating the
1125         _parent aggregate for an extension aggregate, check whether it
1126         requires delayed (top-down) expansion.
1127
1128 2012-01-30  Vincent Pucci  <pucci@adacore.com>
1129
1130         * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Rewritten.
1131         * snames.ads-tmpl: Name_Item and Name_Symbols added.
1132         * s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads: Rename
1133         and change the position of parameter Symbols in every Put routine.
1134         * s-dimmks.ads: Convert long float type Mks_Type into long
1135         long float.
1136         * s-llflex.ads: Modifications in comments.
1137
1138 2012-01-30  Hristian Kirtchev  <kirtchev@adacore.com>
1139
1140         * sem_ch12.adb (Earlier): Do not use the
1141         top level source locations of the two input nodes.
1142
1143 2012-01-30  Robert Dewar  <dewar@adacore.com>
1144
1145         * einfo.ads, sem_prag.adb, sem_attr.adb, aspects.ads,
1146         sem_cat.adb, sem_aggr.adb, exp_aggr.adb: Minor reformatting.
1147
1148 2012-01-30  Robert Dewar  <dewar@adacore.com>
1149
1150         * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
1151
1152 2012-01-30  Olivier Hainque  <hainque@adacore.com>
1153
1154         * sigtramp-ppcvxw.c (CFI_COMMON_REGS): Add rule for r1 back +
1155         comments.
1156
1157 2012-01-30  Thomas Quinot  <quinot@adacore.com>
1158
1159         * gnat_rm.texi, sem_dist.adb, sem_dist.ads, einfo.ads, sem_prag.adb,
1160         sem_ch12.adb, sem_attr.adb, aspects.adb, aspects.ads, par-prag.adb,
1161         sem_cat.adb, snames.ads-tmpl (Sem_Dist.Is_Valid_Remote_Object_Type):
1162         New subprogram (extracted from
1163         Sem_Cat.Validate_Remote_Access_Object_Type_Declaration).
1164         (Einfo.Is_Remote_Types): Now applies to generic types. Update
1165         documentation accordingly.
1166         (Sem_Ch12.Analyze_Associations): A RACW type is acceptable as
1167         actual for a formal type to which a pragma Remote_Access_Type
1168         applies.
1169         (Aspects, Par.Prag, Sem_Prag): Support for new pramga/aspect
1170         Remote_Access_Type.
1171         (Sem_Attr.Analyze_Attribute, case Stub_Type): Attribute can
1172         be applied to a generic type if pragma Remote_Access_Type
1173         applies, in which case the type of the attribute is
1174         System.Partition_Interface.RACW_Stub_Type.
1175
1176 2012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
1177
1178         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set
1179         an alignment on fields of the RETURN type built for the CICO mechanism.
1180
1181 2012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
1182
1183         * gcc-interface/trans.c (gnat_to_gnu): Avoid making a SAVE_EXPR for
1184         a call to a function that returns an unconstrained type with default
1185         discriminant.  Similarly, avoid doing the conversion to the nominal
1186         result type in this case.
1187
1188 2012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
1189
1190         * gcc-interface/ada-tree.h (DECL_ALIASED_P): New flag.
1191         * gcc-interface/decl.c (is_variable_size): Rename to...
1192         (type_has_variable_size): ...this.
1193         (adjust_packed): Adjust to above renaming.
1194         (gnat_to_gnu_field): Set DECL_ALIASED_P on the field.
1195         (field_is_artificial): New predicate.
1196         (field_is_aliased): Likewise.
1197         (field_has_self_size): Likewise.
1198         (field_has_variable_size): Likewise.
1199         (components_to_record): Record information for the final layout during
1200         the first pass on fields.
1201         If there is an aliased field placed after a field whose length depends
1202         on discriminants, put all the fields of the latter sort, last.
1203
1204 2012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
1205
1206         * gcc-interface/gigi.h (get_minimal_subprog_decl): Declare.
1207         * gcc-interface/decl.c (get_minimal_subprog_decl): New function.
1208         * gcc-interface/trans.c (Attribute_to_gnu): Use it for the prefix of an
1209         Access-like attribute in a dispatch table if the subprogram is public.
1210
1211 2012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
1212
1213         * gcc-interface/gigi.h (create_label_decl): Adjust.
1214         * gcc-interface/utils.c (create_label_decl): Add GNAT_NODE parameter
1215         and invoke gnat_pushdecl on it.  Remove obsolete settings.
1216         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Label>: Adjust call to
1217         create_label_decl.
1218         * gcc-interface/trans.c (gnat_to_gnu) <N_Null): Likewise.  Ignore the
1219         label for debugging purposes.
1220
1221 2012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
1222
1223         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an aliased
1224         object with an unconstrained nominal subtype and if optimization isn't
1225         enabled, create a special VAR_DECL for debugging purposes.
1226
1227 2012-01-23  Robert Dewar  <dewar@adacore.com>
1228
1229         * sem_prag.ads, sem_prag.adb: Minor reformatting.
1230
1231 2012-01-23  Robert Dewar  <dewar@adacore.com>
1232
1233         * sem_ch13.adb (Analyze_Aspect_Specifications): Check for
1234         language defined aspect applied to renaming or formal type
1235         declaration (not permitted)
1236
1237 2012-01-23  Matthew Heaney  <heaney@adacore.com>
1238
1239         * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Vet): Replaced
1240         comment with pragma Assert.
1241
1242 2012-01-23  Vincent Pucci  <pucci@adacore.com>
1243
1244         * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Call
1245         to Make_Aspect_For_PPC_In_Gen_Sub_Decl added in ASIS mode.
1246         * sem_prag.adb, sem_prag.ads (Make_Aspect_For_PPC_In_Gen_Sub_Decl): New
1247         routine. In ASIS mode, convert any PPC pragmas into aspects in generic
1248         subprogram declaration in order to enable the analysis of PPC boolean
1249         expressions.
1250
1251 2012-01-23  Robert Dewar  <dewar@adacore.com>
1252
1253         * sem_ch3.adb (Analyze_Object_Declaration): Properly
1254         handle Current_Value for volatile variables (also propagate
1255         Treat_As_Volatile from type to object).
1256
1257 2012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
1258
1259         * sem_ch12.adb (Install_Body): Detect the case
1260         where the enclosing context is a package with a stub body that
1261         has already been replaced by the actual body. In such cases,
1262         the freeze node for the enclosing context must be inserted after
1263         the real body.
1264
1265 2012-01-23  Ed Schonberg  <schonberg@adacore.com>
1266
1267         * sem_prag.adb (Analyze_Pragma, case Debug): Freeze the called
1268         subprogram before expanding the pragma into an if-statement with
1269         a block, to ensure that when the subprogram is null its body is
1270         properly generated before expansion.
1271
1272 2012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
1273
1274         * sem_ch12.adb (Analyze_Associations): Alphabetize local variables and
1275         constants. Rename Actual_Types to Actuals_To_Freeze. Rename Next_Formal
1276         to Saved_Formal.
1277         Freeze all eligible subprograms which appear as actuals in
1278         the instantiation.
1279         (Has_Fully_Defined_Profile): New routine.
1280         (Renames_Standard_Subprogram): New routine.
1281         (Earlier): Add local variable N. Comment update. Do not use source
1282         locations when trying to determine whether one node precedes another.
1283
1284 2012-01-23  Gary Dismukes  <dismukes@adacore.com>
1285
1286         * exp_ch4.adb (Expand_Concatenate): In the case
1287         where the result of a concatentation can be null, set the to
1288         result have both the low and high bounds of the right operand (not
1289         just the high bound, as was the case prior to this fix). Also,
1290         fix the saved high bound setting (Last_Opnd_High_Bound) in the
1291         empty string literal case (should have been low bound minus one,
1292         rather than plus one).
1293
1294 2012-01-23  Thomas Quinot  <quinot@adacore.com>
1295
1296         * scos.ads, put_scos.adb, get_scos.adb (Get_SCOs, Put_SCOs): Do not
1297         omit statement SCOs for disabled pragmas.
1298
1299 2012-01-23  Matthew Heaney  <heaney@adacore.com>
1300
1301         * a-cohase.ads, a-cihase.ads, a-cbhase.ads, a-coorse.ads,
1302         a-ciorse.ads, a-cborse.ads, a-cohama.ads, a-cihama.ads, a-cbhama.ads,
1303         a-coorma.ads, a-ciorma.ads, a-cborma.ads, a-cdlili.ads, a-cidlli.ads,
1304         a-cbdlli.ads, a-convec.ads, a-coinve.ads, a-cobove.ads (Cursor'Read,
1305         Cursor'Write): Declare in private part.
1306         (Reference_Type'Read, Reference_Type'Write): Ditto.
1307         (Constant_Reference_Type'Read, Constant_Reference_Type'Write): Ditto.
1308
1309 2012-01-23  Robert Dewar  <dewar@adacore.com>
1310
1311         * a-catizo.ads, a-calend.adb, a-calend.ads, par-ch13.adb: Minor
1312         reformatting.
1313
1314 2012-01-23  Ed Schonberg  <schonberg@adacore.com>
1315
1316         * sem_ch6.adb (Analyze_Subprogram_Declaration): Do not set the
1317         Corresponding_Body on a defaulted null formal subprogram.
1318         * sem_ch12.adb (Check_Formal_Package_Instance): No check needed
1319         on a defaulted formal subprogram that is a null procedure.
1320
1321 2012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
1322
1323         * exp_ch9.adb: Update the comments involving pragma Implemented.
1324         * sem_ch3.adb (Check_Pragma_Implemented (Entity_Id)): Add local
1325         constant Subp_Alias and local variable Impl_Subp. Properly
1326         handle aliases of synchronized wrappers. Code cleanup.
1327         (Check_Pragma_Implemented (Entity_Id; Entity_Id)): Add
1328         Name_Optional as part of the condition.
1329         * sem_prag.adb (Analyze_Pragma): Add "Optional" as one of the
1330         valid choices of implementation kind.
1331         (Check_Arg_Is_One_Of): New routine.
1332         * snames.ads-tmlp: Add Name_Optional.
1333
1334 2012-01-23  Ed Schonberg  <schonberg@adacore.com>
1335
1336         * par-ch13.adb: Better error recovery in illegal aspect
1337         specification.
1338
1339 2012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
1340
1341         * a-calend.adb: Add with clause for Interfaces.C. Add constant
1342         Unix_Max.
1343         (Day_Of_Week): Call the internal UTC_Time_Offset.
1344         (Split): Call the internal UTC_Time_Offset.
1345         (Time_Of): Call the internal UTC_Time_Offset.
1346         (Time_Zone_Operations.UTC_Time_Offset): Call internal UTC_Time_Offset.
1347         (UTC_Time_Offset): New library-level routine.
1348         * a-calend.ads (UTC_Time_Offset): Remove parameter
1349         Is_Historic. Update related comment on usage.
1350         * a-catizo.adb (UTC_Time_Offset): Removed.
1351         (UTC_Time_Offset (Time)): Call Time_Zone_Operations.UTC_Time_Offset.
1352         * a-caltizo.ads (UTC_Time_Offset): Removed.
1353         (UTC_Time_Offset (Time)): Add back the default expression of parameter
1354         Date.
1355
1356 2012-01-23  Robert Dewar  <dewar@adacore.com>
1357
1358         * sprint.ads, sprint.adb (Sprint_Node_List): Add New_Lines parameter
1359         (pg,po,ps): Make sure each entry starts on new line.
1360
1361 2012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
1362
1363         * a-calend.ads, a-calend.adb: Define types int and int_Pointer. Update
1364         the parameter profile of procedure localtime_tzoff and its associated
1365         comment.
1366         (Day_Of_Week): Do not treat the input date as historical
1367         with respect to time zones.
1368         (Split): Do not treat the input
1369         date as historical with respect to time zones.  (Time_Of): Do
1370         not treat the input constituents as forming a historical date
1371         with respect to time zones.
1372         (UTC_Time_Offset): Add new formal
1373         parameter Is_Historic. Add local variable Flag. Update the call
1374         to localtime_tzoff.
1375         * a-catizo.ads, a-catizo.adb (UTC_Time_Offset): New routine.
1376         (UTC_Time_Offset (Time)): Update the call to
1377         Time_Zone_Operations.UTC_Time_Offset.
1378         * sysdep.c (__gnat_localtime_tzoff): Update parameter
1379         profile. Split the processing of offsets on Windows into two - one
1380         part of historic time stamps and the other for the current time.
1381
1382 2012-01-23  Robert Dewar  <dewar@adacore.com>
1383
1384         * a-calend.adb: Minor reformatting.
1385
1386 2012-01-23  Ed Schonberg  <schonberg@adacore.com>
1387
1388         * exp_ch9.adb, sem_ch9.adb: Handle array of access to synchronized
1389         interface in requeue statement.
1390
1391 2012-01-23  Cyrille Comar  <comar@adacore.com>
1392
1393         * projects.texi: Remove references to main units and replace
1394         with references to main programs to be coherent with the
1395         documentation.
1396
1397 2012-01-23  Robert Dewar  <dewar@adacore.com>
1398
1399         * s-utf_32.adb: Minor reformatting.
1400
1401 2012-01-23  Vincent Celier  <celier@adacore.com>
1402
1403         * snames.ads-tmpl: Minor comment addition Indicate that
1404         Name_Library_Encapsulated_Options is only used in gprbuild.
1405
1406 2012-01-23  Robert Dewar  <dewar@adacore.com>
1407
1408         * sem_ch10.adb (Analyze_Subunit): Properly save/restore cunit
1409         restrictions.
1410
1411 2012-01-23  Ed Schonberg  <schonberg@adacore.com>
1412
1413         * snames.ads-tmpl: Add Name_Synchronization.
1414         * aspects.ads, aspects.adb: Add Aspect_Synchronization to
1415         enumeration type and related maps.
1416         * sem_ch13.adb (Analyze_Aspect_Specifications): Handle Aspect
1417         Synchronization, build corresponding pragma Implemented.
1418         * sem_util.adb (Implementation_Kind): Handle both explicit and
1419         implicit pragma_argument association to retrieve the given
1420         synchronization mode.
1421
1422 2012-01-23  Robert Dewar  <dewar@adacore.com>
1423
1424         * sem_ch10.adb, errout.adb: Minor reformatting.
1425
1426 2012-01-23  Ed Schonberg  <schonberg@adacore.com>
1427
1428         * sem_res.adb (Resolve_Actuals): An actual in a call to an
1429         Ada 2012 Reference function does not lead to a dangerous order
1430         dependence.
1431
1432 2012-01-23  Gary Dismukes  <dismukes@adacore.com>
1433
1434         * exp_util.adb (Is_Iterated_Container): Test
1435         Is_Entity_Name when searching for calls to the default iterator,
1436         to avoid blowing up on indirect calls which have an explicit
1437         dereference as the call name.
1438
1439 2012-01-23  Thomas Quinot  <quinot@adacore.com>
1440
1441         * errout.adb (Set_Msg_Node): For an N_Expanded_Name, output
1442         the complete expanded name, rather than just its Selector_Name.
1443
1444 2012-01-23  Thomas Quinot  <quinot@adacore.com>
1445
1446         * a-textio.adb (Put): Rewrite one-parameter Character version to
1447         just call the two-parameter one with Current_Out.
1448
1449 2012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
1450
1451         * freeze.adb (Check_Current_Instance): Issue an
1452         error when the prefix of 'Unchecked_Access or 'Access does not
1453         denote a legal aliased view of a type.
1454         (Freeze_Record_Type): Do not halt the processing of record components
1455         once the Has_Controlled_Component is set as this bypasses the remaining
1456         checks.
1457         (Is_Aliased_View_Of_Type): New routine.
1458
1459 2012-01-23  Thomas Quinot  <quinot@adacore.com>
1460
1461         * errout.ads, freeze.adb: Minor reformatting.
1462
1463 2012-01-23  Thomas Quinot  <quinot@adacore.com>
1464
1465         * sem_ch10.adb, sem_prag.adb: Remove redundant apostrophes in error
1466         messages.
1467
1468 2012-01-23  Olivier Hainque  <hainque@adacore.com>
1469
1470         * adadecode.c (__gnat_decode): Deal with empty input early,
1471         preventing potential erroneous memory access later on.
1472
1473 2012-01-21  Eric Botcazou  <ebotcazou@adacore.com>
1474
1475         PR ada/46192
1476         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the case of a
1477         renaming, preserve the volatileness through the indirection, if any.
1478
1479 2012-01-14  Andreas Schwab  <schwab@linux-m68k.org>
1480
1481         * gcc-interface/Makefile.in (OSCONS_EXTRACT): Add
1482         $(GNATLIBCFLAGS).
1483
1484 2012-01-10  Pascal Obry  <obry@adacore.com>
1485
1486         * prj-nmsc.adb (Check_Library_Attributes):
1487         Kill check for object/source directories for aggregate libraries.
1488
1489 2012-01-10  Matthew Heaney  <heaney@adacore.com>
1490
1491         * a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb,
1492         a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads,
1493         a-cborma.adb, a-cborma.ads, a-cidlli.adb, a-cidlli.ads, a-cimutr.adb,
1494         a-cimutr.ads, a-cihase.adb, a-cihase.ads, a-cohama.adb, a-cohama.ads,
1495         a-coorse.adb, a-coorse.ads, a-cbhama.adb, a-cbhama.ads, a-cborse.adb,
1496         a-cborse.ads, a-comutr.adb, a-comutr.ads, a-ciorma.adb, a-cobove.adb,
1497         a-ciorma.ads, a-cobove.ads, a-convec.adb, a-convec.ads, a-cohase.adb,
1498         a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbmutr.adb, a-cbmutr.ads,
1499         a-cbhase.adb, a-cbhase.ads (Reference, Constant_Reference): Declare
1500         container parameter as aliased in/in out.
1501         Code clean ups.
1502
1503 2012-01-10  Bob Duff  <duff@adacore.com>
1504
1505         * s-os_lib.ads: Improve comment.
1506
1507 2012-01-10  Geert Bosch  <bosch@adacore.com>
1508
1509         * s-gearop.adb (Forward_Eliminate): Avoid improper aliasing
1510         for complex Scalar.
1511
1512 2012-01-10  Bob Duff  <duff@adacore.com>
1513
1514         * sem_intr.adb (Check_Shift): Use RM_Size instead of Esize, when
1515         checking that the 'Size is correct. If the type is "mod 2**12",
1516         for example, it's illegal, but Esize is the 'Object_Size, which
1517         will be something like 16 or 32, so the error ('Size = 12) was
1518         not detected.
1519         * gnat_rm.texi: Improve documentation of shift
1520         and rotate intrinsics.
1521
1522 2012-01-10  Pascal Obry  <obry@adacore.com>
1523
1524         * prj.adb (For_Every_Project_Imported): Fix
1525         implementation to make sure we return each project only once
1526         for aggragte libraries. It is fine to return a project twice for
1527         aggregate projects, this was the case as a Project_Id is different
1528         in each project tree. The new implementation use a table based on
1529         the project name to ensure proper detection of duplicate project
1530         in aggregate library. A new context is then created to continue
1531         retrurning duplicate project for aggregate libraries.
1532
1533 2012-01-09  Eric Botcazou  <ebotcazou@adacore.com>
1534
1535         * gcc-interface/trans.c (call_to_gnu): Create the temporary for the
1536         return value in the variable-sized return type case if the target is
1537         an array with fixed size.  However, do not create it if this is the
1538         expression of an object declaration.
1539
1540 2012-01-09  Eric Botcazou  <ebotcazou@adacore.com>
1541
1542         * gcc-interface/trans.c (addressable_p) <COMPONENT_REF>: Fix thinko.
1543
1544 2012-01-06  Robert Dewar  <dewar@adacore.com>
1545
1546         * a-wichha.ads, a-wichun.ads, a-zchhan.ads, a-zchuni.ads,
1547         s-utf_32.ads: Add pragma Pure
1548         * s-utf_32.adb: Suppress warnings on non-static constants (now
1549         that this is Pure).
1550
1551 2012-01-06  Bob Duff  <duff@adacore.com>
1552
1553         * s-rpc.ads (Read, Write): Add overriding indicators.
1554
1555 2012-01-06  Robert Dewar  <dewar@adacore.com>
1556
1557         * gnat_rm.texi: Add documentation for conventions
1558         Ada_Pass_By_Copy and Ada_Pass_By_Reference.
1559
1560 2012-01-06  Gary Dismukes  <dismukes@adacore.com>
1561
1562         * a-tienio.adb (Put): Add exception message on
1563         raise statements. Remove unneeded blocks and object declarations.
1564
1565 2012-01-06  Robert Dewar  <dewar@adacore.com>
1566
1567         * sem_prag.adb: Minor reformatting.
1568
1569 2012-01-06  Ed Schonberg  <schonberg@adacore.com>
1570
1571         * sinfo.ads, sinfo.adb (Has_Prefixed_Call): New flag to indicate
1572         that a selected component within a generic unit has been resolved
1573         as a prefixed call with local references.
1574         * sem_ch3.adb (Is_Visible_Component): In an instance body a selected
1575         component is always visible.
1576         * sem_ch4.adb (Analyze_Selected_Component): If the node is a
1577         prefixed call in an instance, do not look for visible components
1578         of the type.
1579         * sem_ch12.adb (Reset_Entity): If a selected component has resolved
1580         to a prefixed call, mark the node accordingly when prefix and
1581         selector are local references.
1582
1583 2012-01-02  Eric Botcazou  <ebotcazou@adacore.com>
1584
1585         * gnatvsn.ads (Current_Year): Bump to 2012.
1586 \f
1587 Copyright (C) 2012 Free Software Foundation, Inc.
1588
1589 Copying and distribution of this file, with or without modification,
1590 are permitted in any medium without royalty provided the copyright
1591 notice and this notice are preserved.