OSDN Git Service

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