OSDN Git Service

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