OSDN Git Service

2012-02-17 Robert Dewar <dewar@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2012-02-17  Robert Dewar  <dewar@adacore.com>
2
3         * sem_dim.adb, sem_dim.ads, s-tasren.adb, prj.adb, prj.ads, freeze.adb,
4         sem_res.adb, exp_ch4.adb, sinput.adb, sinput.ads, exp_aggr.adb,
5         exp_intr.adb, s-os_lib.adb: Minor reformatting.
6
7 2012-02-17  Ed Schonberg  <schonberg@adacore.com>
8
9         * sem_ch6.adb (Is_Non_Overriding_Operation): Add warning if the
10         old operation is abstract, the relevant type is not abstract,
11         and the new subprogram fails to override.
12
13 2012-02-15  Eric Botcazou  <ebotcazou@adacore.com>
14
15         * gcc-interface/trans.c (Identifier_to_gnu): Move block retrieving the
16         type of the result to the end and execute it for a deferred constant of
17         a discriminated type whose full view can be elaborated statically.
18
19 2012-02-15  Eric Botcazou  <ebotcazou@adacore.com>
20
21         * gcc-interface/trans.c (gnat_to_gnu) <N_Qualified_Expression>: If the
22         type is tagged, mark it as used for debugging purposes.
23         <N_Allocator>: Likewise for a qualified expression.
24
25 2012-02-15  Eric Botcazou  <ebotcazou@adacore.com>
26
27         * gcc-interface/trans.c (call_to_gnu): Create the temporary for the
28         return value in the by-reference return type case if this isn't the
29         expression of an object declaration.  Tidy up.
30
31 2012-02-09  Tristan Gingold  <gingold@adacore.com>
32
33         * gcc-interface/Makefile.in: Remove .sym rule (not used).
34         Remove adamsg.o object (requires native message compiler).
35         * init.c (CMA$_EXIT_THREAD, MTH$_FLOOVEMAT, SS$_INTDIV): Define as a
36         macro instead of as extern int.
37         (ADA$_ALREADY_OPEN, ADA$_CONSTRAINT_ERRO, ADA$_DATA_ERROR)
38         (ADA$_DEVICE_ERROR, ADA$_END_ERROR, ADA$_FAC_MODE_MISMAT)
39         (ADA$_IOSYSFAILED, ADA$_KEYSIZERR, ADA$_KEY_MISMATCH)
40         (ADA$_LAYOUT_ERROR, ADA$_LINEXCMRS, ADA$_MAXLINEXC)
41         (ADA$_MODE_ERROR, ADA$_MRN_MISMATCH, ADA$_MRS_MISMATCH)
42         (ADA$_NAME_ERROR, ADA$_NOT_OPEN, ADA$_ORG_MISMATCH)
43         (ADA$_PROGRAM_ERROR, ADA$_RAT_MISMATCH, ADA$_RFM_MISMATCH)
44         (ADA$_STAOVF, ADA$_STATUS_ERROR, ADA$_STORAGE_ERROR)
45         (ADA$_UNSUPPORTED, ADA$_USE_ERROR): Likewise.
46         (struct cond_except): Field cond is now an unsigned int.
47         (dec_ada_cond_except_table): Adjust.
48         (cond_except_table): Likewise.
49         (cond_resignal_table): Likewise.
50         (__gnat_default_resignal_p): Fix style.
51
52 2012-02-08  Vincent Celier  <celier@adacore.com>
53
54         * gcc-interface/Make-lang.in: Add g-byorma.o to gnatbind objects
55         (g-buorma is now imported by sinput).
56         Update dependencies.
57         * scn.adb (Initialize_Scanner): Call Check_For_BOM
58         * sinput-p.adb (Source_File_Is_Subunit): Call Check_For_BOM
59         * sinput.adb: New procedure Check_For_BOM
60         * sinput.ads: New procedure Check_For_BOM
61
62 2012-02-08  Vincent Pucci  <pucci@adacore.com>
63
64         * impunit.adb: Dimension package names updated
65         * Makefile.rtl: s-dim added
66         * sem_dim.adb (Is_Procedure_Put_Call): minor changes
67         (Is_Dim_IO_Package_Instantiation): minor changes
68         * sem_dim.ads: minor changes in comments
69         * snames.ads-tmpl: Name_Dim added Name_Dim_Float_IO and
70         Name_Dim_Integer_IO removed
71         * s-dim.ads: New package. Define the dimension terminology.
72         * s-diflio.adb, s-diinio.adb, s-dimkio.ads, s-dimmks.ads,
73         * s-dmotpr.ads: Package names updated.
74         * s-diflio.ads, s-diinio.ads: Documentation added and package
75         names updated.
76
77 2012-02-08  Gary Dismukes  <dismukes@adacore.com>
78
79         * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): Revise test
80         for storage pools to test for an underlying record type rather than
81         testing Is_Tagged_Type, so that simple storage pools will be handled
82         the same as normal Ada storage pools.
83
84 2012-02-08  Yannick Moy  <moy@adacore.com>
85
86         * gnat_rm.texi: Minor reshuffling to place restriction at
87         appropriate place.
88
89 2012-02-08  Bob Duff  <duff@adacore.com>
90
91         * warnsw.adb (Set_Warning_Switch): Set Warn_On_Suspicious_Modulus_Value
92         False for '-gnatwA', to suppress these warnings.
93
94 2012-02-08  Vincent Celier  <celier@adacore.com>
95
96         * sinput-p.adb (Source_File_Is_Subunit): Check for BOM before
97         starting to scan, so that UTF8 encoding is taken into account.
98
99 2012-02-08  Arnaud Charlet  <charlet@adacore.com>
100
101         * s-tasren.adb, s-tasren.ads (Internal_Complete_Rendezvous): New
102         function.
103         (Complete_Rendezvous): Now call Internal_Complete_Rendezvous.
104         (Exceptional_Complete_Rendezvous): Mark No_Return.
105
106 2012-02-08  Eric Botcazou  <ebotcazou@adacore.com>
107
108         * exp_aggr.adb (Compile_Time_Known_Composite_Value):
109         New predicate to compute whether a composite value can be
110         evaluated at compile time.
111         (Component_Not_OK_For_Backend): Use Compile_Time_Known_Value for all
112         expressions of elementary type and Compile_Time_Known_Composite_Value
113         for all other expressions.
114         (Expand_Record_Aggregate): Convert to assignments in the case
115         of a type with mutable components if the aggregate cannot be
116         built statically.
117
118 2012-02-08  Gary Dismukes  <dismukes@adacore.com>
119
120         * aspects.ads (type Aspect_Id): Add Simple_Storage_Pool_Type.
121         (Impl_Defined_Aspects): Add association for
122         Aspect_Simple_Storage_Pool_Type.
123         (Aspect_Names): Add
124         association for Aspect_Simple_Storage_Pool_Type.
125         * aspects.adb:
126         (Canonical_Aspect): Add association for Simple_Storage_Pool_Type.
127         * exp_attr.adb (Expand_N_Attribute_Reference):
128         Change name to Name_Simple_Storage_Pool_Type.
129         * exp_ch4.adb (Expand_N_Allocator): Change
130         name to Name_Simple_Storage_Pool_Type.
131         * exp_intr.adb (Expand_Unc_Deallocation): Change name to
132         Name_Simple_Storage_Pool_Type.  * freeze.adb (Freeze_Entity):
133         Change names to Name_Simple_Storage_Pool_Type.  * par-prag.adb:
134         Change names to Name_Simple_Storage_Pool_Type.  * sem_attr.adb:
135         (Analyze_Attribute): Change name to Name_Simple_Storage_Pool_Type.
136         * sem_ch13.adb (Analyze_Attribute_Definition_Clause):
137         Change name to Name_Simple_Storage_Pool_Type.
138         * sem_prag.adb:
139         (Analyze_Pragma): Change name to Name_Simple_Storage_Pool_Type.
140         (Sig_Flags): Change name to Name_Simple_Storage_Pool_Type.
141         * sem_res.adb (Resolve_Allocator): Change name to
142         Name_Simple_Storage_Pool_Type.  * snames.ads-tmpl:
143         (Name_Simple_Storage_Pool_Type): New name constant.
144         (type Pragma_Id): Change name to Name_Simple_Storage_Pool_Type and
145         move to main pragma section because it no longer matches the
146         attribute name.
147         * snames.adb-tmpl (Get_Pragma_Id): Remove test for
148         Name_Simple_Storage_Pool.
149         (Is_Pragma_Name): Remove test for Name_Simple_Storage_Pool.
150
151 2012-02-08  Robert Dewar  <dewar@adacore.com>
152
153         * gnat_ugn.texi: Add some clarification to -gnatwA and -gnatws.
154
155 2012-02-08  Pascal Obry  <obry@adacore.com>
156
157         * prj.adb (Compute_All_Imported_Projects): Use new
158         For_Project_And_Aggregated_Context to ensure proper context is
159         used for encapsulated aggregate libraries.
160         * prj-proc.adb (Recursive_Process): Call
161         Process_Aggregated_Projects earlier to ensure that all dependent
162         projects are set with the proper encapsulated status.
163
164 2012-02-08  Pascal Obry  <obry@adacore.com>
165
166         * s-os_lib.adb (Normalize_Arguments): Properly escape last \ in null
167         terminated string.
168
169 2012-02-08  Pascal Obry  <obry@adacore.com>
170
171         * prj.ads, prj.adb (For_Project_And_Aggregated_Context): New
172         generic routine with a context parameter.
173
174 2012-02-08  Robert Dewar  <dewar@adacore.com>
175
176         * a-coinve.adb, sem_util.adb, sem_ch8.adb, a-cobove.adb,
177         a-convec.adb: Minor reformatting and code reorganization.
178
179 2012-02-08  Steve Baird  <baird@adacore.com>
180
181         * sem_cat.adb (In_Preelaborated_Unit): A child
182         unit instantiation does not inherit preelaboration requirements
183         from its parent.
184
185 2012-02-08  Gary Dismukes  <dismukes@adacore.com>
186
187         * aspects.ads (type Aspect_Id): Add Aspect_Simple_Storage_Pool.
188         (Impl_Defined_Aspects): Add entry for Aspect_Simple_Storage_Pool.
189         (Aspect_Argument): Add Name entry for Aspect_Simple_Storage_Pool.
190         (Aspect_Names): Add entry for Aspect_Simple_Storage_Pool.
191         * aspects.adb (Canonical_Aspect): Add entry for
192         Aspect_Simple_Storage_Pool.
193         * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of
194         Attribute_Simple_Storage_Pool in the same way as Storage_Pool
195         (add conversion, analyze/resolve). For the Storage_Size attribute,
196         for the simple pool case, locate and use the simple pool type's
197         Storage_Size function (if any), otherwise evaluate to zero.
198         * exp_ch4.adb (Expand_N_Allocator): In the case of an allocator
199         for an access type with an associated simple storage pool,
200         locate and use the pool type's Allocate.
201         * exp_intr.adb (Expand_Unc_Deallocation): In the case where the
202         access type has a simple storage pool, locate the pool type's
203         Deallocate procedure (if present) and use it as the procedure
204         to call on the Free operation.
205         * freeze.adb (Freeze_Entity): In the case of a full type for
206         a private type defined with pragma Simple_Storage_Pool, check
207         that the full type is also appropriate for the pragma. For
208         a simple storage pool type, validate that the operations
209         Allocate, Deallocate (if present), and Storage_Size
210         (if present) are defined with appropriate expected profiles.
211         (Validate_Simple_Pool_Op_Formal): New procedure
212         (Validate_Simple_Pool_Operation): New procedure Add with and
213         use of Rtsfind.
214         * par-prag.adb: Add Pragma_Simple_Storage_Pool to case statement
215         (no action required).
216         * sem_attr.adb (Analyze_Attribute): For the case of the
217         Storage_Pool attribute, give a warning if the prefix type has an
218         associated simple storage pool, and rewrite the attribute as a
219         raise of Program_Error. In the case of the Simple_Storage_Pool
220         attribute, check that the prefix type has an associated simple
221         storage pool, and set the attribute type to the pool's type.
222         * sem_ch13.adb (Analyze_Aspect_Specifications): Add
223         Aspect_Simple_Storage_Pool case choice.
224         (Analyze_Attribute_Definition_Clause): Add
225         Aspect_Simple_Storage_Pool to case for Ignore_Rep_Clauses
226         (no action). Add handling for Simple_Storage_Pool attribute
227         definition, requiring the name to denote a simple storage pool
228         object.
229         (Check_Aspect_At_Freeze_Point): For a simple storage pool
230         aspect, set the type to that of the name specified for the aspect.
231         * sem_prag.adb (Analyze_Pragma): Add handling for pragma
232         Simple_Storage_Pool, requiring that it applies to a library-level
233         type declared in a package declaration that is a limited private
234         or limited record type.
235         * sem_res.adb (Resolve_Allocator): Flag an attempt to call a
236         build-in-place function in an allocator for an access type with
237         a simple storage pool as unsupported.
238         * snames.ads-tmpl: Add Name_Simple_Storage_Pool.
239         (type Attribute_Id): Add Attribute_Simple_Storage_Pool.
240         (type Pragma_Id): Add Pragma_Simple_Storage_Pool.
241         * snames.adb-tmpl (Get_Pragma_Id): Handle case of
242         Name_Simple_Storage_Pool.
243         (Is_Pragma_Name): Return True for Name_Simple_Storage_Pool.
244
245 2012-02-08  Cyrille Comar  <comar@adacore.com>
246
247         * projects.texi: Clarify doc for interfaces.
248
249 2012-02-07  Eric Botcazou  <ebotcazou@adacore.com>
250
251         * gcc-interface/Make-lang.in (GCC_LINKERFLAGS): New variable.
252         (GCC_LINK): Use it.
253
254 2012-02-01  Tristan Gingold  <gingold@adacore.com>
255
256         * gcc-interface/trans.c (Loop_Statement_to_gnu): Use sizetype
257         instead of size_type_node.
258
259 2012-01-30  Nicolas Roche  <roche@adacore.com>
260
261         * gcc-interface/Make-lang.in: Update dependencies.
262         * gcc-interface/Makefile.in: Use system-vxworks-system-ppc-mils.ads
263         when needed.
264         Remove Linker_Options -crtbe when building sjlj run-time.
265
266 2012-01-30  Robert Dewar  <dewar@adacore.com>
267
268         * sem.adb (Analyze): Call Analyze_Mod for N_Op_Mod mode.
269         * sem_ch3.adb (Modular_Type_Declaration): Warn on mod value of
270         form 2 * small-literal.
271         * sem_ch4.adb (Analyze_Mod): New procedure (warn on suspicious
272         mod value).
273         * sem_ch4.ads (Analyze_Mod): New procedure.
274
275 2012-01-30  Ed Schonberg  <schonberg@adacore.com>
276
277         * sem_ch6.adb: sem_ch6.adb (Analyze_Expression_Function): Copy
278         types and return expression when building spec for implicit
279         body, to preserve global references that may be present in an
280         instantiation.
281
282 2012-01-30  Matthew Heaney  <heaney@adacore.com>
283
284         * a-convec.adb, a-coinve.adb, a-cobove.adb (Sort,
285         Reverse_Elements): Check for cursor tampering.
286
287 2012-01-30  Ed Schonberg  <schonberg@adacore.com>
288
289         * sem_util.adb (Is_Fully_Initialized_Type): In Ada 2012, a
290         type with aspect Default_Value or Default_Component_Value is
291         fully initialized, and use of variables of such types do not
292         generate warnings.
293
294 2012-01-30  Javier Miranda  <miranda@adacore.com>
295
296 PR ada/15846
297         * sem_ch8.adb (Analyze_Subprogram_Renaming):
298         Handle self-renaming when the renamed entity is referenced using
299         its expanded name.
300
301 2012-01-30  Vincent Celier  <celier@adacore.com>
302
303         * projects.texi: Add documentation for attribute Interfaces.
304
305 2012-01-30  Hristian Kirtchev  <kirtchev@adacore.com>
306
307         * exp_ch7.adb (Build_Finalizer_Call): Set loc again.
308         * exp_ch11.adb (Expand_At_End_Handler): Do not provide a source
309         location for the wrapped call to the original AT_END routine
310         and the subsequent return statement.
311
312 2012-01-30  Pascal Obry  <obry@adacore.com>
313
314         * s-rannum.adb: Minor reformatting.
315
316 2012-01-30  Hristian Kirtchev  <kirtchev@adacore.com>
317
318         * a-calend-vms.adb, a-calend.adb: Increment the number of leap seconds
319         to 25 and add the hard time value for 2012-06-30.
320
321 2012-01-30  Robert Dewar  <dewar@adacore.com>
322
323         * a-strhas.ads, einfo.adb, einfo.ads, exp_ch7.adb, exp_ch9.adb,
324         freeze.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-proc.adb, s-llflex.ads,
325         s-ransee.adb, s-ransee.ads, sem_ch13.adb, sem_dim.adb, sem_prag.adb:
326         Minor reformatting/code reorganization.
327
328 2012-01-30  Thomas Quinot  <quinot@adacore.com>
329
330         * s-rannum.adb, s-ransee.adb, s-ransee.ads (Get_Seed): Return
331         Unsigned_64 rather than Duration.
332         (System.Random_Numbers.Reset): Use full value of seed
333         (do not truncate sub-second bits).
334
335 2012-01-30  Thomas Quinot  <quinot@adacore.com>
336
337         * sem_cat.adb, sem_ch12.adb: Minor reformatting.
338
339 2012-01-30  Yannick Moy  <moy@adacore.com>
340
341         * gnat_ugn.texi: Minor correction of GNAT UG, to take into
342         account changes to -gnatwa and more recent warnings.
343
344 2012-01-30  Hristian Kirtchev  <kirtchev@adacore.com>
345
346         * exp_ch7.adb (Build_Finalizer_Call): Do not provide a source
347         location when creating a call to a finalizer.
348         * exp_ch11.adb (Expand_Exception_Handlers): Do not provide
349         a source location for the first actual of Save_Occurrence for
350         consistency sake.
351
352 2012-01-30  Ed Schonberg  <schonberg@adacore.com>
353
354         * einfo.ads, einfo,adb: New attribute on scalar types:
355         Default_Aspect_Value New attribute on  array types:
356         Default_Aspect_Component_Value Move attribute Related_Array_Object
357         to a different position to accomodate new aspect attributes.
358         * freeze.adb (Freeze_Entity): Use new attributes to retrieve value
359         of defaults set with an aspect specification, rather than using
360         the list of aspects attached to the type, to prevent issues with
361         partial views.
362         * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects
363         Default_Value and Default_Component _Value, store corresponding
364         expression in type entity.
365         (Check_Aspect_At_End_Of_Declaration): If the default aspects
366         are declared on the full view, use the full view to resolve the
367         correseponding expression.
368         * exp_ch3.adb (Init_Component): Use attribute
369         Default_Aspect_Component_Value to perform default initialization,
370         rather than relying on the rep item list for the type.
371         (Get_Simple_Init_Val): Ditto.
372
373 2012-01-30  Thomas Quinot  <quinot@adacore.com>
374
375         * a-strhas.ads: Document risk of collision attack.
376
377 2012-01-30  Yannick Moy  <moy@adacore.com>
378
379         * gnat_ugn.texi: Minor update wrt warning switches.
380
381 2012-01-30  Vincent Celier  <celier@adacore.com>
382
383         * prj-nmsc.adb (Check_Interfaces): Report an error when a
384         unit from Library_Interface is not a unit of the project.
385
386 2012-01-30  Vincent Pucci  <pucci@adacore.com>
387
388         * sem_prag.adb (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Parent
389         links fixed inside PPC pragmas.
390         * sem_ch12.adb: Move call to Make_Aspect_For_PPC_In_Gen_Sub_Decl.
391
392 2012-01-30  Thomas Quinot  <quinot@adacore.com>
393
394         * s-ransee.ads: Minor reformatting.
395
396 2012-01-30  Pascal Obry  <obry@adacore.com>
397
398         * prj.ads, prj.adb (For_Each_Source): Add support for skipping
399         sources coming from an encapsulated library.
400
401 2012-01-30  Ed Schonberg  <schonberg@adacore.com>
402
403         * sem_ch3.adb (Process-Full_View): fix typo.
404         * sem_ch13.adb (Aalyze_Aspect_Specifications): if predicates
405         appear on a private type and the full view is available, ensure
406         existence of freeze node for full view.
407         (Build_Predicate_Function): Attach predicate function to both
408         views of a private type.
409
410 2012-01-30  Vincent Celier  <celier@adacore.com>
411
412         * prj-nmsc.adb (Check_Interfaces): Compute the Lib_Interface_ALIs
413         for the project if either attribute Library_Interface or
414         Interfaces is declared.
415         (Check_Stand_Alone_Library): Use Lib_Interface_ALIs computed in
416         Check_Interfaces.
417
418 2012-01-30  Pascal Obry  <obry@adacore.com>
419
420         * prj-proc.adb (Recursive_Process): Set From_Encapsulated_Lib
421         boolean value to true in the process list created by this routine.
422         * prj.ads (Project_List_Element): New field From_Encapsulated_Lib.
423         Continued work for KA06-021.
424         * prj.adb (Compute_All_Imported_Projects): Set
425         From_Encapsulated_Lib boolean flag.
426
427 2012-01-30  Vincent Pucci  <pucci@adacore.com>
428
429         * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Minor
430         code clean up.
431         * s-diflio.ads: Minor change.
432
433 2012-01-30  Javier Miranda  <miranda@adacore.com>
434
435         * exp_ch9.adb (Build_Dispatching_Requeue): Add missing call
436         to Get_Entry_Index.  Required to generate code which provides
437         the correct value of Entry_Index in the target entry.
438
439 2012-01-30  Nicolas Roche  <roche@adacore.com>
440
441         * system-vxworks-ppc.ads: Add pragma Linker_Options -crtbe to
442         fix issue with zcx on VxWorks5.
443
444 2012-01-30  Pascal Obry  <obry@adacore.com>
445
446         * prj.ads, prj.adb (For_Every_Project_Imported): Remove
447         In_Aggregate_Lib.
448         (For_Every_Project_Imported_Context): New generic routine with
449         a context parameter.
450         * prj-nmsc.adb: Revert to use For_Every_Project_Imported Avoid
451         distributed complexity.
452         * prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb: Ditto.
453
454 2012-01-30  Thomas Quinot  <quinot@adacore.com>
455
456         * exp_aggr.adb (Expand_Record_Aggregate): After creating the
457         _parent aggregate for an extension aggregate, check whether it
458         requires delayed (top-down) expansion.
459
460 2012-01-30  Vincent Pucci  <pucci@adacore.com>
461
462         * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Rewritten.
463         * snames.ads-tmpl: Name_Item and Name_Symbols added.
464         * s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads: Rename
465         and change the position of parameter Symbols in every Put routine.
466         * s-dimmks.ads: Convert long float type Mks_Type into long
467         long float.
468         * s-llflex.ads: Modifications in comments.
469
470 2012-01-30  Hristian Kirtchev  <kirtchev@adacore.com>
471
472         * sem_ch12.adb (Earlier): Do not use the
473         top level source locations of the two input nodes.
474
475 2012-01-30  Robert Dewar  <dewar@adacore.com>
476
477         * einfo.ads, sem_prag.adb, sem_attr.adb, aspects.ads,
478         sem_cat.adb, sem_aggr.adb, exp_aggr.adb: Minor reformatting.
479
480 2012-01-30  Robert Dewar  <dewar@adacore.com>
481
482         * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
483
484 2012-01-30  Olivier Hainque  <hainque@adacore.com>
485
486         * sigtramp-ppcvxw.c (CFI_COMMON_REGS): Add rule for r1 back +
487         comments.
488
489 2012-01-30  Thomas Quinot  <quinot@adacore.com>
490
491         * gnat_rm.texi, sem_dist.adb, sem_dist.ads, einfo.ads, sem_prag.adb,
492         sem_ch12.adb, sem_attr.adb, aspects.adb, aspects.ads, par-prag.adb,
493         sem_cat.adb, snames.ads-tmpl (Sem_Dist.Is_Valid_Remote_Object_Type):
494         New subprogram (extracted from
495         Sem_Cat.Validate_Remote_Access_Object_Type_Declaration).
496         (Einfo.Is_Remote_Types): Now applies to generic types. Update
497         documentation accordingly.
498         (Sem_Ch12.Analyze_Associations): A RACW type is acceptable as
499         actual for a formal type to which a pragma Remote_Access_Type
500         applies.
501         (Aspects, Par.Prag, Sem_Prag): Support for new pramga/aspect
502         Remote_Access_Type.
503         (Sem_Attr.Analyze_Attribute, case Stub_Type): Attribute can
504         be applied to a generic type if pragma Remote_Access_Type
505         applies, in which case the type of the attribute is
506         System.Partition_Interface.RACW_Stub_Type.
507
508 2012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
509
510         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set
511         an alignment on fields of the RETURN type built for the CICO mechanism.
512
513 2012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
514
515         * gcc-interface/trans.c (gnat_to_gnu): Avoid making a SAVE_EXPR for
516         a call to a function that returns an unconstrained type with default
517         discriminant.  Similarly, avoid doing the conversion to the nominal
518         result type in this case.
519
520 2012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
521
522         * gcc-interface/ada-tree.h (DECL_ALIASED_P): New flag.
523         * gcc-interface/decl.c (is_variable_size): Rename to...
524         (type_has_variable_size): ...this.
525         (adjust_packed): Adjust to above renaming.
526         (gnat_to_gnu_field): Set DECL_ALIASED_P on the field.
527         (field_is_artificial): New predicate.
528         (field_is_aliased): Likewise.
529         (field_has_self_size): Likewise.
530         (field_has_variable_size): Likewise.
531         (components_to_record): Record information for the final layout during
532         the first pass on fields.
533         If there is an aliased field placed after a field whose length depends
534         on discriminants, put all the fields of the latter sort, last.
535
536 2012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
537
538         * gcc-interface/gigi.h (get_minimal_subprog_decl): Declare.
539         * gcc-interface/decl.c (get_minimal_subprog_decl): New function.
540         * gcc-interface/trans.c (Attribute_to_gnu): Use it for the prefix of an
541         Access-like attribute in a dispatch table if the subprogram is public.
542
543 2012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
544
545         * gcc-interface/gigi.h (create_label_decl): Adjust.
546         * gcc-interface/utils.c (create_label_decl): Add GNAT_NODE parameter
547         and invoke gnat_pushdecl on it.  Remove obsolete settings.
548         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Label>: Adjust call to
549         create_label_decl.
550         * gcc-interface/trans.c (gnat_to_gnu) <N_Null): Likewise.  Ignore the
551         label for debugging purposes.
552
553 2012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
554
555         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an aliased
556         object with an unconstrained nominal subtype and if optimization isn't
557         enabled, create a special VAR_DECL for debugging purposes.
558
559 2012-01-23  Robert Dewar  <dewar@adacore.com>
560
561         * sem_prag.ads, sem_prag.adb: Minor reformatting.
562
563 2012-01-23  Robert Dewar  <dewar@adacore.com>
564
565         * sem_ch13.adb (Analyze_Aspect_Specifications): Check for
566         language defined aspect applied to renaming or formal type
567         declaration (not permitted)
568
569 2012-01-23  Matthew Heaney  <heaney@adacore.com>
570
571         * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Vet): Replaced
572         comment with pragma Assert.
573
574 2012-01-23  Vincent Pucci  <pucci@adacore.com>
575
576         * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Call
577         to Make_Aspect_For_PPC_In_Gen_Sub_Decl added in ASIS mode.
578         * sem_prag.adb, sem_prag.ads (Make_Aspect_For_PPC_In_Gen_Sub_Decl): New
579         routine. In ASIS mode, convert any PPC pragmas into aspects in generic
580         subprogram declaration in order to enable the analysis of PPC boolean
581         expressions.
582
583 2012-01-23  Robert Dewar  <dewar@adacore.com>
584
585         * sem_ch3.adb (Analyze_Object_Declaration): Properly
586         handle Current_Value for volatile variables (also propagate
587         Treat_As_Volatile from type to object).
588
589 2012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
590
591         * sem_ch12.adb (Install_Body): Detect the case
592         where the enclosing context is a package with a stub body that
593         has already been replaced by the actual body. In such cases,
594         the freeze node for the enclosing context must be inserted after
595         the real body.
596
597 2012-01-23  Ed Schonberg  <schonberg@adacore.com>
598
599         * sem_prag.adb (Analyze_Pragma, case Debug): Freeze the called
600         subprogram before expanding the pragma into an if-statement with
601         a block, to ensure that when the subprogram is null its body is
602         properly generated before expansion.
603
604 2012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
605
606         * sem_ch12.adb (Analyze_Associations): Alphabetize local variables and
607         constants. Rename Actual_Types to Actuals_To_Freeze. Rename Next_Formal
608         to Saved_Formal.
609         Freeze all eligible subprograms which appear as actuals in
610         the instantiation.
611         (Has_Fully_Defined_Profile): New routine.
612         (Renames_Standard_Subprogram): New routine.
613         (Earlier): Add local variable N. Comment update. Do not use source
614         locations when trying to determine whether one node precedes another.
615
616 2012-01-23  Gary Dismukes  <dismukes@adacore.com>
617
618         * exp_ch4.adb (Expand_Concatenate): In the case
619         where the result of a concatentation can be null, set the to
620         result have both the low and high bounds of the right operand (not
621         just the high bound, as was the case prior to this fix). Also,
622         fix the saved high bound setting (Last_Opnd_High_Bound) in the
623         empty string literal case (should have been low bound minus one,
624         rather than plus one).
625
626 2012-01-23  Thomas Quinot  <quinot@adacore.com>
627
628         * scos.ads, put_scos.adb, get_scos.adb (Get_SCOs, Put_SCOs): Do not
629         omit statement SCOs for disabled pragmas.
630
631 2012-01-23  Matthew Heaney  <heaney@adacore.com>
632
633         * a-cohase.ads, a-cihase.ads, a-cbhase.ads, a-coorse.ads,
634         a-ciorse.ads, a-cborse.ads, a-cohama.ads, a-cihama.ads, a-cbhama.ads,
635         a-coorma.ads, a-ciorma.ads, a-cborma.ads, a-cdlili.ads, a-cidlli.ads,
636         a-cbdlli.ads, a-convec.ads, a-coinve.ads, a-cobove.ads (Cursor'Read,
637         Cursor'Write): Declare in private part.
638         (Reference_Type'Read, Reference_Type'Write): Ditto.
639         (Constant_Reference_Type'Read, Constant_Reference_Type'Write): Ditto.
640
641 2012-01-23  Robert Dewar  <dewar@adacore.com>
642
643         * a-catizo.ads, a-calend.adb, a-calend.ads, par-ch13.adb: Minor
644         reformatting.
645
646 2012-01-23  Ed Schonberg  <schonberg@adacore.com>
647
648         * sem_ch6.adb (Analyze_Subprogram_Declaration): Do not set the
649         Corresponding_Body on a defaulted null formal subprogram.
650         * sem_ch12.adb (Check_Formal_Package_Instance): No check needed
651         on a defaulted formal subprogram that is a null procedure.
652
653 2012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
654
655         * exp_ch9.adb: Update the comments involving pragma Implemented.
656         * sem_ch3.adb (Check_Pragma_Implemented (Entity_Id)): Add local
657         constant Subp_Alias and local variable Impl_Subp. Properly
658         handle aliases of synchronized wrappers. Code cleanup.
659         (Check_Pragma_Implemented (Entity_Id; Entity_Id)): Add
660         Name_Optional as part of the condition.
661         * sem_prag.adb (Analyze_Pragma): Add "Optional" as one of the
662         valid choices of implementation kind.
663         (Check_Arg_Is_One_Of): New routine.
664         * snames.ads-tmlp: Add Name_Optional.
665
666 2012-01-23  Ed Schonberg  <schonberg@adacore.com>
667
668         * par-ch13.adb: Better error recovery in illegal aspect
669         specification.
670
671 2012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
672
673         * a-calend.adb: Add with clause for Interfaces.C. Add constant
674         Unix_Max.
675         (Day_Of_Week): Call the internal UTC_Time_Offset.
676         (Split): Call the internal UTC_Time_Offset.
677         (Time_Of): Call the internal UTC_Time_Offset.
678         (Time_Zone_Operations.UTC_Time_Offset): Call internal UTC_Time_Offset.
679         (UTC_Time_Offset): New library-level routine.
680         * a-calend.ads (UTC_Time_Offset): Remove parameter
681         Is_Historic. Update related comment on usage.
682         * a-catizo.adb (UTC_Time_Offset): Removed.
683         (UTC_Time_Offset (Time)): Call Time_Zone_Operations.UTC_Time_Offset.
684         * a-caltizo.ads (UTC_Time_Offset): Removed.
685         (UTC_Time_Offset (Time)): Add back the default expression of parameter
686         Date.
687
688 2012-01-23  Robert Dewar  <dewar@adacore.com>
689
690         * sprint.ads, sprint.adb (Sprint_Node_List): Add New_Lines parameter
691         (pg,po,ps): Make sure each entry starts on new line.
692
693 2012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
694
695         * a-calend.ads, a-calend.adb: Define types int and int_Pointer. Update
696         the parameter profile of procedure localtime_tzoff and its associated
697         comment.
698         (Day_Of_Week): Do not treat the input date as historical
699         with respect to time zones.
700         (Split): Do not treat the input
701         date as historical with respect to time zones.  (Time_Of): Do
702         not treat the input constituents as forming a historical date
703         with respect to time zones.
704         (UTC_Time_Offset): Add new formal
705         parameter Is_Historic. Add local variable Flag. Update the call
706         to localtime_tzoff.
707         * a-catizo.ads, a-catizo.adb (UTC_Time_Offset): New routine.
708         (UTC_Time_Offset (Time)): Update the call to
709         Time_Zone_Operations.UTC_Time_Offset.
710         * sysdep.c (__gnat_localtime_tzoff): Update parameter
711         profile. Split the processing of offsets on Windows into two - one
712         part of historic time stamps and the other for the current time.
713
714 2012-01-23  Robert Dewar  <dewar@adacore.com>
715
716         * a-calend.adb: Minor reformatting.
717
718 2012-01-23  Ed Schonberg  <schonberg@adacore.com>
719
720         * exp_ch9.adb, sem_ch9.adb: Handle array of access to synchronized
721         interface in requeue statement.
722
723 2012-01-23  Cyrille Comar  <comar@adacore.com>
724
725         * projects.texi: Remove references to main units and replace
726         with references to main programs to be coherent with the
727         documentation.
728
729 2012-01-23  Robert Dewar  <dewar@adacore.com>
730
731         * s-utf_32.adb: Minor reformatting.
732
733 2012-01-23  Vincent Celier  <celier@adacore.com>
734
735         * snames.ads-tmpl: Minor comment addition Indicate that
736         Name_Library_Encapsulated_Options is only used in gprbuild.
737
738 2012-01-23  Robert Dewar  <dewar@adacore.com>
739
740         * sem_ch10.adb (Analyze_Subunit): Properly save/restore cunit
741         restrictions.
742
743 2012-01-23  Ed Schonberg  <schonberg@adacore.com>
744
745         * snames.ads-tmpl: Add Name_Synchronization.
746         * aspects.ads, aspects.adb: Add Aspect_Synchronization to
747         enumeration type and related maps.
748         * sem_ch13.adb (Analyze_Aspect_Specifications): Handle Aspect
749         Synchronization, build corresponding pragma Implemented.
750         * sem_util.adb (Implementation_Kind): Handle both explicit and
751         implicit pragma_argument association to retrieve the given
752         synchronization mode.
753
754 2012-01-23  Robert Dewar  <dewar@adacore.com>
755
756         * sem_ch10.adb, errout.adb: Minor reformatting.
757
758 2012-01-23  Ed Schonberg  <schonberg@adacore.com>
759
760         * sem_res.adb (Resolve_Actuals): An actual in a call to an
761         Ada 2012 Reference function does not lead to a dangerous order
762         dependence.
763
764 2012-01-23  Gary Dismukes  <dismukes@adacore.com>
765
766         * exp_util.adb (Is_Iterated_Container): Test
767         Is_Entity_Name when searching for calls to the default iterator,
768         to avoid blowing up on indirect calls which have an explicit
769         dereference as the call name.
770
771 2012-01-23  Thomas Quinot  <quinot@adacore.com>
772
773         * errout.adb (Set_Msg_Node): For an N_Expanded_Name, output
774         the complete expanded name, rather than just its Selector_Name.
775
776 2012-01-23  Thomas Quinot  <quinot@adacore.com>
777
778         * a-textio.adb (Put): Rewrite one-parameter Character version to
779         just call the two-parameter one with Current_Out.
780
781 2012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
782
783         * freeze.adb (Check_Current_Instance): Issue an
784         error when the prefix of 'Unchecked_Access or 'Access does not
785         denote a legal aliased view of a type.
786         (Freeze_Record_Type): Do not halt the processing of record components
787         once the Has_Controlled_Component is set as this bypasses the remaining
788         checks.
789         (Is_Aliased_View_Of_Type): New routine.
790
791 2012-01-23  Thomas Quinot  <quinot@adacore.com>
792
793         * errout.ads, freeze.adb: Minor reformatting.
794
795 2012-01-23  Thomas Quinot  <quinot@adacore.com>
796
797         * sem_ch10.adb, sem_prag.adb: Remove redundant apostrophes in error
798         messages.
799
800 2012-01-23  Olivier Hainque  <hainque@adacore.com>
801
802         * adadecode.c (__gnat_decode): Deal with empty input early,
803         preventing potential erroneous memory access later on.
804
805 2012-01-21  Eric Botcazou  <ebotcazou@adacore.com>
806
807         PR ada/46192
808         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the case of a
809         renaming, preserve the volatileness through the indirection, if any.
810
811 2012-01-14  Andreas Schwab  <schwab@linux-m68k.org>
812
813         * gcc-interface/Makefile.in (OSCONS_EXTRACT): Add
814         $(GNATLIBCFLAGS).
815
816 2012-01-10  Pascal Obry  <obry@adacore.com>
817
818         * prj-nmsc.adb (Check_Library_Attributes):
819         Kill check for object/source directories for aggregate libraries.
820
821 2012-01-10  Matthew Heaney  <heaney@adacore.com>
822
823         * a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb,
824         a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads,
825         a-cborma.adb, a-cborma.ads, a-cidlli.adb, a-cidlli.ads, a-cimutr.adb,
826         a-cimutr.ads, a-cihase.adb, a-cihase.ads, a-cohama.adb, a-cohama.ads,
827         a-coorse.adb, a-coorse.ads, a-cbhama.adb, a-cbhama.ads, a-cborse.adb,
828         a-cborse.ads, a-comutr.adb, a-comutr.ads, a-ciorma.adb, a-cobove.adb,
829         a-ciorma.ads, a-cobove.ads, a-convec.adb, a-convec.ads, a-cohase.adb,
830         a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbmutr.adb, a-cbmutr.ads,
831         a-cbhase.adb, a-cbhase.ads (Reference, Constant_Reference): Declare
832         container parameter as aliased in/in out.
833         Code clean ups.
834
835 2012-01-10  Bob Duff  <duff@adacore.com>
836
837         * s-os_lib.ads: Improve comment.
838
839 2012-01-10  Geert Bosch  <bosch@adacore.com>
840
841         * s-gearop.adb (Forward_Eliminate): Avoid improper aliasing
842         for complex Scalar.
843
844 2012-01-10  Bob Duff  <duff@adacore.com>
845
846         * sem_intr.adb (Check_Shift): Use RM_Size instead of Esize, when
847         checking that the 'Size is correct. If the type is "mod 2**12",
848         for example, it's illegal, but Esize is the 'Object_Size, which
849         will be something like 16 or 32, so the error ('Size = 12) was
850         not detected.
851         * gnat_rm.texi: Improve documentation of shift
852         and rotate intrinsics.
853
854 2012-01-10  Pascal Obry  <obry@adacore.com>
855
856         * prj.adb (For_Every_Project_Imported): Fix
857         implementation to make sure we return each project only once
858         for aggragte libraries. It is fine to return a project twice for
859         aggregate projects, this was the case as a Project_Id is different
860         in each project tree. The new implementation use a table based on
861         the project name to ensure proper detection of duplicate project
862         in aggregate library. A new context is then created to continue
863         retrurning duplicate project for aggregate libraries.
864
865 2012-01-09  Eric Botcazou  <ebotcazou@adacore.com>
866
867         * gcc-interface/trans.c (call_to_gnu): Create the temporary for the
868         return value in the variable-sized return type case if the target is
869         an array with fixed size.  However, do not create it if this is the
870         expression of an object declaration.
871
872 2012-01-09  Eric Botcazou  <ebotcazou@adacore.com>
873
874         * gcc-interface/trans.c (addressable_p) <COMPONENT_REF>: Fix thinko.
875
876 2012-01-06  Robert Dewar  <dewar@adacore.com>
877
878         * a-wichha.ads, a-wichun.ads, a-zchhan.ads, a-zchuni.ads,
879         s-utf_32.ads: Add pragma Pure
880         * s-utf_32.adb: Suppress warnings on non-static constants (now
881         that this is Pure).
882
883 2012-01-06  Bob Duff  <duff@adacore.com>
884
885         * s-rpc.ads (Read, Write): Add overriding indicators.
886
887 2012-01-06  Robert Dewar  <dewar@adacore.com>
888
889         * gnat_rm.texi: Add documentation for conventions
890         Ada_Pass_By_Copy and Ada_Pass_By_Reference.
891
892 2012-01-06  Gary Dismukes  <dismukes@adacore.com>
893
894         * a-tienio.adb (Put): Add exception message on
895         raise statements. Remove unneeded blocks and object declarations.
896
897 2012-01-06  Robert Dewar  <dewar@adacore.com>
898
899         * sem_prag.adb: Minor reformatting.
900
901 2012-01-06  Ed Schonberg  <schonberg@adacore.com>
902
903         * sinfo.ads, sinfo.adb (Has_Prefixed_Call): New flag to indicate
904         that a selected component within a generic unit has been resolved
905         as a prefixed call with local references.
906         * sem_ch3.adb (Is_Visible_Component): In an instance body a selected
907         component is always visible.
908         * sem_ch4.adb (Analyze_Selected_Component): If the node is a
909         prefixed call in an instance, do not look for visible components
910         of the type.
911         * sem_ch12.adb (Reset_Entity): If a selected component has resolved
912         to a prefixed call, mark the node accordingly when prefix and
913         selector are local references.
914
915 2012-01-02  Eric Botcazou  <ebotcazou@adacore.com>
916
917         * gnatvsn.ads (Current_Year): Bump to 2012.
918 \f
919 Copyright (C) 2012 Free Software Foundation, Inc.
920
921 Copying and distribution of this file, with or without modification,
922 are permitted in any medium without royalty provided the copyright
923 notice and this notice are preserved.