OSDN Git Service

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