OSDN Git Service

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