OSDN Git Service

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