OSDN Git Service

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