OSDN Git Service

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