OSDN Git Service

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