OSDN Git Service

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