OSDN Git Service

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