OSDN Git Service

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