OSDN Git Service

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