OSDN Git Service

2012-01-09 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog-2011
1 2011-12-23  Pascal Obry  <obry@adacore.com>
2
3         * prj.ads (For_Every_Project_Imported): Add In_Aggregate_Lib
4         parameter to generic formal procedure.
5         * prj.adb (For_Every_Project_Imported): Update accordingly.
6         (Recursive_Check): Likewise. Do not parse imported project for
7         aggregate library. This is needed as the imported projects are
8         there just to handle dependencies.
9         (Look_For_Sources): Likewise.
10         (Recursive_Add): Likewise.
11         * prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb:
12         Add In_Aggregate_Lib parameter to routines used with
13         For_Every_Project_Imported generic procedure.
14         * prj-nmsc.adb (Tree_Processing_Data): Add In_Aggregate_Lib field.
15         (Check): Move where it is used. Fix implementation
16         to not check libraries that are inside aggregate libraries.
17         (Recursive_Check): Add In_Aggregate_Lib parameter.
18
19 2011-12-23  Ed Schonberg  <schonberg@adacore.com>
20
21         * sem_ch7.adb (Analyze_Package_Body, Has_Referencer): A generic
22         package is a referencer regardless of whether there is a
23         subsequent subprogram with an Inline pragma.
24
25 2011-12-23  Geert Bosch  <bosch@adacore.com>
26
27         * sem_ch3.adb (Can_Derive_From): Check matching Float_Rep on VMS.
28
29 2011-12-23  Pascal Obry  <obry@adacore.com>
30
31         * gnatcmd.adb, prj.adb, prj-nmsc.adb: Minor reformatting.
32
33 2011-12-22  Hristian Kirtchev  <kirtchev@adacore.com>
34
35         * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Create the objects
36         associated with exception handling unconditionally.
37         (Build_Adjust_Statements): Create the objects associated with
38         exception handling unconditionally.
39         (Build_Components): Create the objects associated with exception
40         handling unconditionally.
41         (Build_Finalize_Statements): Create the objects associated with
42         exception handling unconditionally.
43         (Build_Initialize_Statements): Create the objects associated with
44         exception handling unconditionally.
45         (Build_Object_Declarations): Set the proper location of the data
46         record when exception propagation is forbidden.
47
48 2011-12-22  Gary Dismukes  <dismukes@adacore.com>
49
50         * a-tienio.adb (Put): Test validity of Item parameters before
51         applying Image, and raise Constraint_Error for invalid values.
52
53 2011-12-22  Bob Duff  <duff@adacore.com>
54
55         * a-stwima.ads (Initialize,Adjust,Finalize): Add overriding indicators.
56         * a-ststio.ads (AFCB_Allocate,AFCB_Close,AFCB_Free,Read,Write): Add
57         overriding indicators.
58
59 2011-12-22  Arnaud Charlet  <charlet@adacore.com>
60
61         * s-osinte-hpux-dce.ads: Update header to GPLv3
62
63 2011-12-22  Ed Schonberg  <schonberg@adacore.com>
64
65         * a-cohase.ads, a-cohase.adb: Update to latest RM version. Add
66         aspect Constant_Reference to set type, and corresponding
67         functions.
68         * a-cihama.ads, a-cihama.adb: Update to latest RM version. Add
69         function Reference to provide a proper element iterator construct
70         over indefinite maps.
71
72 2011-12-22  Ed Schonberg  <schonberg@adacore.com>
73
74         * exp_attr.adb (Expand_N_Attribute, case 'Access): Do not insert
75         implicit conversion on prefix of Unrestricted_Access when prefix
76         is an explicit dereference.
77
78 2011-12-22  Vincent Pucci  <pucci@adacore.com>
79
80         * sem_dim.adb: Addressed all ??? comments. Replacement of warnings by
81         errors using continuation marks.
82         (Error_Dim_Msg_For_?): Renaming of Error_Dim_For_?.
83
84 2011-12-22  Robert Dewar  <dewar@adacore.com>
85
86         * sem_ch3.adb, sem_ch3.ads, sem_prag.adb: Minor code clean up.
87
88 2011-12-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
89
90         * s-oscons-tmplt.c [__alpha__ && __osf__] (_XOPEN_SOURCE): Define.
91
92 2011-12-21  Javier Miranda  <miranda@adacore.com>
93
94         * sem_ch3.ads, sem_ch3.adb (Check_CPP_Type): New subprogram.
95         (Process_Full_View): Invoke Check_CPP_Type if processing the
96         full-view of a CPP type.
97         * sem_prag.adb (Process_Import_Or_Interface): Add missing support
98         for importing a CPP type that has an incomplete declaration. Move
99         to new routine Check_CPP_Type the code that verifies that
100         components of imported CPP types do not have default expressions.
101
102 2011-12-21  Vincent Celier  <celier@adacore.com>
103
104         * prj-nmsc.adb (Report_No_Sources): Remove argument Lang. Report
105         no sources even for languages that are not allowed.
106         (Add_Source): Get the source even when the language is not allowed.
107
108 2011-12-21  Robert Dewar  <dewar@adacore.com>
109
110         * sem_ch6.adb (Process_Formals): Add defensive code.
111
112 2011-12-21  Ed Schonberg  <schonberg@adacore.com>
113
114         * sem_ch7.adb, sem_ch13.adb (Analyze_Package_Specification): Build the
115         invariant procedure of a type declaration that is a completion and has
116         aspect specifications.
117         (Build_Invariant_Procedure): If the procedure is built for a
118         type declaration that is a completion, analyze body expliitly
119         because all private declarations have been already analyzed.
120
121 2011-12-21  Claire Dross  <dross@adacore.com>
122
123         * a-cfdlli.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb,
124         a-cofove.adb: Minor reformating on formal containers
125
126 2011-12-21  Vincent Celier  <celier@adacore.com>
127
128         * makeutl.adb (Mains.Complete_Mains.Do_Complete): Remove
129         any main that is not in the list of restricted languages.
130         (Insert_Project_Sources.Do_Insert): Only add sources of languages
131         in the list of restricted languages.
132
133 2011-12-21  Ed Schonberg  <schonberg@adacore.com>
134
135         * sem_res.adb (Valid_Conversion): A type conversion is valid when
136         the target type is an anonymous access type and the operand is a
137         rewriting of an allocator. The conversion is typically inserted
138         when the designated type is an interface.
139
140 2011-12-21  Ed Schonberg  <schonberg@adacore.com>
141
142         * exp_ch9.adb (Establish_Task_Master): If the enclosing block
143         has no declarations, create new declarative list for it.
144
145 2011-12-21  Matthew Heaney  <heaney@adacore.com>
146
147         * a-rbtgbk.adb (Generic_Conditional_Insert): Fixed incorrect comment.
148
149 2011-12-21  Yannick Moy  <moy@adacore.com>
150
151         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not
152         ignore representation attributes in Alfa mode, since formal
153         verification backend does not depend on actual physical
154         representation, but code may still refer to attribute values.
155
156 2011-12-21  Yannick Moy  <moy@adacore.com>
157
158         * par-ch13.adb (P_Aspect_Specifications): Recognize the cases
159         where a comma between two aspects is missing, or erroneously
160         replaced by a semicolon, issue an error and proceed with next
161         aspect.
162         * par.adb, sinfo.ads: Fix typos.
163
164 2011-12-21  Ed Schonberg  <schonberg@adacore.com>
165
166         * sem_util.adb (Mark_Coextensions): A coextension for an
167         object that is part of the expression in a return statement,
168         or part of the return object in an extended return statement,
169         must be allocated dynamically.
170
171 2011-12-21  Matthew Heaney  <heaney@adacore.com>
172
173         * a-crbtgk.adb (Generic_Conditional_Insert): Fixed incorrect comment.
174
175 2011-12-21  Ed Schonberg  <schonberg@adacore.com>
176
177         * sem_ch5.adb (Analyze_Iterator_Specification): If the name
178         of an element iterator is not an entity name we introduce a
179         local renaming declaration for it. To prevent spurious warnings
180         on parameterless function calls that return a container, when
181         expansion is disabled (either explicitly or because of a previous
182         errors) the name must be marked as not coming from source.
183
184 2011-12-21  Arnaud Charlet  <charlet@adacore.com>
185
186         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Separate
187         handling in CodePeer mode and only ignore Component_Size
188         attribute.
189
190 2011-12-21  Robert Dewar  <dewar@adacore.com>
191
192         * sem_ch6.adb (Process_Formals): Set proper mechanism for
193         formals whose types have conventions Ada_Pass_By_Copy or
194         Ada_Pass_By_Reference.
195
196 2011-12-21  Arnaud Charlet  <charlet@adacore.com>
197
198         * gnat1drv.adb (Gnat1Drv): Always delete old scil files in
199         CodePeer mode.
200
201 2011-12-21  Robert Dewar  <dewar@adacore.com>
202
203         * comperr.adb: Minor reformatting.
204
205 2011-12-21  Ed Schonberg  <schonberg@adacore.com>
206
207         * aspects.ads: New table Base_Aspect, to indicate that an aspect
208         is defined on a base type.
209         * aspects.adb (Find_Aspect): If the aspect is a Base_Aspect,
210         examine the representation items of the base type.
211
212 2011-12-21  Pascal Obry  <obry@adacore.com>
213
214         * gnat_ugn.texi, prj.ads, prj-nmsc.adb, prj-attr.adb, projects.texi,
215         snames.ads-tmpl: Use Encapsulated instead of Fully Standalone library.
216
217 2011-12-21  Pascal Obry  <obry@adacore.com>
218
219         * adaint.c (__gnat_is_executable_file_attr) [_WIN32]: Add parentheses
220         to kill warning.
221
222 2011-12-21  Arnaud Charlet  <charlet@adacore.com>
223
224         * comperr.adb (Delete_SCIL_Files): Also delete .scilx files.
225         Fix implementation for child packages and package specs.
226         (Delete_SCIL_Files.Decode_Name_Buffer): New function.
227
228 2011-12-21  Robert Dewar  <dewar@adacore.com>
229
230         * err_vars.ads, a-cdlili.adb, a-cfdlli.ads, prj.adb, prj-nmsc.adb,
231         a-cbdlli.adb, a-cbdlli.ads, a-cfdlli.adb: Minor reformatting.
232
233 2011-12-21  Vincent Pucci  <pucci@adacore.com>
234
235         * s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads,
236         s-llflex.ads: Fix header.
237
238 2011-12-21  Thomas Quinot  <quinot@adacore.com>
239
240         * thread.c, s-oscons-tmplt.c, init.c (pthread_condattr_setclock): For
241         AIX 5.2, define as a dummy weak symbol in init.c.
242         (CLOCK_RT_Ada): Set to CLOCK_MONOTONIC on all versions of AIX.
243
244 2011-12-21  Thomas Quinot  <quinot@adacore.com>
245
246         * snames.ads-tmpl, sem_ch8.adb: Minor reformatting.
247         * sem_prag.adb: Minor comment clarification.
248
249 2011-12-21  Vincent Celier  <celier@adacore.com>
250
251         * prj-nmsc.adb (Report_No_Sources): New argument Lang for the
252         language name as a Name_Id. Do not report no sources if language
253         is not allowed.
254         (Add_Source): Do not add source if language is not allowed.
255         * prj.adb (Add_Restricted_Language): New procedure
256         (Is_Allowed_Language): New function
257         * prj.ads (Add_Restricted_Language): New procedure
258         (Is_Allowed_Language): New function
259
260 2011-12-21  Robert Dewar  <dewar@adacore.com>
261
262         * exp_ch5.adb, sem_dim.adb, sem_dim.ads, sem_ch12.adb, prj-conf.adb:
263         Minor reformatting.
264
265 2011-12-21  Claire Dross  <dross@adacore.com>
266
267         * a-cfdlli.ads (Constant_Indexing, Default_Iterator,
268         Iterator_Element): Added to type List.               
269         (Not_No_Element, List_Iterator_Interfaces, Iterate,
270         Constant_Reference_Type, Constant_Reference): New.
271         * a-cfdlli.adb (type Iterator, Finalize, First, Last, Next,
272         Previous, Iterate, Not_No_Element, Constant_Reference): New.
273
274 2011-12-21  Gary Dismukes  <dismukes@adacore.com>
275
276         * gnat_ugn.texi: Minor reformatting.
277
278 2011-12-21  Ed Schonberg  <schonberg@adacore.com>
279
280         * exp_ch5.adb (Expand_Iterator_Loop): The cursor operation
281         Has_Element is the formal of Iterator_Interfaces, and within
282         the instantion of this package it is a renaming of some local
283         function with an unrelated name. Retrieve the operation from
284         the instance itself, not from the container package.
285
286 2011-12-21  Vincent Pucci  <pucci@adacore.com>
287
288         * exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_String
289         replaced by Expand_Put_Call_With_Dimension_Symbol
290         * sem_ch12.adb (Analyze_Package_Instantiation): New check for
291         System.Dim_Float_IO and System.Dim_Integer_IO instantiation.
292         * sem_ch3.adb (Analyze_Declarations): Removed
293         Remove_Dimension_In_Declaration call.
294         * sem_dim.adb: Update comments. Redefine the
295         representation of a Rational. Propagate all changes involving
296         data structures and types throughout the pakage. Output the
297         dimension aggregates for each error messages.
298         ("/"): Rational constructor "/" removed for Whole operands.
299         ("/"): New rational operation "/" for Rational operands.
300         ("*"): Operation "*" between Rational and Int removed.
301         ("abs"): New unary operator "abs" for Rational.
302         (Analyze_Aspect_Dimension_System): Reorganized.
303         (Analyze_Dimension_Identifier): Removed.
304         (Copy_Dimensions): Removed.
305         (Create_Rational_From_Expr): New Boolean parameter.
306         (Dimensions_Msg_Of): New routine. Return
307         a string with the dimensions of the parameter.
308         (From_Dimension_To_String_Of_Symbols): Renaming of
309         From_Dimension_To_String_Id.
310         * sem_dim.ads: Update comments.
311         (Is_Dim_IO_Package_Instantiation): New routine.
312         (Remove_Dimension_In_Declaration): Removed.
313         * sem_res.adb (Resolve_Op_Expon): Reorganized calls of
314         Eval_Op_Expon_For_Dimensioned_Type and Eval_Op_Expon.
315         * s-diflio.ads, s-diinio.ads: Update comments.
316
317 2011-12-21  Pascal Obry  <obry@adacore.com>
318
319         * prj-attr.adb, snames.ads-tmpl: Add Library_Standalone,
320         Library_Fully_Standalone_Options and
321         Library_Fully_Standalone_Supported attributes.
322         * prj-nmsc.adb (Check_Library): Update check to take into
323         account fully standalone libraries. Such shared libraries can
324         only depend on static libraries.
325         (Check_Stand_Alone_Library): Add support for fully standalone libraries.
326         (Process_Project_Level_Simple_Attributes): Store value for
327         configuration attribute Library_Fully_Standalone_Supported.
328         * prj.ads, makeutl.adb (Standalone): New enumeration type.
329         (Project_Data): Standalone_Library now of type Standlone.
330         (Project_Configuration): Add Lib_Fully_Standalone_Supported
331         field.
332         (Default_Project_Config): Initialize new Lib_Fully_Standalone_Supported
333         field.
334         * clean.adb (Clean_Project): Adjust to new type for Standalone.
335         * make.adb (Library_Phase): Adjust to new type for Standalone.
336         (Gnatmake): Likewise.
337         * mlib-prj.adb (Build_Library): Adjust to new type for
338         Standalone.
339
340 2011-12-21  Thomas Quinot  <quinot@adacore.com>
341
342         * gnatls.adb (Gnatls): Call Set_Standard_Error at startup, and then
343         Set_Standard_Output just before producing normal (non-diagnostic)
344         output.
345         * gnatcmd.adb (Gnatcmd): Call Set_Standard_Error at initialization
346         (and again after parsing project files).
347
348 2011-12-21  Vincent Celier  <celier@adacore.com>
349
350         * prj-conf.adb (Do_Autoconf): When the object directory does
351         not exist, create auto.cgpr in the directory where temporary
352         files are created.
353
354 2011-12-20  Ed Schonberg  <schonberg@adacore.com>
355
356         * sem_ch12.adb (Insert_Freeze_Node_For_Instance):  Further
357         refinements on the placement of a freeze node for a package
358         instantiation, when the generic appears within a previous
359         instantiation in the same unit.If the current instance is within
360         the one that contains the generic, the freeze node for the
361         current one must appear in the current declarative part. Ditto
362         if the current instance is within another package instance. In
363         these cases the freeze node of the previous instance is is not
364         relevant. New predicate Enclosing_Body simplifies the process.
365         (Freeze_Subprogram_Body): Rename Enclosing_Body to
366         Enclosing_Package_Body, to prevent confusion with subprogram of
367         same name elsewhere.
368         (Install_Body): Recognize enclosing subprogram bodies to determine
369         whether freeze_node belongs in current declarative list.
370
371 2011-12-20  Robert Dewar  <dewar@adacore.com>
372
373         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Allow
374         attribute definition clause for renaming if generated internally
375         and generate duplicate clause to apply to renamed object.
376         (Rep_Item_Too_Late): Only diagnose source level entities
377         * prj-nmsc.adb: Minor reformatting.
378         * gcc-interface/Make-lang.in: Update dependencies.
379
380 2011-12-20  Bob Duff  <duff@adacore.com>
381
382         * opt.ads (List_Inherited_Aspects): Default to False
383         (i.e. -gnatw.L is the default).
384         * usage.adb: Document new default for -gnatw.L.
385         * gnat_ugn.texi: Document -gnatw.l and -gnatw.L switches.
386         * warnsw.adb (Set_Warning_Switch): Do not include
387         List_Inherited_Aspects in -gnatwa.
388
389 2011-12-20  Ed Schonberg  <schonberg@adacore.com>
390
391         * checks.adb (Apply_Type_Conversion_Checks): For a discrete type
392         with predicates, indicate unconditionally that a range check
393         is needed.
394         * exp_ch4.adb (Expand_N_In): When the membership test is rewritten
395         to incorporate a call to a predicate function, analyze expression
396         with checks suppressed, to prevent infinite recursion.
397
398 2011-12-20  Hristian Kirtchev  <kirtchev@adacore.com>
399
400         * exp_ch11.adb (Find_Local_Handler): Guard the
401         search over individual exception choices in case the list of
402         handlers contains other (possibly illegal) constructs.
403
404 2011-12-20  Gary Dismukes  <dismukes@adacore.com>
405
406         * sem_ch8.adb (Find_Type): Test taggedness
407         of the Available_Type when checking for an illegal use of an
408         incomplete type, when the incomplete view is a limited view of
409         a type. Remove redundant Is_Tagged test.
410
411 2011-12-20  Hristian Kirtchev  <kirtchev@adacore.com>
412
413         * exp_util.adb: Add with and use clause for Aspects.
414         (Is_Finalizable_Transient): Objects which denote Ada containers
415         in the context of iterators are not considered transients. Such
416         object must live for as long as the loop is around.
417         (Is_Iterated_Container): New routine.
418
419 2011-12-20  Hristian Kirtchev  <kirtchev@adacore.com>
420
421         * exp_imgv.adb (Expand_Width_Attribute): Add a
422         type conversion from the enumeration subtype to its base subtype.
423
424 2011-12-20  Hristian Kirtchev  <kirtchev@adacore.com>
425
426         * sem_ch4.adb (Operator_Check): Update the call to
427         Is_Dimensioned_Type.
428         * sem_dim.adb: Remove with and use clause for Namet.Sp. Reorganize
429         all type declarations and datastructures involved. Propagate
430         all changes involving data structures and types throughout
431         the pakage. Alphabetize all subprograms. Add ??? comments.
432         (AD_Hash): Removed.
433         (Analyze_Aspect_Dimension): Rewritten. This
434         routine now does all its checks in one pass rather than
435         two. Refactor code. The error message are now in a more GNAT-ish style.
436         (Create_Rational_From_Expr): This is now a function.
437         (Get_Dimensions): Removed.
438         (Get_Dimensions_String_Id): Removed.
439         (Dimensions_Of): New rouitne.
440         (Exists): New routines.
441         (Is_Invalid): New routine.
442         (Permits_Dimensions): Removed.
443         (Present): Removed.
444         (Set_Symbol): New routine.
445         (System_Of): New routine.
446         * sem_dim.ads: Rewrite the top level description of the
447         package. Alphabetize subprograms. Add various comments on
448         subprogram usage. Add ??? comments.
449         (Is_Dimensioned_Type):
450         Renamed to Has_Dimension_System.
451         * sem_res.adb (Resolve_Op_Expon): Update the call to Is_Dimensioned_Type
452
453 2011-12-20  Ed Schonberg  <schonberg@adacore.com>
454
455         * sem_ch13.adb (Check_Indexing_Functions): The return type of an
456         indexing function can be the default element type, and does not
457         need to be a reference type.
458         * sem_ch4.adb (Try_Container_Indexing): Ditto.
459
460 2011-12-20  Robert Dewar  <dewar@adacore.com>
461
462         * a-cdlili.ads, sem_cat.adb, sem_ch10.adb: Minor reformatting.
463
464 2011-12-20  Bob Duff  <duff@adacore.com>
465
466         * s-taprop-mingw.adb (Yield): Do_Yield is no longer Unreferenced.
467
468 2011-12-20  Vincent Pucci  <pucci@adacore.com>
469
470         * impunit.adb: s-dimkio, s-dimmks and s-dmotpr defined as GNAT
471         Defined Additions to System.
472         * Makefile.rtl: s-dimkio, s-dimmks and s-dmotpr added.
473         * s-dimkio.ads, s-dimmks.ads, s-dmotpr.ads: New files.
474
475 2011-12-20  Gary Dismukes  <dismukes@adacore.com>
476
477         * sem_ch4.adb (Traverse_Homonyms): Allow a homonym to match when
478         within an instance, even if the homonym is marked Is_Hidden at
479         this point.
480
481 2011-12-20  Robert Dewar  <dewar@adacore.com>
482
483         * sem_ch3.adb, sem_ch5.adb, s-diinio.adb, s-diinio.ads, sem_dim.adb,
484         sem_dim.ads, sem_res.adb, s-stposu.adb, s-stposu.ads, sem_ch4.adb,
485         s-diflio.adb, s-diflio.ads, exp_disp.adb, s-llflex.ads: Minor
486         reformatting.
487         * aspects.ads: Dimension[_Aspects] are GNAT defined.
488
489 2011-12-20  Robert Dewar  <dewar@adacore.com>
490
491         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
492         renaming case.
493
494 2011-12-20  Thomas Quinot  <quinot@adacore.com>
495
496         * sem_cat.adb, sem_ch10.adb (Analyze_With_Clause): For a WITH clause on
497         a child unit that is an illegal instantiation, mark the WITH clause in
498         error.
499         (Install_Siblings, Validate_Categorization_Dependency): Guard
500         against WITH clause marked as in error.
501
502 2011-12-20  Hristian Kirtchev  <kirtchev@adacore.com>
503
504         * sem_res.adb (Resolve_Allocator): Warning on allocation
505         of tasks on a subpool and rewrite the allocator into a raise
506         Program_Error statement.
507         * s-stposu.ads, s-stposu.adb: Code reformatting.
508         (Create_Subpool): Remove formal parameter Storage_Size.
509         (Default_Subpool_For_Pool): Add the default implementation of this
510         routine.
511         (Set_Pool_Of_Subpool): Rename formal parameter Pool to To. Update
512         all the uses of the parameter.
513
514 2011-12-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
515
516         * gcc-interface/Makefile.in (%86 linux%):
517         (LIBGNAT_TARGET_PAIRS_32): Split off from LIBGNAT_TARGET_PAIRS.
518         (LIBGNAT_TARGET_PAIRS_64): New.
519         (LIBGNAT_TARGET_PAIRS): Add either depending on multilib.
520
521 2011-12-18  Eric Botcazou  <ebotcazou@adacore.com>
522
523         * gcc-interface/decl.c (gnat_to_gnu_param): Add comment about double
524         reference and DECL_POINTS_TO_READONLY_P.
525         * gcc-interface/trans.c (Identifier_to_gnu) <by_ref>: Always set the
526         TREE_READONLY flag on the first dereference of a double dereference.
527
528 2011-12-15  Arnaud Charlet  <charlet@adacore.com>
529
530         * a-numaux-vms.ads, s-asthan-vms-ia64.adb, s-auxdec-vms-ia64.adb,
531         s-memory-vms_64.adb, s-memory-vms_64.ads, s-osinte-vms-ia64.adb,
532         s-osinte-vms-ia64.ads, s-tasdeb-vms.adb: New files.
533
534 2011-12-15  Vincent Pucci  <pucci@adacore.com>
535
536         * aspects.adb, aspects.ads Aspect_Dimension and
537         Aspect_Dimension_System added
538         * exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_String
539         case added
540         * gcc-interface/Make-lang.in: s-llflex, sem_dim added.
541         * impunit.adb :s-diflio and s-diinio defined as GNAT Defined
542         Additions to System.
543         * Makefile.rtl: s-diflio, s-diinio and s-llflex added
544         * par-prag.adb, sem_prag.adb: Pragma_Dimension removed
545         * rtsfind.ads: Expon_LLF added
546         * sem_aggr.adb (Resolve_Aggregate): handles aggregate for
547         Aspect_Dimension case
548         * sem_attr.adb (Resolve_Attribute): analyze dimension for
549         attribute
550         * sem_ch10.adb (Analyze_With_Clause): Avoid the warning messages
551         due to the use of a GNAT library for Dimension packages
552         * sem_ch13.adb (Analyze_Aspect_Specifications):
553         Aspect_Dimension and Aspect_Dimension_System cases added
554         (Check_Aspect_At_Freeze_Point): Aspect_Dimension and
555         Aspect_Dimension_System cases added
556         * sem_ch2.adb (Analyze_Identifier): analyze dimension for
557         identifier
558         * sem_ch3.adb (Analyze_Component_Declaration): analyze dimension
559         for component declaration (Analyze_Object_Declaration): analyze
560         dimension for object declaration (Analyze_Subtype_Declaration):
561         analyze dimension for subtype declaration
562         * sem_ch4.adb (Operator_Check): checks exponent is a rational
563         for dimensioned operand for a N_Op_Expon
564         * sem_ch5.adb (Analyze_Assignment): analyze dimension for
565         assignment (Analyze_Statements): removal of dimensions in all
566         statements
567         * sem_ch6.adb (Analyze_Return_Statement): analyze dimension for
568         return statement
569         * sem_ch8.adb (Analyze_Object_Renaming): analyze dimension for
570         object renaming
571         * sem_dim.adb, sem_dim.ads (Analyze_Aspect_Dimension):
572         analyze the expression for aspect dimension and store the
573         values in a Htable.
574         (Analyze_Aspect_Dimension_System): analyze
575         the expression for aspect dimension system and store the new
576         system in a Table.
577         (Analyze_Dimension): propagates dimension
578         (Expand_Put_Call_With_Dimension_String): add the dimension
579         string as a suffix of the numeric value in the output
580         (Has_Dimension): return True if the node has a dimension
581         (Remove_Dimension_In_Declaration): removal of dimension in the
582         expression of the declaration.
583         (Remove_Dimension_In_Statement): removal of dimension in statement
584         * sem_res.adb (Resolve): analyze dimension if the node
585         has already been analyzed.
586         (Resolve_Arithmetic_Op): analyze
587         dimension for arithmetic op.
588         (Resolve_Call): analyze dimension for function call.
589         (Resolve_Comparison_Op): analyze dimension for comparison op.
590         (Resolve_Equality_Op): analyze dimension for equality op.
591         (Resolve_Indexed_Component): analyze dimension for indexed component.
592         (Resolve_Op_Expon): analyze dimension for op expon.
593         (Resolve_Selected_Component): analyze dimension
594         for selected component.
595         (Resolve_Slice): analyze dimension for slice.
596         (Resolve_Unary_Op): analyze dimension for unary op
597         (Resolve_Type_Conversion): analyze dimension for type conversion
598         (Resolve_Unchecked_Type_Conversion): analyze dimension for
599         unchecked type conversion
600         * snames.ads-tmpl Name_Dimension, Name_Dimension_System,
601         Name_Dim_Float_IO, Name_Dim_Integer_IO,
602         Name_Generic_Elementary_Functions, Name_Sqrt added.
603         Pragma_Dimension removed
604         * s-diflio.adb, s-diflio.ads New GNAT library generic package
605         for dimensioned float type IO
606         * s-diinio.adb, s-diinio.ads New GNAT library generic package
607         for dimensioned integer type IO
608         * s-llflex.ads (Expon_LLF): exponentiation routine for long long
609         floats operand and exponent
610
611 2011-12-15  Robert Dewar  <dewar@adacore.com>
612
613         * sem_aggr.adb: Minor comment addition.
614
615 2011-12-15  Bob Duff  <duff@adacore.com>
616
617         * s-tasren.adb (Task_Count): Do not call Yield; E'Count is not a
618         task dispatching point.
619         * s-taprop-mingw.adb (Yield): Do not yield if Do_Yield is False.
620
621 2011-12-15  Robert Dewar  <dewar@adacore.com>
622
623         * sigtramp-ppcvxw.c, sigtramp.h: Fix header.
624
625 2011-12-15  Javier Miranda  <miranda@adacore.com>
626
627         * exp_attr.adb (Expand_N_Attribute_Reference): For 'alignment
628         applied to a class-wide type under VM targets generate code which
629         invokes the function Get_Alignment to retrieve the value of the
630         alignment from the TSD.
631         * rtsfind.ads (RE_Get_Alignment): New entity.
632
633 2011-12-15  Robert Dewar  <dewar@adacore.com>
634
635         * g-comlin.adb: Fix header.
636
637 2011-12-15  Tristan Gingold  <gingold@adacore.com>
638
639         * gnatls.adb: Fix typo.
640
641 2011-12-15  Ed Falis  <falis@adacore.com>
642
643         * s-tpopsp-vxworks.adb: Update comment.
644
645 2011-12-15  Ed Schonberg  <schonberg@adacore.com>
646
647         * sem_aggr.adb (Resolve_Array_Aggregate, Resolve_Aggr_Expr); If
648         the component type has predicates, generate corresponding check.
649         (Resolve_Record_Aggregate, Resolve_Aggr_Expr): Ditto.
650
651 2011-12-13  Cesar Strauss  <cestrauss@gmail.com>
652             Eric Botcazou  <ebotcazou@adacore.com>
653
654         PR ada/49084
655         * types.h (Byte): Change typedef to 'unsigned char'.
656         * atree.h (struct Flag_Word): Use Byte for 'convention' field.
657
658 2011-12-12  Robert Dewar  <dewar@adacore.com>
659
660         * s-taprop-mingw.adb: Minor reformatting.
661
662 2011-12-12  Nicolas Roche  <roche@adacore.com>
663
664         * gcc-interface/Make-lang.in: Update dependencies.
665         Add gnattools4 target when building tools in canadian mode
666
667 2011-12-12  Javier Miranda  <miranda@adacore.com>
668
669         * exp_disp.adb (Make_VM_TSD): Complete previous patch.
670
671 2011-12-12  Bob Duff  <duff@adacore.com>
672
673         * s-tpobop.adb: Use named notation.
674         * g-bytswa.ads, s-taprop.ads: Minor comment fix.
675
676 2011-12-12  Arnaud Charlet  <charlet@adacore.com>
677
678         * make.adb: Minor comment update.
679
680 2011-12-12  Robert Dewar  <dewar@adacore.com>
681
682         * freeze.adb, s-taprop-mingw.adb, exp_disp.adb, sem_ch13.adb: Minor
683         reformatting.
684
685 2011-12-12  Robert Dewar  <dewar@adacore.com>
686
687         * sem_ch6.adb, gnatls.adb: Minor reformatting.
688
689 2011-12-12  Ed Schonberg  <schonberg@adacore.com>
690
691         * freeze.adb (Freeze_Entity): If a type declared in a generic
692         context has predicates, generate a freeze node for it.
693         * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): If expression
694         has not been analyzed yet, entity has not been frozen, so analyze
695         it now.
696
697 2011-12-12  Javier Miranda  <miranda@adacore.com>
698
699         * exp_disp.adb (Make_VM_TSD): Generate code to store the value of
700         'alignment in the TSD.
701
702 2011-12-12  Bob Duff  <duff@adacore.com>
703
704         * s-taprop-mingw.adb (Yield): Do not delay 1 millisecond in Annex D
705         mode.
706
707 2011-12-12  Hristian Kirtchev  <kirtchev@adacore.com>
708
709         * exp_ch4.adb (Expand_N_Allocator): Update the master of an
710         anonymous access-to-controlled type to utilize the heterogeneous
711         master associated with the current unit.
712
713 2011-12-12  Ed Schonberg  <schonberg@adacore.com>
714
715         * sem_ch6.adb (Analyze_Expression_Function): If the function
716         is not a completion, pre-analyze the expression now to prevent
717         spurious visibility on later entities. The body is inserted at
718         the end of the current declaration list or package to prevent
719         early freezing, but the visibility is established at the point
720         of definition.
721
722 2011-12-12  Bob Duff  <duff@adacore.com>
723
724         * sem.adb, sem.ads: Add debugging routines.
725
726 2011-12-12  Tristan Gingold  <gingold@adacore.com>
727
728         * gnatls.adb: (gnatls): Also add the objects dir in search list.
729
730 2011-12-12  Robert Dewar  <dewar@adacore.com>
731
732         * exp_atag.adb, exp_atag.ads, exp_util.adb, exp_attr.adb,
733         sem_ch13.adb: Minor reformatting.
734
735 2011-12-12  Gary Dismukes  <dismukes@adacore.com>
736
737         * sem_ch7.adb (Uninstall_Declarations): Don't
738         apply check for incomplete types used as a result type for an
739         access-to-function type when compiling for Ada 2012 or later.
740         * sem_ch6.adb (Analyze_Subprogram_Declaration):
741         Specialize error message for interface subprograms that are
742         not declared abstract nor null (functions can't be declared as
743         null). Also, remove "(Ada 2005)" from message.
744
745 2011-12-12  Robert Dewar  <dewar@adacore.com>
746
747         * sem_prag.adb (GNAT_Pragma): Check comes from source.
748
749 2011-12-12  Robert Dewar  <dewar@adacore.com>
750
751         * gnatls.adb: Minor reformatting.
752
753 2011-12-12  Javier Miranda  <miranda@adacore.com>
754
755         * a-tags.ads (Alignment): New TSD field.
756         (Max_Predef_Prims): Value lowered to 15 (or 9 in case of
757         configurable runtime) Update documentation of predefined
758         primitives since Alignment has been removed.
759         * exp_disp.ads Update documentation of slots of dispatching
760         primitives.
761         * exp_disp.adb (Default_Prim_Op_Position): Update slot
762         values since alignment is no longer a predefined primitive.
763         (Is_Predefined_Dispatch_Operation): Remove _alignment.
764         (Is_Predefined_Internal_Operation): Remove _alignment.
765         (Make_DT): Update static test on the value stored in a-tags.ads
766         for Max_Predef_Prims; store the value of 'alignment in the TSD.
767         * exp_atag.ads, exp_atag.adb (Build_Get_Alignment): New subprogram
768         that retrieves the alignment from the TSD
769         * exp_util.adb (Build_Allocated_Deallocate_Proc): For deallocation
770         of class-wide types obtain the value of alignment from the TSD.
771         * exp_attr.adb (Expand_N_Attribute_Reference): For 'alignment
772         applied to a class-wide type invoke Build_Get_Alignment to
773         generate code which retrieves the value of the alignment from
774         the TSD.
775         * rtsfind.ads (RE_Alignment): New Ada.Tags entity
776         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For tagged
777         types if the value of the alignment is bigger than the Maximum
778         alignment then set the value of the alignment to the Maximum
779         alignment and report a warning.
780         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate
781         spec of _alignment.
782         (Predefined_Primitive_Bodies): Do not generate body of _alignment.
783
784 2011-12-12  Gary Dismukes  <dismukes@adacore.com>
785
786         * freeze.adb (Freeze_Expression): Allow freezing of static
787         scalar subtypes that are prefixes of an attribute, even if not
788         yet marked static. Such attributes will get marked as static
789         later in Eval_Attribute (as called from Resolve_Attribute).
790         * sem_attr.adb (Eval_Attribute): Remove wrong code that does an
791         early return for attribute prefixes that are unfrozen source-level
792         types. This code was incorrectly bypassing folding of unfrozen
793         static subtype attributes in default expressions (the executable
794         example in the now-deleted comment was in fact illegal).
795
796 2011-12-12  Robert Dewar  <dewar@adacore.com>
797
798         * a-coinve.adb, sem_res.adb, prj-nmsc.adb, a-cobove.adb, a-convec.adb,
799         gnatls.adb, sem_ch13.adb, prj-env.adb, prj-env.ads: Minor reformatting.
800
801 2011-12-12  Tristan Gingold  <gingold@adacore.com>
802
803         * gsocket.h: Adjust previous patch.
804
805 2011-12-12  Thomas Quinot  <quinot@adacore.com>
806
807         * exp_disp.adb: Minor reformatting.
808
809 2011-12-12  Tristan Gingold  <gingold@adacore.com>
810
811         * gnatls.adb (Search_RTS): New procedure.
812         (Scan_Ls_Arg): Move code that search the RTS.
813         (Gnatls): search the RTS later.
814         * prj-env.ads, prj-env.adb (Get_Runtime_Path): New function.
815
816 2011-12-12  Ed Falis  <falis@adacore.com>
817
818         * sysdep.c: Fix treatment of VxWorks task options so that run-times
819         built with __SPE__ get option VX_SPE_TASK while others get VX_FP_TASK.
820
821 2011-12-12  Bob Duff  <duff@adacore.com>
822
823         * sem_type.adb, sem_type.ads, sem_ch4.adb, treepr.adb, treepr.ads:
824         Minor cleanup and fiddling with debug printouts.
825
826 2011-12-12  Vincent Celier  <celier@adacore.com>
827
828         * prj-nmsc.adb (Get_Directories): For a non extending project,
829         always get a declared object and/or exec directory if it already
830         exists, even when there are no sources, but do not create them.
831
832 2011-12-12  Bob Duff  <duff@adacore.com>
833
834         * sem_res.adb (Resolve): Deal with the case where an abstract
835         operator is called with operands of type universal_integer.
836
837 2011-12-12  Thomas Quinot  <quinot@adacore.com>
838
839         * par_sco.adb: Minor fix to dominance marker referencing WHILE
840         decision.
841
842 2011-12-12  Tristan Gingold  <gingold@adacore.com>
843
844         * mlib-tgt-specific-xi.adb: (Get_Target_Prefix): Simplify code.
845
846 2011-12-12  Thomas Quinot  <quinot@adacore.com>
847
848         * par_sco.adb: Adjust dominant marker for branches of CASE
849         statements.
850
851 2011-12-12  Thomas Quinot  <quinot@adacore.com>
852
853         * gsocket.h, s-oscons-tmplt.c: Ensure we do not include any system
854         header file prior to redefining FD_SETSIZE.
855
856 2011-12-12  Ed Schonberg  <schonberg@adacore.com>
857
858         * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): In
859         a generic context the aspect expressions may not have been
860         preanalyzed if there was no previous freeze point, so the
861         expressions must be preanalyzed now, and there is no conformance
862         to check for visibility changes.
863
864 2011-12-12  Matthew Heaney  <heaney@adacore.com>
865
866         * a-convec.adb, a-coinve.adb, a-cobove.adb (Iterator): Use
867         subtype Index_Type'Base for Index component (Finalize): Remove
868         unnecessary access check (First, Last): Cursor return value
869         depends on iterator index value (Iterate): Use start position as
870         iterator index value (Next, Previous): Forward to corresponding
871         cursor-based operation.
872         * a-cborma.adb (Iterate): Properly initialize iterator object (with 0
873         as node index).
874
875 2011-12-12  Robert Dewar  <dewar@adacore.com>
876
877         * par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting.
878
879 2011-12-12  Steve Baird  <baird@adacore.com>
880
881         * sem_ch3.adb (Check_Completion): Improve a comment.
882
883 2011-12-12  Tristan Gingold  <gingold@adacore.com>
884
885         * cstand.adb: Minor comment fix.
886
887 2011-12-11  Eric Botcazou  <ebotcazou@adacore.com>
888
889         * gcc-interface/utils2.c (gnat_build_constructor): Test the TREE_STATIC
890         flag of elements to compute that of the constructor.
891
892 2011-12-11  Eric Botcazou  <ebotcazou@adacore.com>
893
894         * gcc-interface/decl.c (gnat_to_gnu_param): Set the restrict qualifier
895         on references built for parameters which aren't specifically by-ref.
896
897 2011-12-11  Eric Botcazou  <ebotcazou@adacore.com>
898
899         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If there is an
900         alignment set on a renaming, assert that the renamed object is aligned
901         enough as to make it possible to honor it.
902
903 2011-12-11  Eric Botcazou  <ebotcazou@adacore.com>
904
905         * gcc-interface/trans.c (gigi): Initialize the linemap earlier.
906
907 2011-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
908
909         * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS [windows targets]):
910         Correctly detect cygwin, which no longer has the '32' suffix, and use
911         appropriate implementations of the sockets and memory packages.
912         * sysdep.c (WIN_SETMODE): New define to choose the correct spelling of
913         setmode/_setmode for MinGW and Cygwin, respectively.
914         (__gnat_set_binary_mode [windows targets]): Use the above, and enable
915         the windows version for Cygwin as well as MinGW.
916         (__gnat_set_text_mode [windows targets]): Likewise.
917         (__gnat_ttyname [windows targets]): Provide a Cygwin implementation
918         in addition to the MinGW version.
919         (__gnat_is_windows_xp): Make available to Cygwin as well as MinGW.
920         (__gnat_get_stack_bounds): Likewise.
921
922 2011-12-05  Bob Duff  <duff@adacore.com>
923
924         * sem_ch4.adb: Minor comment fix.
925
926 2011-12-05  Robert Dewar  <dewar@adacore.com>
927
928         * gnat_ugn.texi: Add documentation for -gnatw.e.
929
930 2011-12-05  Bob Duff  <duff@adacore.com>
931
932         * treepr.adb (pn): Print something useful for
933         Elmt_Ids. Add Write_Eol to 'when others' case, so the output
934         will be seen immediately in gdb.
935
936 2011-12-05  Ed Schonberg  <schonberg@adacore.com>
937
938         * lib-writ.adb (Output_Main_Program_Line): A generic subprogram
939         is never a main program.
940
941 2011-12-05  Thomas Quinot  <quinot@adacore.com>
942
943         * par_sco.adb: Various minor adjustments to dominance markers
944         generation.
945
946 2011-12-05  Ed Schonberg  <schonberg@adacore.com>
947
948         * sem_ch6.adb (Analyze_Expression_Function): If the function is
949         a completion, generate a body reference for its defining entity,
950         before rewriting the node as a body.
951         * sem_util.adb (Defining_Entity): Add entry for expression
952         function.
953
954 2011-12-05  Bob Duff  <duff@adacore.com>
955
956         * sem_ch3.adb (Derive_Progenitor_Subprograms): Add Ultimate_Alias
957         to the Comes_From_Source check, to deal properly with the case
958         of indirect inheritance of "=".
959
960 2011-12-05  Thomas Quinot  <quinot@adacore.com>
961
962         PR ada/51307
963         * s-oscons-tmplt.c: On HP-UX, CLOCK_REALTIME is an enum literal,
964         not a macro.
965
966 2011-12-05  Thomas Quinot  <quinot@adacore.com>
967
968         * par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Generate dominance
969         information in SCOs.
970
971 2011-12-02  Eric Botcazou  <ebotcazou@adacore.com>
972             Thomas Quinot <quinot@adacore.com>
973
974         * gcc-interface/Makefile.in (INCLUDES): Remove $(srcdir)/config.
975         (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) except for VxWorks.
976         Add thread.c to LIBGNAT_SRCS so that a symlink is created in ada/rts,
977         which allows the file to be installed in adainclude.
978         * gcc-interface/Make-lang.in: Update dependencies.
979
980 2011-12-02  Javier Miranda  <miranda@adacore.com>
981
982         * sem_ch3.adb (Constrain_Access): Undo previous
983         patch for this routine. Required since the RM rule 3.7.1(7/3)
984         applies to all access types.
985
986 2011-12-02  Bob Duff  <duff@adacore.com>
987
988         * sem_ch6.adb: Minor comment fix.
989
990 2011-12-02  Joel Sherrill <joel.sherrill@oarcorp.com>
991
992         * s-tpopsp-rtems.adb: Use ATCB_Key rather than RTEMS_Ada_Self variable
993         for consistency with other ports.
994         * s-osinte-rtems.adb: Add body for dummy implementation of
995         pthread_rwlockattr_setkind_np().
996         * s-osinte-rtems.ads: Add missing clock and rwlock bindings.
997         * terminals.c: Add __rtems__ conditionals to account for differences
998         in termios implementation.
999
1000 2011-12-02  Robert Dewar  <dewar@adacore.com>
1001
1002         * sem_ch3.adb, sem_attr.adb, a-comutr.adb, a-cbmutr.adb,
1003         a-cbmutr.ads: Minor reformatting.
1004
1005 2011-12-02  Hristian Kirtchev  <kirtchev@adacore.com>
1006
1007         * exp_dbug.adb: Comment reformatting.
1008         (Get_External_Name): Use Reset_Buffers to reset the contents of
1009         Name_Buffer and Homonym_Numbers.
1010         (Qualify_All_Entity_Names): Reset the contents of Name_Buffer and
1011         Homonym_Numbers before creating a new qualified name for a particular
1012         entity.
1013         (Reset_Buffers): New routine.
1014
1015 2011-12-02  Matthew Heaney  <heaney@adacore.com>
1016
1017         * a-cbmutr.ads (No_Node): Moved declaration from body to spec
1018         * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Iterator): Derives
1019         from Root_Iterator.
1020         (Child_Iterator): Derives from Root_Iterator.
1021         (Finalize): Implemented as an override operation for Root_Iterator.
1022         (First): Return value depends on Subtree component.
1023         (Last): Component was renamed from Parent to Subtree.
1024         (Next): Checks parameter value, and uses simplified loop.
1025         (Iterate): Forwards to Iterate_Subtree.
1026         (Iterate_Children): Component was renamed from Parent to Subtree.
1027         (Iterate_Subtree): Checks parameter value
1028
1029 2011-12-02  Robert Dewar  <dewar@adacore.com>
1030
1031         * usage.adb: Add lines for -gnatw.n and -gnatw.N
1032         (atomic sync info msgs).
1033
1034 2011-12-02  Steve Baird  <baird@adacore.com>
1035
1036         * sem_ch3.adb (Check_Completion): An Ada 2012
1037         generic formal type doesn't require a completion.
1038
1039 2011-12-02  Eric Botcazou  <ebotcazou@adacore.com>
1040
1041         * sem_util.adb (Set_Debug_Info_Needed): Also set the flag on the
1042         packed array type if it is to be set on the array type used to
1043         represent it.
1044
1045 2011-12-02  Robert Dewar  <dewar@adacore.com>
1046
1047         * gnat_rm.texi: Eliminate confusing use of type name.
1048
1049 2011-12-02  Thomas Quinot  <quinot@adacore.com>
1050
1051         * sem_ch10.adb (Analyze_Compilation_Unit): For a library subprogram
1052         body that acts as spec, do not create a shallow copy of the context
1053         clause for the synthetized spec (instead, use the same list as
1054         in the body).
1055
1056 2011-12-02  Bob Duff  <duff@adacore.com>
1057
1058         * gnat_ugn.texi: Clarify usage of -p binder switch.
1059
1060 2011-12-02  Javier Miranda  <miranda@adacore.com>
1061
1062         * sem_util.ads, sem_util.adb, sem_aux.ads, sem_aux.adb
1063         (Effectively_Has_Constrained_Partial_View): Moved to sem_aux
1064         (In_Generic_Body): Moved to sem_aux.
1065         (Unit_Declaration_Node): Moved to sem_aux.
1066         * einfo.ads (Effectively_Has_Constrained_Partial_View): Complete
1067         documentation.
1068         * exp_attr.adb, live.adb, sem_ch10.adb, checks.adb, sem.adb,
1069         rtsfind.adb, sem_attr.adb, sem_elab.adb, exp_ch4.adb, sem_ch4.adb,
1070         exp_ch13.adb: Add with-clause on Sem_Aux.
1071
1072 2011-12-02  Yannick Moy  <moy@adacore.com>
1073
1074         * sem_util.adb (Unique_Name): Reach through Unique_Entity to
1075         get the name of the entity.
1076         (Unique_Entity): Correct case for subprogram stubs.
1077
1078 2011-12-02  Yannick Moy  <moy@adacore.com>
1079
1080         * sem_ch3.adb (Check_Initialization): Do not emit warning on
1081         initialization of limited type object in Alfa mode.
1082
1083 2011-12-02  Robert Dewar  <dewar@adacore.com>
1084
1085         * sinfo.ads: Minor reformatting.
1086         * gnat_ugn.texi: Fix confusion in use of term "type name".
1087
1088 2011-12-02  Robert Dewar  <dewar@adacore.com>
1089
1090         * sem_ch6.adb: Minor change in error message.
1091
1092 2011-12-02  Robert Dewar  <dewar@adacore.com>
1093
1094         * sem_ch9.adb, prj-part.adb, vms_data.ads, sem_ch8.adb: Minor
1095         reformatting.
1096
1097 2011-12-02  Javier Miranda  <miranda@adacore.com>
1098
1099         * sem_ch3.adb (Constrain_Access): Enable on Ada 2005 mode the
1100         static check of the rule of general access types whose designated
1101         type has discriminants.
1102         * sem_util.ads, sem_util.adb
1103         (Effectively_Has_Constrained_Partial_View): New subprogram.
1104         (In_Generic_Body): New subprogram.
1105         * einfo.ads (Has_Constrained_Partial_View): Adding documentation.
1106         * sem_prag.adb (Inside_Generic_Body): Removed. Replaced by new
1107         subprogram In_Generic_Body.
1108         * exp_attr.adb, checks.adb, sem_attr.adb, exp_ch4.adb,
1109         sem_ch4.adb: In addition, this patch replaces the occurrences of
1110         Has_Constrained_Partial_View by
1111         Effectively_Has_Constrained_Partial_View.
1112
1113 2011-12-02  Matthew Heaney  <heaney@adacore.com>
1114
1115         * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Iterator): Rename
1116         Position component.
1117         (Finalize): Remove unnecessary access check.
1118         (First): Forward to First_Child.
1119         (Last): Forward to Last_Child.
1120         (Iterate): Check preconditions for parent node parameter.
1121         (Next): Forward to Next_Sibling.
1122         (Previous): Forward to Previous_Sibling.
1123
1124 2011-12-02  Robert Dewar  <dewar@adacore.com>
1125
1126         * a-coinve.adb, a-coorma.adb, freeze.adb, a-coorse.adb, a-comutr.adb,
1127         a-coormu.adb, a-convec.adb: Minor reformatting.
1128
1129 2011-12-02  Matthew Heaney  <heaney@adacore.com>
1130
1131         * a-coormu.ads, a-ciormu.ads: Declare iterator factory function.
1132         * a-ciormu.adb, a-ciormu.adb (Iterator): Declare concrete
1133         Iterator type.
1134         (Finalize): Decrement busy counter.
1135         (First, Last): Cursor return value depends on iterator node value.
1136         (Iterate): Use start position as iterator node value.
1137         (Next, Previous): Forward to corresponding cursor-based operation.
1138
1139 2011-12-02  Robert Dewar  <dewar@adacore.com>
1140
1141         * a-cborma.adb, a-cbhama.adb, a-cbdlli.adb, a-cbmutr.adb,
1142         a-cbhase.adb, a-cdlili.adb, a-cihama.adb, a-ciorse.adb, a-cidlli.adb,
1143         a-cimutr.adb, a-cihase.adb, a-cohama.adb, a-cborse.adb,
1144         a-ciorma.adb, a-cobove.adb: Minor reformatting.
1145
1146 2011-12-01  Jakub Jelinek  <jakub@redhat.com>
1147
1148         PR bootstrap/51201
1149         * gcc-interface/Make-lang.in: Initialize RTS_DIR with = instead of :=.
1150
1151 2011-11-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1152
1153         * s-taprop-tru64.adb (Create_Task): Use Unrestricted_Access.
1154
1155 2011-11-23  Thomas Quinot  <quinot@adacore.com>
1156
1157         * thread.c, s-oscons-tmplt.c: Generate __gnat_pthread_condattr_setup
1158         only on platforms where this is required, as determined by
1159         s-oscons.h.
1160
1161 2011-11-23  Ed Schonberg  <schonberg@adacore.com>
1162
1163         * sem_ch9.adb: No check on entry index if error on index.
1164
1165 2011-11-23  Gary Dismukes  <dismukes@adacore.com>
1166
1167         * sem_ch6.adb (Analyze_Return_Statement): Improve error messages for
1168         return statements nested inside an extended_return_statement.
1169         * gcc-interface/Make-lang.in: Update dependencies.
1170         * gcc-interface/Makefile.in (MISCLIB): Add -lutil for BSD targets.
1171
1172 2011-11-23  Ed Schonberg  <schonberg@adacore.com>
1173
1174         * freeze.adb (Freeze_All_Ent): An incomplete type is not
1175         frozen by a subprogram body that does not come from source.
1176
1177 2011-11-23  Pascal Obry  <obry@adacore.com>
1178
1179         * s-oscons-tmplt.c: Add PTY_Library constant. It contains
1180         the library for pseudo terminal support.
1181         * g-exptty.ads: Add pseudo-terminal library into a Linker_Options
1182         pragma.
1183
1184 2011-11-23  Ed Schonberg  <schonberg@adacore.com>
1185
1186         * sem_ch9.adb: No check on entry family index if generic.
1187
1188 2011-11-23  Thomas Quinot  <quinot@adacore.com>
1189
1190         * sem_ch9.adb, s-taprop.ads, s-taprop-hpux-dce.adb, s-taprop-irix.adb,
1191         s-taprop-posix.adb, s-taprop-rtx.adb, s-taprop-solaris.adb,
1192         s-taprop-tru64.adb, s-taprop-vxworks.adb: Move dependency on
1193         System.OS_Constants from shared spec of
1194         System.Tasking.Primitive_Operations to the specific body variants
1195         that really require this dependency.
1196
1197 2011-11-23  Ed Schonberg  <schonberg@adacore.com>
1198
1199         * sem_ch8.adb (Analyze_Subprogram_Renaming_Declaration):
1200         If the declaration has aspects, analyze them so they can be
1201         properly rejected.
1202
1203 2011-11-23  Hristian Kirtchev  <kirtchev@adacore.com>
1204
1205         * a-comutr.adb, a-coorma.adb, a-coorse.adb, a-convec.adb, a-cihase.adb,
1206         a-cimutr.adb, a-coinve.adb, a-ciorma.adb, a-ciorse.adb, a-cobove.adb,
1207         a-cohama.adb, a-cihama.adb, a-cidlli.adb, a-cdlili.adb, a-cbhama.adb,
1208         a-cbhase.adb, a-cbmutr.adb, a-cborma.adb, a-cborse.adb, a-cbdlli.adb:
1209         Add with and use clause for Ada.Finalization. Type
1210         Iterator and Child_Iterator are now derived from Limited_Controlled.
1211         (Finalize): New routine.
1212         (Iterate): Add a renaming of counter Busy and
1213         increment it. Update the return aggregate.
1214         (Iterate_Children): Add a renaming of
1215         counter Busy and increment it. Update the return aggregate.
1216         (Iterate_Subtree): Add a renaming of counter Busy and increment
1217         it. Update the return aggregate.
1218         * a-cdlili.ads, a-cidlli.ads: Type List_Access is now a general access
1219         type.
1220         * a-cihama.ads: Type Map_Access is now a general access type.
1221         * a-comutr.ads, a-cimutr.ads: Use type Natural for the two locks
1222         associated with the tree.
1223         * a-cohama.ads: Type Map_Access is now a general access type.
1224         * a-coinve.ads, a-convec.ads: Type Vector_Access is now a general
1225         access type.
1226         * exp_ch5.adb (Expand_Iterator_Loop): Do not create a block
1227         to wrap the loop as this is done at an earlier step, during
1228         analysis. The declarations of the iterator and the cursor use
1229         the usual Insert_Action mechanism when added into the tree.
1230         * sem_ch5.adb (Analyze_Loop_Statement): Remove local constant
1231         Loop_Statement and replace all respective uses by N. Add local
1232         constant Loc. Preanalyze the loop iterator to discover whether
1233         it is a container iterator and if it is, wrap the loop in a
1234         block. This ensures that any controlled temporaries produced
1235         by the iteration scheme share the same lifetime of the loop.
1236         (Is_Container_Iterator): New routine.
1237         (Is_Wrapped_In_Block): New routine.
1238         (Pre_Analyze_Range): Move spec and body to the library level.
1239
1240 2011-11-23  Sergey Rybin  <rybin@adacore.com frybin>
1241
1242         * gnat_ugn.texi, vms_data.ads: Add documentation for new gnatpp option
1243         that controls casing of type and subtype names.
1244
1245 2011-11-23  Yannick Moy  <moy@adacore.com>
1246
1247         * sem_ch3.adb: Minor addition of comments.
1248
1249 2011-11-23  Thomas Quinot  <quinot@adacore.com>
1250
1251         * prj-part.adb (Extension_Withs): New global variable,
1252         contains the head of the list of WITH clauses from the EXTENDS
1253         ALL projects for which virtual packages are being created.
1254         (Look_For_Virtual_Projects_For): When recursing through
1255         an EXTENDS ALL, add the WITH clauses of the extending
1256         project to Extension_Withs.  When adding a project to the
1257         Virtual_Hash, record the associated Extension_Withs list.
1258         (Create_Virtual_Extending_Project): Add a copy of the appropriate
1259         Extension_Withs to the virtual project.
1260
1261 2011-11-23  Thomas Quinot  <quinot@adacore.com>
1262
1263         * mlib-tgt-specific-vxworks.adb: Minor reformatting.
1264
1265 2011-11-23  Thomas Quinot  <quinot@adacore.com>
1266
1267         * Make-generated.in (Sdefault.Target_Name): Set to
1268         $(target_noncanonical) instead of $(target) for consistency.
1269
1270 2011-11-23  Matthew Heaney  <heaney@adacore.com>
1271
1272         * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Iterator): Declared
1273         Iterator type as limited (First, Last): Cursor return value
1274         depends on iterator node value (Iterate): Use start position as
1275         iterator node value (Next, Previous): Forward to corresponding
1276         cursor-based operation.
1277
1278 2011-11-23  Matthew Heaney  <heaney@adacore.com>
1279
1280         * a-coorse.ads, a-ciorse.ads, a-cborse.ads (Set_Iterator_Interfaces):
1281         Renamed from Ordered_Set_Iterator_Interfaces.
1282         * a-coorse.adb, a-ciorse.adb, a-cborse.adb (Iterator): Declared
1283         Iterator type as limited (First, Last): Cursor return value
1284         depends on iterator node value (Iterate): Use start position as
1285         iterator node value (Next, Previous): Forward to corresponding
1286         cursor-based operation.
1287         * a-cohase.ads, a-cohase.adb: Implemented forward iterator.
1288         * a-cihase.adb, a-cbhase.adb (Iterator): Removed unnecessary
1289         node component (First, Next): Forward call to corresponding
1290         cursor-based operation (Iterate): Representation of iterator no
1291         longer has node component
1292
1293 2011-11-23  Hristian Kirtchev  <kirtchev@adacore.com>
1294
1295         * exp_intr.adb (Expand_Unc_Deallocation): Ensure that the
1296         dereference has a proper type before the side effect removal
1297         mechanism kicks in.
1298         * sem_ch3.adb (Analyze_Subtype_Declaration): Handle a rare case
1299         where the base type of the subtype is a private itype created
1300         to act as the partial view of a constrained record type. This
1301         scenario manifests with equivalent class-wide types for records
1302         with unknown discriminants.
1303
1304 2011-11-23  Jerome Guitton  <guitton@adacore.com>
1305
1306         * s-osprim-vxworks.adb (Clock): Use Clock_RT_Ada.
1307
1308 2011-11-23  Thomas Quinot  <quinot@adacore.com>
1309
1310         * s-oscons-tmplt.c: Fix unbalanced preprocessor directives Minor
1311         reformatting/reorganization.
1312
1313 2011-11-23  Thomas Quinot  <quinot@adacore.com>
1314
1315         * g-htable.ads: Remove old comments.
1316
1317 2011-11-23  Thomas Quinot  <quinot@adacore.com>
1318
1319         * exp_imgv.adb: Minor reformatting.
1320
1321 2011-11-23  Robert Dewar  <dewar@adacore.com>
1322
1323         * sem_ch9.adb (Analyze_Entry_Declaration): Check for entry
1324         family bounds out of range.
1325
1326 2011-11-23  Matthew Heaney  <heaney@adacore.com>
1327
1328         * a-cohama.adb, a-cihama.adb, a-cbhama.adb (Iterator): Declare
1329         type as limited, and remove node component.
1330         (First, Next): Forward call to corresponding cursor-based operation.
1331         (Iterate): Representation of iterator no longer has node component.
1332
1333 2011-11-23  Yannick Moy  <moy@adacore.com>
1334
1335         * exp_util.adb: Revert previous change to remove side-effects in Alfa
1336         mode, which is not the correct thing to do for renamings.
1337
1338 2011-11-23  Thomas Quinot  <quinot@adacore.com>
1339
1340         * s-osinte-hpux.ads, s-taprop-vxworks.adb, s-taprop-tru64.adb,
1341         s-osinte-vxworks.ads, s-osinte-aix.ads, s-osinte-lynxos.ads,
1342         s-osinte-solaris-posix.ads, s-taprop-solaris.adb, a-exetim-posix.adb,
1343         s-osinte-irix.ads, s-osinte-solaris.ads, s-oscons-tmplt.c,
1344         s-taprop-irix.adb, s-osinte-hpux-dce.ads, Makefile.rtl,
1345         s-osinte-tru64.ads, s-osinte-darwin.ads, s-taprop.ads,
1346         s-osinte-freebsd.ads, s-osinte-lynxos-3.ads, s-taprop-hpux-dce.adb,
1347         s-taprop-posix.adb: Remove hard-coded clock ids;
1348         instead, generate them in System.OS_Constants.
1349         (System.OS_Constants.CLOCK_RT_Ada): New constant denoting the
1350         id of the clock providing Ada.Real_Time.Monotonic_Clock.
1351         * thread.c: New file.
1352         (__gnat_pthread_condattr_setup): New function. For platforms where
1353         CLOCK_RT_Ada is not CLOCK_REALTIME, set appropriate condition
1354         variable attribute.
1355
1356 2011-11-23  Yannick Moy  <moy@adacore.com>
1357
1358         * sem_ch3.adb: Restore the use of Expander_Active instead of
1359         Full_Expander_Active, so that the evaluation is forced in Alfa
1360         mode too. Otherwise, we end up with an unexpected insertion in a
1361         place where it is not supposed to happen, on default parameters
1362         of a call.
1363
1364 2011-11-23  Thomas Quinot  <quinot@adacore.com>
1365
1366         * prj-pp.adb, prj-pp.ads: Minor new addition: wrapper procedure "wpr"
1367         for Pretty_Print, for use from within gdb.
1368
1369 2011-11-23  Ed Schonberg  <schonberg@adacore.com>
1370
1371         * exp_ch5.adb (Expand_Iterator_Loop): Wrap the expanded loop
1372         and the cursor declarations in a block, so that the loop variable
1373         is local to the construct.
1374
1375 2011-11-23  Matthew Heaney  <heaney@adacore.com>
1376
1377         * a-coorma.ads, a-ciorma.ads, a-cborma.ads (Iterate): Returns
1378         type Reversible_Iterator'Class.
1379         * a-coorma.adb, a-ciorma.adb, a-cborma.adb (Iterator):
1380         Declare type as limited.
1381         (First, Last): Return value depends on iterator's start node value.
1382         (Next, Previous): Call corresponding Cursor-based operation.
1383         (Iterate): Indicate whether complete or partial iteration
1384
1385 2011-11-23  Robert Dewar  <dewar@adacore.com>
1386
1387         * errout.adb: Minor reformattin (Finalize): Take templates into
1388         account for warning suppression.
1389         * errout.ads (Set_Specific_Warning_Off): Add Used parameter.
1390         * erroutc.adb: Minor reformatting (Finalize): Take generic
1391         templates into account for warning suppress.
1392         * erroutc.ads (Set_Specific_Warning_Off): Add Used parameter.
1393         * sem_prag.adb: Minor reformatting (Analyze_Pragma,
1394         case Warnings): Provide Used parameter in call to
1395         Set_Specific_Warnings_Off (to deal with generic template case).
1396
1397 2011-11-23  Pascal Obry  <obry@adacore.com>
1398
1399         * sem_prag.adb (Process_Convention): Better error message for
1400         stdcall convention on dispatching calls.
1401
1402 2011-11-23  Gary Dismukes  <dismukes@adacore.com>
1403
1404         * sem_ch4.adb, sem_ch13.adb: Minor reformatting.
1405
1406 2011-11-23  Javier Miranda  <miranda@adacore.com>
1407
1408         * exp_ch6.adb (Expand_Simple_Function_Return): Add missing
1409         implicit type conversion when the returned object is allocated
1410         in the secondary stack and the type of the returned object is
1411         an interface. Done to force generation of displacement of the
1412         "this" pointer.
1413
1414 2011-11-23  Pascal Obry  <obry@adacore.com>
1415
1416         * impunit.adb: Add g-exptty and g-tty units.
1417
1418 2011-11-23  Robert Dewar  <dewar@adacore.com>
1419
1420         * exp_imgv.adb: Minor code reorganization (use Make_Temporary).
1421
1422 2011-11-23  Robert Dewar  <dewar@adacore.com>
1423
1424         * exp_util.adb, par-ch6.adb, sem_res.adb, par-util.adb: Minor
1425         reformatting.
1426
1427 2011-11-23  Yannick Moy  <moy@adacore.com>
1428
1429         * sem_ch13.adb (Analyze_Aspect_Specifications): Place error on
1430         line of precondition/ postcondition/invariant.
1431
1432 2011-11-23  Pascal Obry  <obry@adacore.com>
1433
1434         * g-exptty.ads, g-exptty.adb, g-tty.ads, g-tty.adb,
1435         terminals.c: New files.
1436         Makefile.rtl: Add these new files.
1437         * gnat_rm.texi: Add documentation for GNAT.Expect.TTY.
1438         * gcc-interface/Makefile.in: Add g-exptty, g-tty, terminals.o
1439         * gcc-interface/Make-lang.in: Update dependencies.
1440
1441 2011-11-21  Robert Dewar  <dewar@adacore.com>
1442
1443         * exp_imgv.adb (Expand_Width_Attribute): Handle case of Discard_Names.
1444         * sem_attr.adb (Eval_Attribute, case Width): Ditto.
1445
1446 2011-11-21  Thomas Quinot  <quinot@adacore.com>
1447
1448         * sinfo.ads: Minor reformatting.
1449
1450 2011-11-21  Yannick Moy  <moy@adacore.com>
1451
1452         * exp_util.adb: Minor reformatting. Update comments.
1453
1454 2011-11-21  Robert Dewar  <dewar@adacore.com>
1455
1456         * exp_prag.adb, exp_util.adb, sinfo.ads, sem_res.adb, s-stposu.adb,
1457         sem_attr.adb, s-stposu.ads, s-taprop-solaris.adb, s-taprop-irix.adb,
1458         sem_ch6.adb: Minor reformatting.
1459
1460 2011-11-21  Arnaud Charlet  <charlet@adacore.com>
1461
1462         * s-taprop-irix.adb, s-taprop-solaris.adb (Create_Task): Use
1463         Unrestricted_Access to deal with fact that we properly detect the
1464         error if Access is used.
1465         * gcc-interface/Make-lang.in: Update dependencies.
1466
1467 2011-11-21  Yannick Moy  <moy@adacore.com>
1468
1469         * exp_prag.adb (Expand_Pragma_Check): Place error on first character
1470         of expression.
1471         * sem_res.adb (Resolve_Short_Circuit): Place error on first
1472         character of expression.
1473
1474 2011-11-21  Yannick Moy  <moy@adacore.com>
1475
1476         * exp_util.adb (Remove_Side_Effects): Do nothing in Alfa mode.
1477
1478 2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>
1479
1480         * exp_attr.adb (Expand_N_Attribute_Reference, case
1481         Max_Size_In_Storage_Elements): Account for the size of the
1482         hidden list header which precedes controlled objects allocated
1483         on the heap.
1484         * rtsfind.ads: Add RE_Header_Size_With_Padding to the runtime
1485         tables.
1486         * sinfo.adb (Header_Size_Added): New routine.
1487         (Set_Header_Size_Added): New routine.
1488         * sinfo.ads: Add flag Controlled_Header_Added along with
1489         associated comment.
1490         (Header_Size_Added): New inlined routine.
1491         (Set_Header_Size_Added): New inlined routine.
1492         * s-stposu.adb (Allocate_Any_Controlled): Use
1493         Header_Size_With_Padding to calculate the proper
1494         size of the header.
1495         (Deallocate_Any_Controlled): Use
1496         Header_Size_With_Padding to calculate the proper size
1497         of the header.  (Header_Size_With_Padding): New routine.
1498         (Nearest_Multiple_Rounded_Up): Removed along with its uses.
1499         * s-stposu.ads (Header_Size_With_Padding): New routine.
1500
1501 2011-11-21  Ed Schonberg  <schonberg@adacore.com>
1502
1503         * aspects.adb: Aspect specifications are allowed on renaming
1504         declarations
1505         * par-ch6.adb (P_Subprogram): Parse aspect specifications in a
1506         subprogram renaming declaration
1507
1508 2011-11-21  Tristan Gingold  <gingold@adacore.com>
1509
1510         * env.c: Remove unused declaration.
1511
1512 2011-11-21  Pascal Obry  <obry@adacore.com>
1513
1514         * s-os_lib.ads: Minor style fix.
1515
1516 2011-11-21  Pascal Obry  <obry@adacore.com>
1517
1518         * adaint.c (__gnat_dup2): When fd are stdout, stdin or stderr and
1519         identical, do nothing on Windows XP.
1520
1521 2011-11-21  Yannick Moy  <moy@adacore.com>
1522
1523         * sem_ch3.adb (Constrain_Index, Process_Range_Expr_In_Decl):
1524         Use Full_Expander_Active instead of Expander_Active to control
1525         the forced evaluation of expressions for the sake of generating
1526         checks.
1527
1528 2011-11-21  Thomas Quinot  <quinot@adacore.com>
1529
1530         * init.c: On FreeBSD, stack checking failures may raise SIGBUS.
1531
1532 2011-11-21  Tristan Gingold  <gingold@adacore.com>
1533
1534         * sysdep.c (mode_read_text, mode_write_text, mode_append_text,
1535         mode_read_binary, mode_write_binary, mode_append_binary,
1536         mode_read_text_plus, mode_write_text_plus, mode_append_text_plus,
1537         mode_read_binary_plus, mode_write_binary_plus,
1538         mode_append_binary_plus): Remove unused declarations.
1539
1540 2011-11-21  Yannick Moy  <moy@adacore.com>
1541
1542         * gnat_rm.texi: Minor rewording.
1543
1544 2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>
1545
1546         * exp_imgv.adb (Expand_Width_Attribute): Emit
1547         an error message rather than a warning when pragma Discard_Names
1548         prevents the computation of 'Width. Do not emit an error through
1549         the use of RE_Null.
1550
1551 2011-11-21  Javier Miranda  <miranda@adacore.com>
1552
1553         * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add
1554         implicit type conversion when the type of the allocator is an
1555         interface. Done to force generation of displacement of the "this"
1556         pointer when required.
1557
1558 2011-11-21  Ed Schonberg  <schonberg@adacore.com>
1559
1560         * sinfo.ads, sinfo.adb: Corresponding_Spec applies to expression
1561         functions, and is set when the expression is a completion of a
1562         previous declaration.
1563         * sem_ch6.adb (Analyze_Expression_Function): To determine properly
1564         whether an expression function completes a previous declaration,
1565         use Find_Corresponding_Spec, as when analyzing a subprogram body.
1566
1567 2011-11-21  Steve Baird  <baird@adacore.com>
1568
1569         * sem_util.adb (Deepest_Type_Access_Level): Improve comment.
1570         (Type_Access_Level): Improve comment.
1571
1572 2011-11-21  Eric Botcazou  <ebotcazou@adacore.com>
1573
1574         * gcc-interface/Makefile.in (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) by
1575         means of -iquote unconditionally.
1576
1577 2011-11-21  Robert Dewar  <dewar@adacore.com>
1578
1579         * sem_ch3.adb, sem_util.adb, sem_res.adb, sem_attr.adb: Minor
1580         reformatting.
1581
1582 2011-11-21  Arnaud Charlet  <charlet@adacore.com>
1583
1584         * s-taprop-posix.adb (Create_Task): Use Unrestricted_Access
1585         to deal with fact that we properly detect the error if Access
1586         is used.
1587
1588 2011-11-21  Steve Baird  <baird@adacore.com>
1589
1590         * sem_util.ads: Update comment describing function
1591         Deepest_Access_Level.
1592         * sem_util.adb (Deepest_Type_Access_Level): Return Int'Last for a
1593         generic formal type.
1594         (Type_Access_Level): Return library level
1595         for a generic formal type.
1596         * sem_attr.adb (Resolve_Attribute): Replace two Type_Access_Level
1597         calls with calls to Deepest_Type_Access_Level.
1598         * sem_ch3.adb (Analyze_Component_Declaration): replace a
1599         Type_Access_Level call with a call to Deepest_Type_Access_Level.
1600         * sem_res.adb (Resolve_Allocator.Check_Allocator_Discrim_Accessibility):
1601         Replace three Type_Access_Level calls with calls to
1602         Deepest_Type_Access_Level.
1603         (Resolve_Allocator): Replace a Type_Access_Level call with a call to
1604         Deepest_Type_Access_Level.
1605         (Valid_Conversion.Valid_Array_Conversion): Replace a
1606         Type_Access_Level call with a call to Deepest_Type_Access_Level.
1607
1608 2011-11-21  Robert Dewar  <dewar@adacore.com>
1609
1610         * sem_ch3.adb, s-taprop-vms.adb, opt.ads: Minor reformatting.
1611
1612 2011-11-21  Robert Dewar  <dewar@adacore.com>
1613
1614         * sinput.ads: Minor comment fix.
1615
1616 2011-11-21  Robert Dewar  <dewar@adacore.com>
1617
1618         * exp_attr.adb (Expand_N_Attribute_Reference, case First_Bit,
1619         Last_Bit, Position): Handle 2005 case.
1620
1621 2011-11-21  Robert Dewar  <dewar@adacore.com>
1622
1623         * s-atocou-builtin.adb (Decrement): Use Unrestricted_Access
1624         to deal with fact that we properly detect the error if Access
1625         is used.
1626         (Increment): Same fix.
1627         * s-taprop-linux.adb (Create_Task): Use Unrestricted_Access
1628         to deal with fact that we properly detect the error if Access
1629         is used.
1630         * sem_util.adb (Is_Volatile_Object): Properly record that A.B is
1631         volatile if the B component is volatile. This affects the check
1632         for passing such a by reference volatile actual to a non-volatile
1633         formal (which should be illegal)
1634
1635 2011-11-21  Robert Dewar  <dewar@adacore.com>
1636
1637         * freeze.adb (Freeze_Enumeration_Type): Make sure to set both
1638         size and alignment for foreign convention enumeration types.
1639         * layout.adb (Set_Elem_Alignment): Redo setting of alignment
1640         when size is set.
1641
1642 2011-11-21  Yannick Moy  <moy@adacore.com>
1643
1644         * checks.adb (Apply_Access_Check, Apply_Arithmetic_Overflow_Check,
1645         Apply_Discriminant_Check, Apply_Divide_Check,
1646         Apply_Selected_Length_Checks, Apply_Selected_Range_Checks,
1647         Build_Discriminant_Checks, Insert_Range_Checks, Selected_Length_Checks,
1648         Selected_Range_Checks): Replace reference to Expander_Active
1649         with reference to Full_Expander_Active, so that expansion of
1650         checks is not performed in Alfa mode
1651
1652 2011-11-21  Tristan Gingold  <gingold@adacore.com>
1653
1654         * s-taprop-vms.adb (Create_Task): Use Unrestricted_Access to deal with
1655         fact that we properly detect the error if Access is used.
1656
1657 2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>
1658
1659         * par-ch4.adb (P_Quantified_Expression): Add an Ada 2012 check.
1660
1661 2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>
1662
1663         * exp_imgv.adb: Add with and use clause for Errout.
1664         (Expand_Width_Attribute): Emit a warning when in
1665         configurable run-time mode to provide a better diagnostic message.
1666
1667 2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>
1668
1669         * s-finmas.adb (Finalize): Add comment concerning double finalization.
1670
1671 2011-11-21  Ed Schonberg  <schonberg@adacore.com>
1672
1673         * sem_ch3.adb (Access_Definition): If the access definition
1674         is itself the return type of an access to function definition
1675         which is ultimately the return type of an access to subprogram
1676         declaration, its scope is the enclosing scope of the ultimate
1677         access to subprogram.
1678
1679 2011-11-21  Steve Baird  <baird@adacore.com>
1680
1681         * sem_res.adb (Valid_Conversion): If a conversion was legal
1682         in the body of a generic, then the corresponding conversion is
1683         legal in the expanded body of an instance of the generic.
1684
1685 2011-11-21  Robert Dewar  <dewar@adacore.com>
1686
1687         * sem_ch3.adb: Minor reformatting.
1688
1689 2011-11-21  Robert Dewar  <dewar@adacore.com>
1690
1691         * s-utf_32.adb (Is_UTF_32_Line_Terminator): Recognize NEL as
1692         line terminator.
1693         * sinput.ads: Add section on Handling of Source Line Terminators.
1694         * types.ads (Line_Terminator): Adjust comments.
1695
1696 2011-11-21  Robert Dewar  <dewar@adacore.com>
1697
1698         * frontend.adb (Frontend): Capture restrictions from config files
1699         * lib-load.adb (Load_Unit): Save/set/restore restriction pragma
1700         information
1701         * lib-xref.adb (Generate_Reference): Fix handling of obsolescent
1702         references. This was noticed during debugging, but it is not
1703         known if it causes real bugs.
1704         * restrict.ads, restrict.adb: New routines to save/set/restore
1705         non-partition-wide restrictions.
1706         * s-rident.ads: Comment changes for new handling of
1707         No_Elaboration_Code
1708         * sem.adb (Sem): Save/Set/Restore non-partition-wide restrictions
1709         * sem_ch10.adb (Analyze_Compilation_Unit): Remove incomplete
1710         attempt to save/restore non-partition-wide restrictions (now
1711         this work is all done in Sem).
1712         * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
1713         Special handling for restriction No_Elaboration_Code.
1714
1715 2011-11-21  Robert Dewar  <dewar@adacore.com>
1716
1717         * gnat_ugn.texi: Document new handling of restrictions pragmas.
1718
1719 2011-11-21  Pascal Obry  <obry@adacore.com>
1720
1721         * s-taprop-linux.adb (Initialize_Lock): Do not allocate a cond
1722         attribute as not needed.
1723
1724 2011-11-21  Robert Dewar  <dewar@adacore.com>
1725
1726         * sem_prag.adb: Minor reformatting.
1727
1728 2011-11-21  Pascal Obry  <obry@adacore.com>
1729
1730         * gnat_rm.texi: Document restriction for stdcall convention on
1731         dispatching calls.
1732
1733 2011-11-21  Pascal Obry  <obry@adacore.com>
1734
1735         * sem_prag.adb (Process_Convention): A dispatching call cannot
1736         have a stdcall calling convention.
1737
1738 2011-11-21  Pascal Obry  <obry@adacore.com>
1739
1740         * s-taprop-linux.adb (Initialize_Lock): Do not allocate a
1741         mutex attribute as not needed.
1742         (Initialize_TCB): Likewise.
1743         (Initialize): Likewise.
1744
1745 2011-11-21  Robert Dewar  <dewar@adacore.com>
1746
1747         * sem_ch6.adb (Is_Public_Subprogram_For): New procedure
1748         (Process_PPCs): Invariants only apply to public subprograms.
1749
1750 2011-11-21  Robert Dewar  <dewar@adacore.com>
1751
1752         * sem_util.adb, sem_util.ads, sem_attr.adb, restrict.adb,
1753         restrict.ads: Fix for No_Implicit_Aliasing in the renames case.
1754
1755 2011-11-21  Robert Dewar  <dewar@adacore.com>
1756
1757         * a-finali.ads: Use pragma Pure_12 for this unit
1758         * aspects.adb: Add aspect Pure_12
1759         * aspects.ads: Add aspect Pure_12
1760         * opt.ads: Add note on Pure_12
1761         * par-prag.adb: Add dummy entry for Pure_12
1762         * sem_prag.adb: Implement Pure_12 pragma
1763         * snames.ads-tmpl: Add Entry for Pure_12
1764
1765 2011-11-21  Sergey Rybin  <rybin@adacore.com frybin>
1766
1767         * vms_data.ads: Add qualifiers for new gnatpp options
1768         '--call_threshold' and '--par_threshold".
1769         * gnat_ugn.texi: Add description for new gnatpp options
1770         '--call_threshold' and '--par_threshold".
1771
1772 2011-11-21  Robert Dewar  <dewar@adacore.com>
1773
1774         * lib.ads: Minor reformatting.
1775
1776 2011-11-21  Robert Dewar  <dewar@adacore.com>
1777
1778         * lib-load.ads: Add comment.
1779
1780 2011-11-21  Gary Dismukes  <dismukes@adacore.com>
1781
1782         * sem_elab.adb: Minor reformatting
1783
1784 2011-11-21  Robert Dewar  <dewar@adacore.com>
1785
1786         * exp_ch6.adb: Minor reformatting.
1787
1788 2011-11-21  Ed Schonberg  <schonberg@adacore.com>
1789
1790         * sem_ch12.adb (Check_Formal_Package_Instance): If a formal
1791         subprogram of the formal package is covered by an others
1792         association with a box initialization, no check is needed
1793         against the actual in the instantiation of the formal package.
1794
1795 2011-11-21  Robert Dewar  <dewar@adacore.com>
1796
1797         * sem_elab.adb (Check_Internal_Call_Continue): Suppress junk
1798         elab warning from within precondition/postcondition etc.
1799
1800 2011-11-21  Ed Schonberg  <schonberg@adacore.com>
1801
1802         * exp_ch6.adb (Expand_Actuals): In Ada 2012, a function call
1803         with out parameters may generate assignments to force constraint
1804         checks. These checks must be properly placed in the code after the
1805         declaration or statement that contains the call.
1806
1807 2011-11-21  Fedor Rybin  <frybin@adacore.com>
1808
1809         * gnat_ugn.texi: Adding info on current gnattest limitations an
1810         support of -X option.
1811
1812 2011-11-21  Robert Dewar  <dewar@adacore.com>
1813
1814         * a-cfdlli.adb, a-cbdlli.adb: Minor reformatting.
1815
1816 2011-11-20  Robert Dewar  <dewar@adacore.com>
1817
1818         * exp_ch6.adb, exp_util.adb: Minor reformatting
1819
1820 2011-11-20  Eric Botcazou  <ebotcazou@adacore.com>
1821
1822         * sinfo.ads (Reference): Document that it is OK to set
1823         Is_Known_Non_Null on a temporary initialized to a N_Reference
1824         node.
1825
1826 2011-11-20  Matthew Heaney  <heaney@adacore.com>
1827
1828         * a-cbdlli.adb, a-cfdlli.adb (Move): Set Last component to 0
1829         for Source list.
1830
1831 2011-11-20  Eric Botcazou  <ebotcazou@adacore.com>
1832
1833         * exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment):
1834         Declare NEW_EXPR local variable and attach the
1835         temporary to it.  Set Is_Known_Non_Null on the temporary.
1836         (Make_Build_In_Place_Call_In_Object_Declaration): Likewise.
1837         * exp_util.adb (Remove_Side_Effects): Set Is_Known_Non_Null on
1838         the temporary created to hold the 'Reference of the expression,
1839         if any.
1840         * checks.adb (Install_Null_Excluding_Check): Bail out for the
1841         Get_Current_Excep.all.all idiom generated by the expander.
1842
1843 2011-11-20  Eric Botcazou  <ebotcazou@adacore.com>
1844
1845         * gcc-interface/trans.c (struct language_function): Add GNAT_RET.
1846         (f_gnat_ret): New macro.
1847         (struct nrv_data): Add GNAT_RET.
1848         (finalize_nrv_unc_r): New helper function.
1849         (finalize_nrv): Add GNAT_RET parameter.  Copy it into DATA.  If the
1850         function returns unconstrained, use finalize_nrv_unc_r as callback.
1851         (return_value_ok_for_nrv_p): Test the alignment of RET_OBJ only if
1852         RET_OBJ is non-null.
1853         (Subprogram_Body_to_gnu): Pass GNAT_RET to finalize_nrv.
1854         (gnat_to_gnu) <N_Return_Statement>: In the return-unconstrained case,
1855         if optimization is enabled, record candidates for the Named Return
1856         Value optimization.
1857
1858 2011-11-20  Eric Botcazou  <ebotcazou@adacore.com>
1859
1860         * gcc-interface/trans.c (Subprogram_Body_to_gnu): Add comment.
1861         (gnat_to_gnu) <N_Return_Statement>: Add 'else' to avoid doing a useless
1862         test.  Tweak default case.
1863         <N_Goto_Statement>: Use better formatting.
1864         * gcc-interface/utils2.c (maybe_wrap_malloc): Use INIT_EXPR instead of
1865         MODIFY_EXPR to initialize the storage.
1866         (build_allocator): Likewise.
1867
1868 2011-11-20  Eric Botcazou  <ebotcazou@adacore.com>
1869
1870         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Adjust
1871         call to components_to_record.
1872         (components_to_record): Add FIRST_FREE_POS parameter.  For the variant
1873         part, reuse enclosing union even if there is a representation clause
1874         on the Unchecked_Union.  If there is a variant part, compute the new
1875         first free position, if any.  Adjust call to self.  Use a single field
1876         directly only if it hasn't got a representation clause or is placed at
1877         offset zero.  Create the variant part at offset 0 if all the fields
1878         down to this level have a rep clause.  Do not chain the variant part
1879         immediately and adjust downstream.
1880         Do not test ALL_REP before moving the fields without rep clause to the
1881         previous level.  Call create_rep_part to create the REP part and force
1882         a minimum size on it if necessary.  Do not chain it immediately.
1883         Create a fake REP part if there are fields without rep clause that need
1884         to be laid out starting from FIRST_FREE_POS.
1885         At the end, chain the REP part and then the variant part.
1886         (create_rep_part): New function.
1887         (get_rep_part): Minor tweak.
1888         * gcc-interface/utils.c (tree_code_for_record_type): Minor tweak.
1889
1890 2011-11-18  Iain Sandoe  <iains@gcc.gnu.org>
1891
1892         PR target/50678
1893         * init.c (__gnat_error_handler) [Darwin]: Move workaround to the
1894         bug filed as radar #10302855 from __gnat_error_handler to...
1895         (__gnat_adjust_context_for_raise) [Darwin]: ...here.  New function.
1896         (HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE) [Darwin]: Define.
1897
1898 2011-11-18  Tristan Gingold  <gingold@adacore.com>
1899             Iain Sandoe  <iains@gcc.gnu.org>
1900
1901         PR target/49992
1902         * mlib-tgt-specific-darwin.adb (Archive_Indexer_Options): Remove.
1903         * gcc-interface/Makefile.in (darwin): Remove ranlib special-casing.
1904
1905 2011-11-12  Iain Sandoe  <iains@gcc.gnu.org>
1906
1907         * gcc-interface/Makefile.in (stamp-gnatlib-$(RTSDIR)): Don't link
1908         s-oscons.ads.
1909         (OSCONS_CPP, OSCONS_EXTRACT): New.
1910         (./bldtools/oscons/xoscons): New target.
1911         ($(RTSDIR)/s-oscons.ads): Likewise.
1912         (gnatlib): Depend on $(RTSDIR)/s-oscons.ads.
1913         * gcc-interface/Make-lang.in (ada/s-oscons.ads) Remove as dependency.
1914         * Make-generated.in: Remove machinery to generate xoscons and
1915         ada/s-oscons.ads.
1916
1917 2011-11-10  Eric Botcazou  <ebotcazou@adacore.com>
1918
1919         * fe.h (Serious_Errors_Detected): New macro.
1920         * gcc-interface/gigi.h (build_atomic_load): Declare.
1921         (build_atomic_store): Likewise.
1922         * gcc-interface/trans.c (atomic_sync_required_p): New predicate.
1923         (call_to_gnu): Add ATOMIC_SYNC parameter.  Use local variable.
1924         Build an atomic load for an In or In Out parameter if needed.
1925         Build an atomic store for the assignment of an Out parameter if needed.
1926         Build an atomic store to the target if ATOMIC_SYNC is true.
1927         (present_in_lhs_or_actual_p): New predicate.
1928         (gnat_to_gnu) <N_Identifier>: Build an atomic load if needed.
1929         <N_Explicit_Dereference>: Likewise.
1930         <N_Indexed_Component>: Likewise.
1931         <N_Selected_Component>: Likewise.
1932         <N_Assignment_Statement>: Adjust call to call_to_gnu.
1933         Build an atomic store to the LHS if needed.
1934         <N_Function_Call>:  Adjust call to call_to_gnu.
1935         * gcc-interface/utils2.c: Include toplev.h.
1936         (resolve_atomic_size): New static function.
1937         (build_atomic_load): New function.
1938         (build_atomic_store): Likewise.
1939         * gcc-interface/Make-lang.in (ada/utils2.o): Add toplev.h.
1940
1941 2011-11-07  Olivier Hainque  <hainque@adacore.com>
1942
1943         * sigtramp-ppcvxw.c: Add general comments.
1944         (CFI_COMMON_REGS): Remove rule for r1, as in other unwinders. Add
1945         rules for r2 to r13, plus CTR and XER.
1946         (CFA_REG): New, register number used to hold the local CFA.
1947         (CFI_DEF_CFA, SIGTRAMP_BODY): Use it.
1948         Make that 15, not 14, with documentation.
1949         (TCR): Undef before definition, preventing conflict with reg number in
1950         VxWorks headers.
1951
1952 2011-11-07  Robert Dewar  <dewar@adacore.com>
1953
1954         * exp_util.ads, exp_alfa.adb, a-cohama.adb, a-cohama.ads, sem_ch4.adb,
1955         aspects.ads, exp_ch8.adb, exp_ch8.ads, atree.ads: Minor reformatting.
1956         * gcc-interface/Make-lang.in: Update dependencies.
1957
1958 2011-11-07  Ed Schonberg  <schonberg@adacore.com>
1959
1960         * exp_ch6.adb: A tagged type is a legal actual for an aliased
1961         formal.
1962
1963 2011-11-07  Pascal Obry  <obry@adacore.com>
1964
1965         * g-socket.adb, g-socket.ads: Minor reformatting.
1966
1967 2011-11-07  Robert Dewar  <dewar@adacore.com>
1968
1969         * sem_res.adb (Resolve_Actuals): Minor error message improvement.
1970
1971 2011-11-07  Robert Dewar  <dewar@adacore.com>
1972
1973         * gnat_ugn.texi: Add discussion of default mode handling of
1974         source representation with no -gnatW option given, in particular
1975         noting that NEL (next line) is not recognized in this context.
1976
1977 2011-11-07  Yannick Moy  <moy@adacore.com>
1978
1979         * sem_util.adb (Note_Possible_Modification): In Alfa mode,
1980         generate a reference for a modification even when the modification
1981         does not come from source.
1982
1983 2011-11-07  Ed Schonberg  <schonberg@adacore.com>
1984
1985         * exp_ch5.adb (Expand_Iterator_Loop): For the "of" iterator form,
1986         use the indexing attributes rather than the Element function,
1987         to obtain variable references.
1988         * sem_ch4.adb (Try_Container_Indexing): Code cleanup. Use
1989         Find_Aspect rather than iterating over representation
1990         items. Improve error message.
1991         * a-cohama.adb, a-cohama.ads Update to latest RM, with two versions
1992         of Reference functions.
1993
1994 2011-11-07  Yannick Moy  <moy@adacore.com>
1995
1996         * sem_util.adb (Unique_Entity): For a parameter on a subprogram
1997         body that has a corresponding parameter on the subprogram
1998         declaration, define the unique entity as being the declaration
1999         one.
2000
2001 2011-11-07  Ed Schonberg  <schonberg@adacore.com>
2002
2003         * sem_ch6.adb (Analyze_Return_Type): In Ada 2012 mode, if the
2004         return type of a function is the class-wide type of an incomplete
2005         type T, T can be a Taft-amendment type and does not have to be
2006         completed in the current private part.
2007
2008 2011-11-07  Ed Schonberg  <schonberg@adacore.com>
2009
2010         * aspects.ads (Inherited_Aspect): Map that indicates type aspects
2011         that are inherited by default, and apply to the class-wide type
2012         as well.
2013         * aspects.adb (Find_Aspect): If the entity is class-wide and the
2014         aspect is inherited, use the aspect of the specific type.
2015
2016 2011-11-07  Hristian Kirtchev  <kirtchev@adacore.com>
2017
2018         * exp_alfa.adb: Remove with and use clause for
2019         Exp_Ch8. Add with and use clause for Exp_Util.
2020         Remove local constant Disable_Processing_Of_Renamings.
2021         (Expand_Alfa_N_Object_Renaming_Declaration): The expansion of
2022         object renamings has been reenabled.
2023         (Expand_Possible_Renaming):
2024         The expansion of identifier and expanded names has been
2025         reenabled. Perform the substitutions only for entities that
2026         denote an object.
2027         * exp_ch8.ads, exp_ch8.adb (Evaluate_Name): Moved to Exp_Util.
2028         * exp_util.adb (Evaluate_Name): Moved from Exp_Ch8.
2029         (Remove_Side_Effects): Alphabetize local variables. Add a guard
2030         to avoid the infinite expansion of an expression in Alfa mode. Add
2031         processing for function calls in Alfa mode.
2032         * exp_util.ads (Evaliate_Name): Moved from Exp_Ch8.
2033
2034 2011-11-07  Ed Schonberg  <schonberg@adacore.com>
2035
2036         * freeze.adb (Freeze_Entity): If the entity is an access to
2037         subprogram whose designated type is itself a subprogram type,
2038         its own return type must be decorated with size information.
2039
2040 2011-11-04  Arnaud Charlet  <charlet@adacore.com>
2041
2042         * gcc-interface/Make-lang.in: Update dependencies.
2043
2044 2011-11-04  Robert Dewar  <dewar@adacore.com>
2045
2046         * sprint.adb (Sprint_Node_Actual, case Qualified_Expression):
2047         Avoid junk semicolon after argument of machine code Asm operand.
2048
2049 2011-11-04  Robert Dewar  <dewar@adacore.com>
2050
2051         * exp_ch11.adb (Generate_Push_Pop): Inhibit push/pop nodes in
2052         CodePeer mode or if restriction No_Exception_Handlers is present.
2053         * exp_ch6.adb (Expand_N_Subprogram_Body): (Inhibit push/pop
2054         nodes in CodePeer mode or if restriction No_Exception_Handlers
2055         is present.
2056
2057 2011-11-04  Robert Dewar  <dewar@adacore.com>
2058
2059         * s-tassta.adb, atree.ads, errout.adb, sinput.adb: Minor reformatting.
2060
2061 2011-11-04  Ed Schonberg  <schonberg@adacore.com>
2062
2063         * sem_ch6.adb (Analyze_Subprogram_Specification): The
2064         specification is legal if it is a function that returns an
2065         abstract type, if it comes from an attribute renaming of a stream
2066         attribute of an abstract type.
2067
2068 2011-11-04  Gary Dismukes  <dismukes@adacore.com>
2069
2070         * exp_util.adb (Is_Possibly_Unaligned_Object): In case of indexed
2071         components, check whether recursively check whether the prefix
2072         denotes an unaligned object.
2073
2074 2011-11-04  Ed Schonberg  <schonberg@adacore.com>
2075
2076         * sem_prag.adb (Analyze_Pragma, case Debug): The argument of
2077         the pragma is legal if it is an expanded name that denotes a
2078         procedure that be can called without parameters.
2079
2080 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
2081
2082         * gnat_ugn.texi (Performance Considerations) <Vectorization
2083         of loops>: New sub-section.  <Other Optimization Switches>:
2084         Minor tweak.
2085
2086 2011-11-04  Robert Dewar  <dewar@adacore.com>
2087
2088         * gnat_rm.texi: Minor reformatting.
2089
2090 2011-11-04  Matthew Heaney  <heaney@adacore.com>
2091
2092         * a-convec.adb, a-coinve.adb, a-cobove.adb (Merge): Raise PE
2093         when Target and Source denote same non-empty object
2094         * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Merge): Ditto
2095
2096 2011-11-04  Robert Dewar  <dewar@adacore.com>
2097
2098         * exp_attr.adb: Minor reformatting.
2099
2100 2011-11-04  Ed Schonberg  <schonberg@adacore.com>
2101
2102         * exp_ch5.adb (Expand_Assign_Record): Do not generate a
2103         discriminant assignment within an initialization proc if the
2104         record is an unchecked union, as it can only come from the
2105         initialization of an unchecked union component.
2106
2107 2011-11-04  Robert Dewar  <dewar@adacore.com>
2108
2109         * gnat_ugn.texi: Minor reformatting.
2110
2111 2011-11-04  Robert Dewar  <dewar@adacore.com>
2112
2113         * par-labl.adb (Rewrite_As_Loop): Generate info msg rather than
2114         warning message.
2115
2116 2011-11-04  Robert Dewar  <dewar@adacore.com>
2117
2118         * exp_ch4.adb: Minor code reorganization (remove junk obsolete
2119         var Save_Space).
2120
2121 2011-11-04  Hristian Kirtchev  <kirtchev@adacore.com>
2122
2123         * exp_alfa.adb: Add local constant
2124         Disable_Processing_Of_Renamings;
2125         (Expand_Alfa_N_Object_Renaming_Declaration): Disable
2126         the name evaluation of object renamings for now.
2127         (Expand_Potential_Renaming): Do not perform the substitution
2128         for now.
2129         * exp_util.adb (Remove_Side_Effects): Remove processing for
2130         functions with side effects in Alfa mode.
2131
2132 2011-11-04  Gary Dismukes  <dismukes@adacore.com>
2133
2134         * bindgen.adb (Gen_Elab_Calls): In the case
2135         of the AAMP target, set elaboration entities to 1 rather than
2136         incrementing.
2137
2138 2011-11-04  Ed Schonberg  <schonberg@adacore.com>
2139
2140         * sem_ch10.adb (Install_Limited_With_Unit): To establish the
2141         proper entities on the ancestors of a child unit that appear
2142         in a limited_with clause, follow the unit links because the
2143         units are not analyzed and scope information is incomplete.
2144
2145 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
2146
2147         * exp_ch4.adb (Expand_N_Selected_Component): Refine code
2148         setting the Atomic_Sync_Required flag to detect one more case.
2149         * exp_util.adb (Activate_Atomic_Synchronization): Refine code
2150         setting the Atomic_Sync_Required flag to exclude more cases,
2151         depending on the parent of the node to be examined.
2152
2153 2011-11-04  Bob Duff  <duff@adacore.com>
2154
2155         * g-excact.adb: Minor: use named notation.
2156
2157 2011-11-04  Ed Schonberg  <schonberg@adacore.com>
2158
2159         * sem_ch5.adb: Improve error messages for illegal iterators.
2160
2161 2011-11-04  Hristian Kirtchev  <kirtchev@adacore.com>
2162
2163         * exp_alfa.adb: Add with and use clauses for Exp_Ch8 and
2164         Sem_Util.
2165         (Expand_Alfa): Alphabetize cases on first choice. Add
2166         processing for object renaming declarations, identifiers and
2167         expanded names.
2168         (Expand_Alfa_N_In): Remove useless return.
2169         (Expand_Alfa_N_Object_Renaming_Declaration): New routine.
2170         (Expand_Potential_Renaming): New routine.
2171         * exp_ch8.adb (Evaluate_Name): Moved to the top level.
2172         (Expand_N_Object_Declaration): Alphabetize local variables. Move
2173         Evaluate_Name out to the top level.
2174         * exp_ch8.ads (Evaluate_Name): Moved from body to package spec.
2175         * exp_util.adb (Remove_Side_Effects): Add processing for
2176         functions with side effects in Alfa mode.
2177
2178 2011-11-04  Hristian Kirtchev  <kirtchev@adacore.com>
2179
2180         * gnat_rm.texi: Add entries for
2181         restrictions No_Relative_Delay, No_Requeue_Statements and
2182         No_Stream_Optimizations.
2183
2184 2011-11-04  Ed Schonberg  <schonberg@adacore.com>
2185
2186         * sem_ch4.adb: Set type of entity in prefixed call, for
2187         completeness in a generic context.
2188
2189 2011-11-04  Yannick Moy  <moy@adacore.com>
2190
2191         * sem_prag.adb: Minor refactoring (renaming of a parameter).
2192
2193 2011-11-04  Robert Dewar  <dewar@adacore.com>
2194
2195         * atree.ads: Minor reformatting.
2196
2197 2011-11-04  Robert Dewar  <dewar@adacore.com>
2198
2199         * checks.adb (Atomic_Synchronization_Disabled): Check -gnatd.d
2200         and -gnatd.e here
2201         * exp_ch2.adb (Expand_Entity_Reference): Use
2202         Activate_Atomic_Synchronization
2203         * exp_ch4.adb (Expand_N_Explicit_Dereference): Use
2204         Activate_Atomic_Synchronization (Expand_N_Indexed_Compoonent):
2205         Activate_Atomic_Synchronization (Expand_N_Selected_Component):
2206         Use Activate_Atomic_Synchronization
2207         * exp_util.ads, exp_util.adb (Activate_Atomic_Synchronization): New
2208         procedure.
2209         * sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now apply to
2210         N_Selected_Component node
2211
2212 2011-11-04  Robert Dewar  <dewar@adacore.com>
2213
2214         * sem_prag.adb, atree.ads, prj-env.adb, prj-env.ads: Minor reformatting.
2215
2216 2011-11-04  Yannick Moy  <moy@adacore.com>
2217
2218         * atree.adb, atree.ads (Set_Original_Node): New set procedure.
2219         * sem_ch13.adb (Analyze_Aspect_Specifications/Pre_Post_Aspects):
2220         In ASIS mode, no splitting of aspects between conjuncts.
2221         (Analyze_Aspect_Specifications/Aspect_Test_Case): Make pragma
2222         expressions refer to the original aspect expressions through
2223         the Original_Node link. This is used in semantic analysis for
2224         ASIS mode, so that the original expression also gets analyzed.
2225         * sem_prag.adb (Preanalyze_TC_Args,
2226         Check_Precondition_Postcondition,
2227         Analyze_Pragma/Pragma_Test_Case): In ASIS mode, for a pragma
2228         generated from a source aspect, also analyze the original aspect
2229         expression.
2230         (Check_Expr_Is_Static_Expression): New procedure
2231         similar to existing procedure Check_Arg_Is_Static_Expression,
2232         except called on expression inside pragma.
2233
2234 2011-11-04  Tristan Gingold  <gingold@adacore.com>
2235
2236         * prj-env.adb, prj-env.ads (Find_Name_In_Path): New function, from
2237         Find_Project.Try_Path_Name.
2238         (Find_Project): Use Find_Name_In_Path to implement Try_Path_Name.
2239
2240 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
2241
2242         * s-atocou.ads (Atomic_Counter): Remove redundant pragma Volatile.
2243
2244 2011-11-04  Pascal Obry  <obry@adacore.com>
2245
2246         * projects.texi: Add short description for qualifiers aggregate
2247         and aggregate library.
2248
2249 2011-11-04  Matthew Heaney  <heaney@adacore.com>
2250
2251         * Makefile.rtl, impunit.adb: Added a-cogeso.ad[sb]
2252         * a-cgaaso.adb: Replaced implementation with instantiation
2253         of Generic_Sort.
2254         * a-cogeso.ad[sb] This is the new Ada 2012 unit
2255         Ada.Containers.Generic_Sort
2256
2257 2011-11-04  Robert Dewar  <dewar@adacore.com>
2258
2259         * exp_ch2.adb (Expand_Entity_Reference): Do not set
2260         Atomic_Sync_Required for the case of a prefix of an attribute.
2261         * exp_ch4.adb (Expand_N_Explicit_Dereference): May require
2262         atomic synchronization
2263         (Expand_N_Indexed_Component): Ditto.
2264         (Expand_B_Selected_Component): Ditto.
2265         * sem_prag.adb (Process_Suppress_Unsuppress):
2266         Disable/Enable_Atomic_Synchronization can now occur for array
2267         types with pragma Atomic_Components.
2268         * sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now occur on
2269         N_Explicit_Dereference nodes and on N_Indexed_Component nodes.
2270
2271 2011-11-04  Gary Dismukes  <dismukes@adacore.com>
2272
2273         * gnat_ugn.texi: Editorial corrections for gnattest section.
2274
2275 2011-11-04  Robert Dewar  <dewar@adacore.com>
2276
2277         * sem_prag.adb: Minor reformatting.
2278         * gnat_rm.texi: Update documentation for pragma Warnings (Off,
2279         "***") usage.
2280         * exp_ch2.adb (Expand_Entity_Reference): Only set
2281         Atomic_Sync_Required on entities that are variables. Doesn't
2282         make any sense on anything else.
2283
2284 2011-11-04  Robert Dewar  <dewar@adacore.com>
2285
2286         * exp_ch2.adb (Expand_Entity_Reference): Extend handling of
2287         atomic sync to type case.
2288         * sem_prag.adb (Process_Suppress_Unsuppress): Atomic Sync can
2289         apply to types.
2290
2291 2011-11-04  Robert Dewar  <dewar@adacore.com>
2292
2293         * sem_warn.adb (Warn_On_Useless_Assignment): More accurate test
2294         for call vs assign.
2295         * gcc-interface/Make-lang.in: Update dependencies.
2296
2297 2011-11-04  Robert Dewar  <dewar@adacore.com>
2298
2299         * sem_prag.adb: Detect more cases of Long_Float inconsistencies at
2300         compile time.
2301
2302 2011-11-04  Matthew Heaney  <heaney@adacore.com>
2303
2304         * Makefile.rtl, impunit.adb: Added a-sfecin.ads,
2305         * a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb], a-sbhcin.ad[sb],
2306         a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb], a-sulcin.ad[sb]
2307         * a-sfecin.ads, a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb],
2308         a-sbhcin.ad[sb], a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb],
2309         a-sulcin.ad[sb]: New files.
2310
2311 2011-11-04  Geert Bosch  <bosch@adacore.com>
2312
2313         * i-forbla-unimplemented.ads, s-gecola.adb, s-gecola.ads,
2314         s-gerebl.adb, s-gerebl.ads, i-forbla.adb, i-forbla.ads,
2315         i-forlap.ads, i-forbla-darwin.adb, s-gecobl.adb, s-gecobl.ads,
2316         s-gerela.adb, s-gerela.ads: Remove partial interface to BLAS/LAPACK.
2317         * gcc-interface/Makefile.in: Remove libgnala and related objects.
2318
2319 2011-11-04  Matthew Heaney  <heaney@adacore.com>
2320
2321         * a-cdlili.ad[sb], a-cidlli.ad[sb], a-coorse.ad[sb], a-ciorse.ad[sb],
2322         a-coorma.ad[sb], a-ciorma.ad[sb], a-coormu.ad[sb], a-ciormu.ad[sb],
2323         a-cohama.ad[sb], a-cihama.ad[sb], a-cohase.ad[sb], a-cihase.ad[sb],
2324         a-convec.ad[sb], a-coinve.ad[sb] (Assign, Copy): New operations
2325         added to package.
2326
2327 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
2328
2329         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Do not assert
2330         that the type of the parameters isn't dummy in type_annotate_only mode.
2331
2332 2011-11-04  Robert Dewar  <dewar@adacore.com>
2333
2334         * sem_ch12.adb: Minor reformatting
2335
2336 2011-11-04  Gary Dismukes  <dismukes@adacore.com>
2337
2338         * bindgen.adb (Gen_Elab_Calls): In the case of the AAMP target,
2339         initialize elaboration entities to zero when specs are processed.
2340
2341 2011-10-28  Iain Sandoe  <iains@gcc.gnu.org>
2342             Eric Botcazou  <ebotcazou@adacore.com>
2343
2344         PR target/50678
2345         * init.c (__gnat_error_handler) [Darwin]: Apply a work-around to the
2346         bug filed as radar #10302855 (inconsistent unwind data for sigtramp).
2347
2348 2011-10-28  Eric Botcazou  <ebotcazou@adacore.com>
2349
2350         PR ada/50842
2351         * gcc-interface/Makefile.in (SYMDEPS): Delete.
2352         (LIBICONV): New variable.
2353         (LIBICONV_DEP): Likewise.
2354         (LIBS): Add $(LIBICONV).
2355         (LIBDEPS): Add $(LIBICONV_DEP).
2356         (EXTRA_GNATTOOLS_OBJS): Merge into...
2357         (TOOLS_LIBS): ...this.  Add $(LIBICONV).
2358
2359 2011-10-26  Eric Botcazou  <ebotcazou@adacore.com>
2360
2361         * gcc-interface/decl.c (elaborate_expression_1): Add EXPR_PUBLIC_P local
2362         variable.  Always create the elaboration variable, if any, as constant.
2363
2364 2011-10-26  Eric Botcazou  <ebotcazou@adacore.com>
2365
2366         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Try to
2367         make a packable type for fields of union types as well.
2368         <is_type>: Use RECORD_OR_UNION_TYPE_P predicate.
2369         (gnat_to_gnu_component_type): Try to make a packable type for fields
2370         of union types as well.
2371         (make_packable_type): Use RECORD_OR_UNION_TYPE_P predicate.
2372         (maybe_pad_type): Try to make a packable type for fields of union types
2373         as well.
2374         (gnat_to_gnu_field): Likewise.
2375         (is_variable_size): Use RECORD_OR_UNION_TYPE_P predicate.
2376         (set_rm_size): Likewise.
2377         (rm_size): Likewise.
2378         * gcc-interface/misc.c (gnat_type_max_size): Likewise.
2379         * gcc-interface/trans.c (add_decl_expr): Likewise.
2380         * gcc-interface/utils.c (finish_record_type): Likewise.
2381         * gcc-interface/utils2.c (build_simple_component_ref): Likewise.
2382
2383 2011-10-26  Eric Botcazou  <ebotcazou@adacore.com>
2384
2385         * gcc-interface/decl.c (gnat_to_gnu_field): Always check components
2386         declared as atomic.  Move around conditionally executed code.
2387
2388 2011-10-24  Robert Dewar  <dewar@adacore.com>
2389
2390         * sem.adb (Initialize): Fix bug that blew up if called a second time.
2391
2392 2011-10-24  Robert Dewar  <dewar@adacore.com>
2393
2394         * tb-alvxw.c, tracebak.c, expect.c, initflt.c, tb-alvms.c,
2395         tb-ivms.c, tb-gcc.c: Update headers to GPL 3.
2396
2397 2011-10-24  Robert Dewar  <dewar@adacore.com>
2398
2399         * sem_prag.adb (Analyze_Pragma, case Debug): Give proper pragma
2400         name in error msg.
2401
2402 2011-10-24  Hristian Kirtchev  <kirtchev@adacore.com>
2403
2404         * gnat_rm.texi: Add an entry for restriction No_Finalization.
2405
2406 2011-10-24  Ed Schonberg  <schonberg@adacore.com>
2407
2408         * sem_ch12.adb (Insert_Freeze_Node_For_Instance):  If the
2409         current instance is within the one that contains the generic,
2410         the freeze node for the current one must appear in the current
2411         declarative part. Ditto if the current instance is within another
2412         package instance. In both of these cases the freeze node of the
2413         previous instance is not relevant.
2414
2415 2011-10-24  Gary Dismukes  <dismukes@adacore.com>
2416
2417         * switch-m.adb (Normalize_Compiler_Switches): Add recognition
2418         of AAMP-specific switches -univ and -aamp_target.
2419
2420 2011-10-24  Robert Dewar  <dewar@adacore.com>
2421
2422         * a-tienau.adb (Put): Deal properly with limited line length.
2423
2424 2011-10-24  Robert Dewar  <dewar@adacore.com>
2425
2426         * sem_warn.adb, sem_ch12.adb: Minor reformatting.
2427
2428 2011-10-24  Tristan Gingold  <gingold@adacore.com>
2429
2430         * gcc-interface/Makefile.in: Use GNU ld switches to generate map files
2431         on AIX.
2432
2433 2011-10-24  Ed Schonberg  <schonberg@adacore.com>
2434
2435         * sem_ch12.adb (Earlier): make available globally. If both
2436         nodes have the same sloc, the freeze node that does not come
2437         from source is the later one.
2438         (True_Parent): Make available globally.
2439         (Previous_Instance): Subsidiary of
2440         Insert_Freeze_Node_For_Instance, to check whether the generic
2441         parent of the current instance is declared within a previous
2442         instance in the same unit or declarative  part, in which case the
2443         freeze nodes of both instances must appear in order to prevent
2444         elaboration problems in gigi.
2445         * sem_ch12.adb (Insert_Freeze_Node_For_Instance): A stub is a
2446         freeze point, and the freeze node of a preceding instantiation
2447         must be inserted before it.
2448
2449 2011-10-24  Robert Dewar  <dewar@adacore.com>
2450
2451         * checks.ads, checks.adb: Add handling of Synchronization_Check
2452         * debug.adb: Add doc for -gnatd.d and -gnatd.e (disable/enable
2453         atomic sync).
2454         * exp_ch2.adb (Expand_Entity_Reference): Set Atomic_Sync_Required
2455         flag Minor code reorganization.
2456         * opt.ads (Warn_On_Atomic_Synchronization): New switch.
2457         * par-prag.adb: Add dummy entries for pragma
2458         Disable/Enable_Atomic_Synchronization.
2459         * sem_prag.adb (Process_Suppress_Unsuppress): Handle
2460         case of Atomic_Synchronization specially (not suppressed
2461         by All_Checks, cannot be set from Source).
2462         (Pragma Disable/Enable_Atomic_Synchronization): Add processing.
2463         * sinfo.ads, sinfo.adb: Add Atomic_Sync_Required flag
2464         * snames.ads-tmpl: Add entry for Atomic_Synchronization Add
2465         entry for pragma Disable/Enable_Atomic_Synchronization
2466         * switch-c.adb: The -gnatp switch does not disable
2467         Atomic_Synchronization Add -gnatep switch to disable
2468         Atomic_Synchronization.
2469         * types.ads: Add entry for Synchronization_Check
2470         * usage.adb: Add line for -gnated switch
2471         * warnsw.adb: Settings for Warn_On_Atomic_Synchronization
2472
2473 2011-10-24  Geert Bosch  <bosch@adacore.com>
2474
2475         * s-gearop.adb (Back_Substitute): Avoid overflow if matrix bounds start
2476         at Integer'First.
2477
2478 2011-10-24  Robert Dewar  <dewar@adacore.com>
2479
2480         * sem_ch12.adb, s-gearop.adb: Minor reformatting.
2481
2482 2011-10-24  Robert Dewar  <dewar@adacore.com>
2483
2484         * warnsw.adb: Add some missing warnings to Set_GNAT_Mode_Warnings.
2485         * warnsw.ads: Add comments to Set_GNAT_Mode_Warnings.
2486
2487 2011-10-24  Emmanuel Briot  <briot@adacore.com>
2488
2489         * prj-proc.adb (Process_Expression_Variable_Decl): No special
2490         handling for Project_Path unless it is an attribute.
2491
2492 2011-10-24  Javier Miranda  <miranda@adacore.com>
2493
2494         * sem_ch12.adb (Check_Hidden_Primitives): New subprogram.
2495         (Install_Hidden_Primitives): New subprogram.
2496         (Restore_Hidden_Primitives): New subprogram.
2497         (Analyze_Formal_Package_Declaration,
2498         Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
2499         Invoke Check_Hidden_Primitives after every call to
2500         Analyze_Associations, and invoke Restore_Hidden_Primitives to
2501         restore their visibility after processing the instantiation.
2502         (Instantiate_Package_Body): Install visible primitives before
2503         analyzing the instantiation and uninstall them to restore their
2504         visibility when the instantiation has been analyzed.
2505         * sem_util.ads, sem_util.adb (Add_Suffix): New subprogram
2506         (Remove_Suffix): New subprogram
2507         * sem_ch3.adb (Derive_Subprogram): When handling
2508         a derived subprogram for the instantiation of a formal derived
2509         tagged type, inherit the dispatching attributes from the actual
2510         subprogram (not from the parent type).
2511
2512 2011-10-24  Vasiliy Fofanov  <fofanov@adacore.com>
2513
2514         * gnat_ugn.texi: Document explicit use of XDECGNAT library.
2515
2516 2011-10-24  Hristian Kirtchev  <kirtchev@adacore.com>
2517
2518         * exp_ch3.adb (Build_Assignment): Add local constant N_Loc and
2519         update its uses.
2520         (Build_Discriminant_Assignments): Add local variable D_Loc and update
2521         its uses.
2522         (Build_Init_Statements): Add local variables Comp_Loc, Decl_Loc and
2523         Var_Loc and update their uses.
2524         (Build_Record_Init_Proc): Code reformatting.
2525         (Increment_Counter): Add formal parameter Loc.
2526         (Make_Counter): Add formal parameter Loc.
2527
2528 2011-10-24  Eric Botcazou  <ebotcazou@adacore.com>
2529
2530         * sem_disp.adb (Covers_Some_Interface): Fix typo.
2531
2532 2011-10-24  Matthew Heaney  <heaney@adacore.com>
2533
2534         * a-cuprqu.adb, a-cbprqu.adb (Dequeue_Only_High_Priority): Fix sense
2535         of predicate.
2536
2537 2011-10-24  Yannick Moy  <moy@adacore.com>
2538
2539         * sem_ch13.adb (Analyze_Aspect_Specifications/Aspect_Test_Case):
2540         Translate arguments in positional notation into pragma argument
2541         association arguments for the generated pragma.
2542
2543 2011-10-24  Arnaud Charlet  <charlet@adacore.com>
2544
2545         * exp_ch5.adb: Fix minor typo.
2546
2547 2011-10-24  Ed Schonberg  <schonberg@adacore.com>
2548
2549         * sem_ch3.adb (Is_Visible_Component): Refine predicate for
2550         the case of a component reference in an instance body, when the
2551         enclosing type is private.
2552
2553 2011-10-24  Sergey Rybin  <rybin@adacore.com frybin>
2554
2555         * gnat_ugn.texi: For gnatelim, move the note about using the GNAT
2556         driver for getting the project support into gnatelim section.
2557
2558 2011-10-24  Robert Dewar  <dewar@adacore.com>
2559
2560         * gnat_rm.texi: Minor correction to documentation on address clause.
2561
2562 2011-10-24  Hristian Kirtchev  <kirtchev@adacore.com>
2563
2564         * s-finmas.adb (Attach): Synchronize and call the unprotected version.
2565         (Attach_Unprotected): New routine.
2566         (Delete_Finalize_Address): Removed.
2567         (Delete_Finalize_Address_Unprotected): New routine.
2568         (Detach): Synchronize and call the unprotected version.
2569         (Detach_Unprotected): Remove locking.
2570         (Finalize): Add various comment on synchronization. Lock the critical
2571         region and call the unprotected versions of routines.
2572         (Finalize_Address): Removed.
2573         (Finalize_Address_Unprotected): New routine.
2574         (Set_Finalize_Address): Synchronize and call
2575         the unprotected version.
2576         (Set_Finalize_Address_Unprotected): New routine.
2577         (Set_Heterogeneous_Finalize_Address): Removed.
2578         (Set_Heterogeneous_Finalize_Address_Unprotected): New routine.
2579         (Set_Is_Heterogeneous): Add comment on synchronization and
2580         locking.
2581         * s-finmas.ads: Flag Finalization_Started is no longer atomic
2582         because synchronization uses task locking / unlocking.
2583         (Attach): Add comment on usage.
2584         (Attach_Unprotected): New routine.
2585         (Delete_Finalize_Address): Renamed to
2586         Delete_Finalize_Address_Unprotected.
2587         (Detach): Add comment on usage.
2588         (Detach_Unprotected): New routine.
2589         (Finalize_Address): Renamed to Finalize_Address_Unprotected.
2590         (Set_Finalize_Address): Add comment on usage.
2591         (Set_Finalize_Address_Unprotected): New routine.
2592         (Set_Heterogeneous_Finalize_Address): Renamed to
2593         Set_Heterogeneous_Finalize_Address_Unprotected.
2594         * s-stposu.adb (Allocate_Any_Controlled): Add local variable
2595         Allocation_Locked. Add various comments on synchronization. Lock
2596         the critical region and call the unprotected version of
2597         routines.
2598         (Deallocate_Any_Controlled): Add various comments on
2599         synchronization. Lock the critical region and call the unprotected
2600         version of routines.
2601
2602 2011-10-24  Ed Schonberg  <schonberg@adacore.com>
2603
2604         * sem_ch3.adb (Set_Fixed_Range): The bounds of a fixed point type
2605         are universal and must carry the corresponding type.
2606         * sem_eval.adb (Check_Non_Static_Context): If the type of the
2607         expression is universal real, as may be the case for a fixed point
2608         expression with constant operands in the context of a conversion,
2609         there is nothing to check.
2610         * s-finmas.adb: Minor reformatting
2611
2612 2011-10-23  Eric Botcazou  <ebotcazou@adacore.com>
2613
2614         * gcc-interface/decl.c (create_concat_name): Add explicit cast.
2615
2616 2011-10-20  Eric Botcazou  <ebotcazou@adacore.com>
2617
2618         * gcc-interface/Make-lang.in (GNATLIBFLAGS, GNATLIBCFLAGS, THREAD_KIND,
2619         TRACE): Reintroduce.
2620         (ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o,
2621         ada/initialize.o, ada/raise.o): Reintroduce explicit compilation rules.
2622
2623 2011-10-20  Eric Botcazou  <ebotcazou@adacore.com>
2624
2625         * gcc-interface/trans.c (lhs_or_actual_p): New predicate.
2626         (unchecked_conversion_nop): Use it.
2627         (gnat_to_gnu): Likewise.
2628
2629 2011-10-20  Eric Botcazou  <ebotcazou@adacore.com>
2630
2631         * back_end.adb (Call_Back_End): Pass the maximum logical line number
2632         instead of the maximum physical line number to gigi.
2633         * gcc-interface/trans.c (Sloc_to_locus): Cope with line zero.
2634
2635 2011-10-16  Tom Tromey  <tromey@redhat.com>
2636             Dodji Seketeli  <dodji@redhat.com>
2637
2638         * gcc-interface/trans.c (gigi, Sloc_to_locus): Adjust to use the new
2639         public ordinary map interface.
2640
2641 2011-10-16  Tristan Gingold  <gingold@adacore.com>
2642
2643         * link.c (_AIX): Add support for GNU ld.
2644
2645 2011-10-16  Fedor Rybin  <frybin@adacore.com>
2646
2647         * gnat_ugn.texi: Fixing gnattest example names in the doc.
2648         Adding explanation to additional tests usage.
2649
2650 2011-10-16  Robert Dewar  <dewar@adacore.com>
2651
2652         * exp_ch6.adb, sem_ch6.adb: Minor reformatting.
2653
2654 2011-10-16  Eric Botcazou  <ebotcazou@adacore.com>
2655
2656         * a-convec.adb: Fix minor inconsistencies.
2657
2658 2011-10-16  Matthew Heaney  <heaney@adacore.com>
2659
2660         * a-cusyqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cbprqu.ads (package
2661         Implementation): Specify pragma Implementation_Defined.
2662
2663 2011-10-15  Nicolas Roche  <roche@adacore.com>
2664
2665         * gcc-interface/lang-specs.h: Ensure -mrtp switch is passed when using
2666         either rtp-smp or ravenscar-cert-rtp runtimes.
2667
2668 2011-10-15  Bob Duff  <duff@adacore.com>
2669
2670         * exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call):
2671         Do not create a pool formal on unless RE_Root_Storage_Pool_Ptr
2672         is available.
2673         (Expand_N_Extended_Return_Statement): Do not create a renaming of the
2674         build-in-place pool parameter unless RE_Root_Storage_Pool_Ptr is
2675         available.
2676         (Make_Build_In_Place_Call_In_Allocator): Add the user-defined
2677         pool only if RE_Root_Storage_Pool_Ptr is available.
2678         (Make_Build_In_Place_Call_In_Object_Declaration): Do not add a
2679         pool actual unless RE_Root_Storage_Pool_Ptr is available.
2680         * sem_ch6.adb (Create_Extra_Formals): Add build-in-place pool
2681         formal only if RE_Root_Storage_Pool_Ptr is available.
2682
2683 2011-10-15  Matthew Heaney  <heaney@adacore.com>
2684
2685         * a-cusyqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cbprqu.ads (Queue
2686         type): Specify Priority aspect for protected type.
2687
2688 2011-10-14  Ed Schonberg  <schonberg@adacore.com>
2689
2690         * exp_disp.adb (Check_Premature_Freezing): If an untagged type
2691         is a generic actual, it is a subtype of a type that was frozen
2692         by the instantiation, and even if not marked frozen it does not
2693         affect the construction of the dispatch table.
2694
2695 2011-10-14  Robert Dewar  <dewar@adacore.com>
2696
2697         * make.adb, mlib-utl.adb, sem_util.adb, sem_ch4.adb: Minor code
2698         reformatting.
2699         * s-rident.ads: Add missing Compiler_Unit pragma.
2700
2701 2011-10-14  Gary Dismukes  <dismukes@adacore.com>
2702
2703         * sem_res.adb: Minor reformatting.
2704
2705 2011-10-14  Hristian Kirtchev  <kirtchev@adacore.com>
2706
2707         * exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call):
2708         Code and comment reformatting. Use BIP_Task_Master
2709         when creating a _master.
2710         (BIP_Formal_Suffix): Code reformatting. Correct the case for
2711         BIP_Task_Master.
2712         (Make_Build_In_Place_Call_In_Object_Declaration): Use
2713         BIP_Task_Master when creating a reference to the enclosing
2714         function's _master formal.
2715         (Move_Activation_Chain): Use BIP_Task_Master when creating a reference
2716         to the _master.
2717         * exp_ch6.ads: Change BIP_Master to BIP_Task_Master.
2718         (Needs_BIP_Finalization_Master): Alphabetized.
2719         * sem_ch6.adb (Create_Extra_Formals): Update the usage of
2720         BIP_Task_Master.
2721
2722 2011-10-14  Ed Schonberg  <schonberg@adacore.com>
2723
2724         * par-ch6.adb (P_Return_Object_Declaration): In Ada 2012 mode,
2725         reject an aliased keyword on the object declaration of an extended
2726         return statement. In older versions of the language indicate
2727         that this is illegal in the standard.
2728
2729 2011-10-14  Pascal Obry  <obry@adacore.com>
2730
2731         * sem_util.adb, sem_ch4.adb: Minor reformatting.
2732
2733 2011-10-14  Ed Schonberg  <schonberg@adacore.com>
2734
2735         * sem_ch13.adb: Recognize properly procedure calls that are
2736         transformed into code statements.
2737
2738 2011-10-14  Vincent Celier  <celier@adacore.com>
2739
2740         * projects.texi: Minor fix in project example.
2741
2742 2011-10-14  Ed Schonberg  <schonberg@adacore.com>
2743
2744         * sem_util.adb: Return objects are aliased if their type is
2745         immutably limited as per AI05-0053.
2746
2747 2011-10-14  Gary Dismukes  <dismukes@adacore.com>
2748
2749         * exp_ch4.adb (Expand_N_Op_And): Remove Short_Circuit_And_Or
2750         expansion code (moved to sem_res) (Expand_N_Op_Or): Remove
2751         Short_Circuit_And_Or expansion code (moved to sem_res).
2752         * sem_res.adb (Resolve_Logical_Op): Add code to rewrite Boolean
2753         "and" and "or" operators as short-circuit "and then" and "or
2754         else", when pragma Short_Circuit_And_Or is active.
2755
2756 2011-10-13  Robert Dewar  <dewar@adacore.com>
2757
2758         * sem_ch9.adb, sem_util.adb, sem_util.ads, exp_ch6.adb, sem_ch4.adb,
2759         sem_ch6.adb, exp_ch3.adb: Minor reformatting.
2760
2761 2011-10-13  Arnaud Charlet  <charlet@adacore.com>
2762
2763         * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add a-ngcoar.o.
2764
2765 2011-10-13  Jerome Guitton  <guitton@adacore.com>
2766
2767         * sysdep.c (__gnat_get_task_options): Re-enable VX_SPE_TASK on vThreads
2768
2769 2011-10-13  Eric Botcazou  <ebotcazou@adacore.com>
2770
2771         * a-convec.ads (Cursor): Minor reformatting.
2772         * a-convec.adb (Next): Fix minor inconsistencies.
2773         (Previous): Likewise.
2774
2775 2011-10-13  Ed Schonberg  <schonberg@adacore.com>
2776
2777         * sem_util.ads, sem_util.adb (Available_Full_View_Of_Component):
2778         New predicate to determine whether some operations on an array
2779         type are available when the full view of its component may differ
2780         from the view of the point of the array declaration.
2781         * sem_ch4.adb (Find_Equality_Types): Use
2782         Available_Full_View_Of_Component.
2783         * sem_type.adb (Valid_Boolean_Arg, Valid_Comparison_Arg): Ditto
2784
2785 2011-10-13  Ed Schonberg  <schonberg@adacore.com>
2786
2787         * sem_ch9.adb: Analyze aspects while discriminants of protected
2788         type are visible.
2789
2790 2011-10-13  Geert Bosch  <bosch@adacore.com>
2791
2792         * Makefile.rtl (GNATRTL_TASKING_OBJECTS): Add
2793         a-nlcoar.o, a-nllcar.o, a-nucoar.o and s-gearop.o, as these no
2794         longer depend on an external library.
2795         * gcc-interface/Makefile.in (GNATRTL_LINEARALGEBRA_OBJS): Remove
2796         a-nlcoar.o, a-nllcar.o, a-nucoar.o and s-gearop.o.
2797         Update dependencies.
2798         * gcc-interface/Make-lang.in: Update dependencies. 
2799
2800 2011-10-13  Cyrille Comar  <comar@adacore.com>
2801
2802         * gnat_ugn.texi: Minor editing.
2803
2804 2011-10-13  Vincent Celier  <celier@adacore.com>
2805
2806         * projects.texi: Add documentation on packages and attributes
2807         that are inherited from a project being extended into the
2808         extended project.
2809
2810 2011-10-13  Hristian Kirtchev  <kirtchev@adacore.com>
2811
2812         * exp_ch3.adb (Build_Master): Rewritten.
2813         (Expand_N_Full_Type_Declaration): Reformat the declarative
2814         region. Update the call to Build_Master_Renaming.
2815         (Expand_Previous_Access_Type): Rewritten.
2816         * exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call):
2817         Add local constant Result_Subt and update related usage.
2818         (Expand_N_Extended_Return_Statement): Add local constant
2819         Result_Subt and update related usage.
2820         * exp_ch9.adb (Build_Activation_Chain): Rewritten to use the
2821         new context detection mechanism.
2822         (Build_Class_Wide_Master):
2823         Use Insert_Action to add the renaming into the tree.
2824         (Build_Master_Entity): Rewritten to use the new context detection
2825         mechanism.
2826         (Build_Master_Renaming): Add formal parameter Ins_Nod
2827         and related usage. Use Insert_Action to add the renaming into the
2828         tree.
2829         (Find_Enclosing_Context): New subsidiary routine. Rather
2830         than relying on enclosing scopes, this routine looks at the
2831         tree structure to figure out the proper context for a _master
2832         or a _chain. This approach eliminates the issues with transient
2833         scopes which have not been converted into blocks.
2834         * exp_ch9.ads (Build_Master_Entity): Change parameter profile
2835         to better reflect the new usage. Update the related comment.
2836         (Build_Master_Renaming): Add formal parameter Ins_Nod. Update
2837         the comment on usage.
2838         * sem_ch3.adb (Access_Definition): Update the calls to
2839         Build_Master_Entity and Build_Master_Renaming.
2840         * sem_ch6.adb (Create_Extra_Formals): Add local variable
2841         Full_Subt. Code reformatting.
2842         * sem_util.adb (Is_Iterator): Alphabetized.
2843         (Is_LHS): Alphabetized.
2844         (Is_Limited_Class_Wide_Type): New routine.
2845         * sem_util.ads (Is_Limited_Class_Wide_Type): New routine.
2846
2847 2011-10-13  Geert Bosch  <bosch@adacore.com>
2848
2849         * a-ngrear.adb (Solve): Make generic and move to
2850         System.Generic_Array_Operations.
2851         * s-gearop.ads (Matrix_Vector_Solution, Matrix_Matrix_Solution):
2852         New generic solvers to  compute a vector resp. matrix Y such
2853         that A * Y = X, approximately.
2854         * s-gearop.adb (Matrix_Vector_Solution, Matrix_Matrix_Solution):
2855         Implement using Forward_Eliminate and Back_Substitute
2856         * a-ngcoar.adb: Reimplement in pure Ada to remove dependencies
2857         on BLAS and LAPACK.
2858         * a-ngcoar.ads ("abs"): Fix return type to be real.
2859
2860 2011-10-13  Eric Botcazou  <ebotcazou@adacore.com>
2861
2862         PR ada/50589
2863         * s-linux-alpha.ads: Do not "with" Interfaces.C.
2864         * s-linux-sparc.ads: Likewise.
2865
2866 2011-10-13  Geert Bosch  <bosch@adacore.com>
2867
2868         * s-gearop.ads (Forward_Eliminate): Add "abs" formal function
2869         returning a Real.
2870         * s-gearop.adb (Forward_Eliminate): Remove local "abs" function
2871         and use formal.
2872         * a-ngrear.adb (Forward_Eliminate): Adjust instantiation for
2873         new profile.
2874
2875 2011-10-13  Geert Bosch  <bosch@adacore.com>
2876
2877         * a-ngrear.adb, s-gearop.adb, s-gearop.ads (Sqrt): Make generic and
2878         move to System.Generic_Array_Operations.
2879
2880 2011-10-13  Geert Bosch  <bosch@adacore.com>
2881
2882         * a-ngrear.adb ("abs"): Adjust for modified L2_Norm generic
2883         * s-gearop.ads (L2_Norm): Change profile to be suitable for
2884         Complex_Vector
2885         * s-gearop.adb (L2_Norm): Reimplement using direct definition,
2886         not inner product
2887
2888 2011-10-13  Robert Dewar  <dewar@adacore.com>
2889
2890         * exp_ch5.adb, sem_ch3.adb, impunit.adb, impunit.ads, sem_type.adb,
2891         prj-proc.adb, exp_ch9.adb, s-regpat.adb, sem_ch10.adb, sem_prag.adb,
2892         sem_ch12.adb, freeze.adb, sem_attr.adb, sem_attr.ads, gnatlink.adb,
2893         par-ch6.adb, exp_ch6.adb, sem_ch4.adb, sem_ch6.adb, sem_ch8.adb,
2894         par-util.adb, sem_ch13.adb, lib-xref.adb, g-trasym.adb, g-trasym.ads,
2895         exp_aggr.adb, s-taprop-posix.adb: Minor reformatting.
2896
2897 2011-10-13  Geert Bosch  <bosch@adacore.com>
2898
2899         * s-gearop.adb: Minor comment additions.
2900
2901 2011-10-13  Fedor Rybin  <frybin@adacore.com>
2902
2903         * gnat_ugn.texi: Add gnattest section.
2904
2905 2011-10-13  Ed Schonberg  <schonberg@adacore.com>
2906
2907         * freeze.adb: Do not create body of renaming if declaration has
2908         errors.
2909
2910 2011-10-13  Olivier Hainque  <hainque@adacore.com>
2911
2912         * init.c (__gnat_error_handler - vxworks case): Restrict sigtramp calls
2913         further, to the ppc+kernel case only.
2914
2915 2011-10-13  Hristian Kirtchev  <kirtchev@adacore.com>
2916
2917         * exp_ch4.adb (Expand_N_Allocator): Comment reformatting.
2918         * exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call):
2919         Do not create a pool formal on .NET/JVM.
2920         (Expand_N_Extended_Return_Statement): Alphabetize local
2921         variables. Do not create a renaming of the build-in-place pool
2922         parameter on .NET/JVM.  (Make_Build_In_Place_Call_In_Allocator):
2923         Add the user-defined pool only on non-VM targets.
2924         (Make_Build_In_Place_Call_In_Object_Declaration): Alphabetize
2925         local variables.  Do not add a pool actual on .NET/JVM.
2926         * sem_ch6.adb: Add with and use clause for Targparm.
2927         (Create_Extra_Formals): Add build-in-place pool formal only on
2928         non-VM targets.
2929         * rtsfind.ads: Alphabetize entries.
2930
2931 2011-10-13  Sergey Rybin  <rybin@adacore.com>
2932
2933         * gnat_ugn.texi: Minor correction.
2934
2935 2011-10-13  Ed Schonberg  <schonberg@adacore.com>
2936
2937         * sem_ch8.adb: Minor error message improvement.
2938
2939 2011-10-13  Robert Dewar  <dewar@adacore.com>
2940
2941         * a-cbprqu.adb, a-ciorma.adb, exp_ch3.adb: Minor reformatting.
2942
2943 2011-10-13  Gary Dismukes  <dismukes@adacore.com>
2944
2945         * exp_ch5.adb (Expand_N_Loop_Statement): For the transformation
2946         of a for loop for an enumeration type with an enumeration rep
2947         clause, which involves moving the original loop parameter into
2948         a nested block, the loop parameter's entity must be removed from
2949         the entity list of the loop scope.
2950
2951 2011-10-13  Bob Duff  <duff@adacore.com>
2952
2953         * exp_ch6.ads (BIP_Storage_Pool): New "extra implicit parameter"
2954         that gets passed in the same cases where BIP_Alloc_Form is passed
2955         (caller-unknown-size results). BIP_Storage_Pool is used when
2956         BIP_Alloc_Form = User_Storage_Pool.  In that case, a pointer
2957         to the user-defined storage pool is passed at the call site,
2958         and this pool is used in callee to allocate the result.
2959         * exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call): New
2960         version of Add_Alloc_Form_Actual_To_Build_In_Place_Call. Passes
2961         the additional BIP_Storage_Pool actual.
2962         (Expand_N_Extended_Return_Statement): Allocate the function
2963         result using the user-defined storage pool, if BIP_Alloc_Form =
2964         User_Storage_Pool.
2965         * sem_ch6.adb: Add the "extra formal" for BIP_Storage_Pool.
2966         * exp_ch4.adb: Don't overwrite storage pool set by
2967         Expand_N_Extended_Return_Statement.
2968         * s-stopoo.ads, rtsfind.ads (Root_Storage_Pool_Ptr): New type,
2969         for use in build-in-place function calls within allocators
2970         where the access type has a user-defined storage pool.
2971
2972 2011-10-13  Sergey Rybin  <rybin@adacore.com>
2973
2974         * gnat_ugn.texi, vms_data.ads: Add an option to control enumeration
2975         literal casing.
2976
2977 2011-10-13  Nicolas Roche  <roche@adacore.com>
2978
2979         * gnatlink.adb: Ensure that -mrtp is passed when runtime name ends
2980         with 'rtp'.
2981
2982 2011-10-13  Ed Schonberg  <schonberg@adacore.com>
2983
2984         * sem_prag.adb (Analyze_Pragma, case Unchecked_Union): Take into
2985         account that an unchecked union type can be limited.
2986
2987 2011-10-13  Olivier Hainque  <hainque@adacore.com>
2988
2989         * init.c (__gnat_error_handler) <VxWorks version>: Add comments on
2990         the use of the signal trampoline for PPC in the sjlj case as well.
2991         Add legitimate casts, preventing compile time warnings on the
2992         (sighandler *) profile.
2993
2994 2011-10-13  Yannick Moy  <moy@adacore.com>
2995
2996         * sem_aggr.adb (Resolve_Aggr_Expr): Always perform semantic analysis
2997         in Alfa mode.
2998
2999 2011-10-13  Ed Schonberg  <schonberg@adacore.com>
3000
3001         * sem_ch3.adb (OK_For_Limited_Init_In_05): Conditional and case
3002         expressions are legal limited return values if each one of their
3003         dependent expressions are legal.
3004
3005 2011-10-13  Ed Schonberg  <schonberg@adacore.com>
3006
3007         * sem_ch6.adb (Analyze_Procedure_Call_Statement): In Ada 2012 mode,
3008         if the prefix of the call is a qualified expression, rewrite as
3009         a code statement.
3010         * sem_ch13.adb (Analyze_Code_Statement): In Ada 2012 mode, the
3011         code statement is legal if it is a rewriting of a procedure call.
3012
3013 2011-10-13  Ed Schonberg  <schonberg@adacore.com>
3014
3015         * exp_aggr.adb (Flatten): If a component association has a box,
3016         assume that aggregate is not static.
3017         (Safe_Aggregate): If a component association in a non-limited
3018         aggregate has a box, assume that it cannot be expanded in place.
3019
3020 2011-10-13  Vincent Celier  <celier@adacore.com>
3021
3022         * prj-conf.adb (Get_Or_Create_Configuration_File): Call
3023         Process_Project_Tree_Phase_1 with Packages_To_Check.
3024         (Process_Project_And_Apply_Config): Ditto
3025         * prj-part.ads, prj-part.adb, prj-pars.ads, prj-pars.adb (Parse):
3026         Remove default for argument Packages_To_Check.
3027         * prj-proc.adb (Recursive_Process): New argument
3028         Packages_To_Check.
3029         (Process): Ditto.
3030         (Process_Project_Tree_Phase_1): Ditto.
3031         (Recursive_Project.Process_Aggregated_Projects): Call
3032         Prj.Part.Parse and Process_Project_Tree_Phase_1 with
3033         Packages_To_Check.
3034         * prj-proc.ads (Process): New argument Packages_To_Check
3035         (Process_Project_Tree_Phase_1): Ditto
3036
3037 2011-10-13  Arnaud Charlet  <charlet@adacore.com>
3038
3039         * gcc-interface/Makefile.in: Fix typo.
3040
3041 2011-10-13  Ed Schonberg  <schonberg@adacore.com>
3042
3043         * sem_ch12.adb (Analyze_Formal_{Floating_Type,
3044         Signed_Integer_Type,  Decimal_Fixed_Point_Type, Discrete_Type}):
3045         Use sloc of defining identifier of farmal type declaration,
3046         as sloc of generated internal entity, to prevent misplaced
3047         references in ali.
3048
3049 2011-10-13  Ed Schonberg  <schonberg@adacore.com>
3050
3051         * sem_intr.adb (Check_Intrinsic_Operator): Check that type
3052         is fully defined before checking that it is a numeric type.
3053
3054 2011-10-13  Ed Schonberg  <schonberg@adacore.com>
3055
3056         * sem_aggr.adb (Resolve_Record_Aggregate): If a component
3057         association for component X has a box, then X is covered in the
3058         aggregate even if there is not default value for X in the type
3059         declaration, and X has to be default-initialized.
3060
3061 2011-10-13  Ed Schonberg  <schonberg@adacore.com>
3062
3063         * sem_attr.adb (Check_Enum_Image, Analyze_Attribute case 'Value): Mark
3064         literals as referenced only if reference is in current source unit.
3065
3066 2011-10-13  Matthew Heaney  <heaney@adacore.com>
3067
3068         * a-csquin.ads (Enque, Dequeue): Mark interface operations as entries.
3069
3070 2011-10-13  Olivier Hainque  <hainque@adacore.com>
3071
3072         * sigtramp.h: New file.  Prototype and spec of the signal
3073         trampoline to be called by an established handler to provide
3074         dwarf call frame info before the real signal processing code.
3075         * sigtramp-ppcvxw.c: New file.  Implementation of the signal
3076         trampoline for ppc-vxworks.
3077         * init.c (vxworks section): Use it for ppc.
3078
3079 2011-10-13  Thomas Quinot  <quinot@adacore.com>
3080
3081         * par-ch2.adb, par.adb, par-util.adb, par-ch3.adb
3082         (Check_Future_Identifier): New subprogram,
3083         factors duplicated code from Par.Ch2.P_Identifier and
3084         Par.Ch3.P_Defining_Identifier.
3085
3086 2011-10-13  Thomas Quinot  <quinot@adacore.com>
3087
3088         * s-taprop-posix.adb (Initialize): Always raise Storage_Error
3089         if we fail to initialize CV attributes or CV.
3090
3091 2011-10-13  Thomas Quinot  <quinot@adacore.com>
3092
3093         * s-tasren.adb (Timed_Selective_Wait, case
3094         Accept_Alternative_Selected): Use Defer_Abort_Nestable, since
3095         we know abortion is already deferred.
3096
3097 2011-10-13  Hristian Kirtchev  <kirtchev@adacore.com>
3098
3099         * exp_ch3.adb (Build_Class_Wide_Master): Moved to exp_ch9.
3100         (Build_Master_Renaming (function)): Removed.
3101         (Build_Master_Renaming (procedure)): Moved to exp_ch9.
3102         (Expand_Full_Type_Declaration): Alphabetize
3103         variables. Reformatting of code and comments. Rewrite the
3104         section on processing of anonymous access-to-task types in
3105         record components.
3106         * exp_ch3.ads (Build_Class_Wide_Master): Moved to exp_ch9.
3107         (Build_Master_Renaming): Moved to exp_ch9.
3108         * exp_ch9.adb (Build_Class_Wide_Master): Moved from exp_ch3.
3109         (Build_Master_Entity): Add formal parameter
3110         Use_Current. Reformatting of code and comments.
3111         (Build_Master_Renaming): Moved from exp_ch3.
3112         * exp_ch9.ads (Build_Class_Wide_Master): Moved from
3113         exp_ch3. Update comment on usage.
3114         (Build_Master_Entity):
3115         Add formal parameter Use_Current. Update comment on usage.
3116         (Build_Master_Renaming): Moved from exp_ch3.
3117         * sem_ch3.adb (Access_Definition): Remove redundant code to
3118         create a _master and a renaming.
3119
3120 2011-10-13  Ed Schonberg  <schonberg@adacore.com>
3121
3122         * lib-xref.adb: Do no emit reference to overridden operation,
3123         if it is internally generated.
3124
3125 2011-10-13  Vincent Celier  <celier@adacore.com>
3126
3127         * bindgen.adb: Remove any processing related to g-trasym
3128         * Makefile.rtl: Add g-trasym.o to GNATRTL_NONTASKING_OBJS
3129         * mlib-prj.adb: Remove any processing related to g-trasym.
3130
3131 2011-10-12  Eric Botcazou  <ebotcazou@adacore.com>
3132
3133         * sem_util.adb (Denotes_Same_Prefix): Fix fatal warning.
3134         * gcc-interface/Make-lang.in (WARN_ADAFLAGS): New.
3135         (ALL_ADAFLAGS): Include WARN_ADAFLAGS.
3136         (ADA_FLAGS_TO_PASS): Likewise.
3137         (COMMON_FLAGS_TO_PASS): New.
3138         (ADA_TOOLS_FLAGS_TO_PASS): Use COMMON_FLAGS_TO_PASS.  In the regular
3139         native case, also use FLAGS_TO_PASS and ADA_FLAGS_TO_PASS.
3140         (gnatlib): Use COMMON_FLAGS_TO_PASS.
3141         (ada.install-common): Likewise.
3142         (install-gnatlib): Likewise.
3143         (install-gnatlib-obj): Likewise.
3144         (gnattools): Use ADA_TOOLS_FLAGS_TO_PASS for gnattools1 as well.
3145         (gnat-cross): Delete.
3146         (gnatboot): Likewise.
3147         (gnatboot2): Likewise.
3148         (gnatboot3): Likewise.
3149         (gnatstage1): Likewise.
3150         (gnatstage2): Likewise.
3151         * gcc-interface/Makefile.in (SOME_ADAFLAGS): Likewise.
3152         (MOST_ADAFLAGS): Likewise.
3153         (LOOSE_CFLAGS): Likewise.
3154         (gnat-cross): Likewise.
3155         (GNATLIBFLAGS): Add -W -Wall.
3156         (GNATLIBCFLAGS_FOR_C): Likewise.
3157         * gcc-interface/lang.opt: Remove C-specific warnings.  Add doc lines.
3158         * gcc-interface/misc.c (gnat_handle_option): Remove obsolete cases.
3159
3160 2011-10-12  Eric Botcazou  <ebotcazou@adacore.com>
3161
3162         * gcc-interface/trans.c (Attribute_to_gnu): Use remove_conversions.
3163         (push_range_check_info): Likewise.
3164         (gnat_to_gnu) <N_Code_Statement>: Likewise.
3165         * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise.
3166         (gnat_invariant_expr): Likewise.
3167         * gcc-interface/utils.c (compute_related_constant): Likewise.
3168         (max_size): Fix handling of SAVE_EXPR.
3169         (remove_conversions): Fix formatting.
3170
3171 2011-10-12  Eric Botcazou  <ebotcazou@adacore.com>
3172
3173         * gcc-interface/ada-tree.h (DECL_LOOP_PARM_P): New flag.
3174         (DECL_INDUCTION_VAR): New macro.
3175         (SET_DECL_INDUCTION_VAR): Likewise.
3176         * gcc-interface/gigi.h (convert_to_index_type): Declare.
3177         (gnat_invariant_expr): Likewise.
3178         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If this is a loop
3179         parameter, set DECL_LOOP_PARM_P on it.
3180         * gcc-interface/misc.c (gnat_print_decl) <VAR_DECL>: If DECL_LOOP_PARM_P
3181         is set, print DECL_INDUCTION_VAR instead of DECL_RENAMED_OBJECT.
3182         * gcc-interface/trans.c (gnu_loop_label_stack): Delete.
3183         (struct range_check_info_d): New type.
3184         (struct loop_info_d): Likewise.
3185         (gnu_loop_stack): New stack.
3186         (Identifier_to_gnu): Set TREE_READONLY flag on the first dereference
3187         built for a by-double-ref read-only parameter.  If DECL_LOOP_PARM_P
3188         is set, do not test DECL_RENAMED_OBJECT.
3189         (push_range_check_info): New function.
3190         (Loop_Statement_to_gnu): Push a new struct loop_info_d instead of just
3191         the label.  Reference the label and the iteration variable from it.
3192         Build the special induction variable in the unsigned version of the
3193         size type, if it is larger than the base type.  And attach it to the
3194         iteration variable if the latter isn't by-ref.  In the iteration scheme
3195         case, initialize the invariant conditions in front of the loop if
3196         deemed profitable.  Use gnu_loop_stack.
3197         (gnat_to_gnu) <N_Exit_Statement>: Use gnu_loop_stack.
3198         <N_Raise_Constraint_Error>: Always process the reason.  In the range
3199         check and related cases, and if loop unswitching is enabled, compute
3200         invariant conditions and push this information onto the stack.
3201         Do not translate again the condition if it has been already translated.
3202         * gcc-interface/utils.c (record_global_renaming_pointer): Assert that
3203         DECL_LOOP_PARM_P isn't set.
3204         (convert_to_index_type): New function.
3205         * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Use it in order
3206         to convert the index from the base index type to sizetype.
3207         (gnat_invariant_expr): New function.
3208
3209 2011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
3210
3211         * gcc-interface/utils.c (def_builtin_1): Delete old interface with
3212         two parallel arrays to hold standard builtin declarations, and
3213         replace it with a function based interface that can support
3214         creating builtins on the fly in the future.
3215         * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Ditto.
3216         (gnat_to_gnu): Ditto.
3217
3218 2011-10-07  Eric Botcazou  <ebotcazou@adacore.com>
3219
3220         PR lto/50492
3221         * gcc-interface/gigi.h (gnat_pushdecl): Adjust comment.
3222         * gcc-interface/utils.c (global_context): New variable.
3223         (gnat_pushdecl): Initialize it and set it as the DECL_CONTEXT of DECLs
3224         that are either public external or at top level.  Use "No" macro.
3225         (end_subprog_body): Call decl_function_context.
3226         (rest_of_subprog_body_compilation): Likewise.
3227
3228 2011-10-07  Eric Botcazou  <ebotcazou@adacore.com>
3229
3230         * gcc-interface/gigi.h (gnat_useless_type_conversion): Declare.
3231         (rest_of_subprog_body_compilation): Likewise.
3232         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: For renaming,
3233         test for useless conversions by means of gnat_useless_type_conversion.
3234         * gcc-interface/trans.c: Include bitmap.h and cgraph.h.
3235         (language_function): Add named_ret_val and other_ret_val.
3236         (f_named_ret_val): New macro.
3237         (f_other_ret_val): Likewise.
3238         (gigi): Call rest_of_subprog_body_compilation.
3239         (struct nrv_data): New structure.
3240         (is_nrv_p): New predicate.
3241         (prune_nrv_r): New helper function.
3242         (prune_nrv_in_block): New function.
3243         (finalize_nrv_r): New helper function.
3244         (finalize_nrv): New function.
3245         (return_value_ok_for_nrv_p): New predicate.
3246         (build_return_expr): If optimization is enabled, record candidates for
3247         the Named Return Value optimization.
3248         (build_function_stub): Call rest_of_subprog_body_compilation.
3249         (Subprogram_Body_to_gnu): If optimization is enabled and there are
3250         candidates, finalize the Named Return Value optimization.
3251         Call rest_of_subprog_body_compilation.
3252         (call_to_gnu): At the end, if a return value is needed, simplify the
3253         result before wrapping it up in a COMPOUND_EXPR.
3254         * gcc-interface/utils.c (end_subprog_body): Split into...
3255         (rest_of_subprog_body_compilation): ...this.  New function.
3256         (gnat_useless_type_conversion): Likewise.
3257
3258 2011-10-06  Thomas Quinot  <quinot@adacore.com>
3259
3260         * einfo.ads, exp_attr.adb, exp_ch3.adb, exp_ch4.adb, exp_ch7.adb,
3261         exp_ch9.adb, exp_ch9.ads, exp_strm.adb, exp_util.adb, freeze.adb,
3262         g-debpoo.ads, opt.ads, par-ch12.adb, par-ch2.adb, par-ch3.adb,
3263         par-ch5.adb, par-ch6.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
3264         sem_ch10.adb, sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
3265         sem_ch6.adb, sem_intr.adb, sem_res.ads, sem_type.adb, sem_util.adb,
3266         s-regpat.adb, s-tpopde-vms.ads: Minor reformatting.
3267         * s-osinte-freebsd.ads: Fix for tasking failures on FreeBSD.
3268
3269 2011-10-06  Ed Schonberg  <schonberg@adacore.com>
3270
3271         * a-cihase.adb, a-ciorma.adb: Avoid accessibility checks in container
3272         references.
3273
3274 2011-10-06  Matthew Heaney  <heaney@adacore.com>
3275
3276         * a-cuprqu.ads, a-cuprqu.adb, a-cbprqu.ads, a-cbprqu.adb
3277         (Dequeue_Only_High_Priority): Protected procedure now implemented.
3278
3279 2011-10-06  Vincent Celier  <celier@adacore.com>
3280
3281         * g-trasym.adb: Replace old implementation with the default
3282         implementation that returns list of addresses as "0x...".
3283         * g-trasym.ads: Update the list of platforms with the full
3284         capability.  Indicate that there is a default implementation
3285         for other platforms.
3286         * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: Remove.
3287         * gcc-interface/Makefile.in: Remove g-trasym-unimplemented, as there
3288         is now a default implementation for all platforms without the full
3289         capability.
3290
3291 2011-10-06  Robert Dewar  <dewar@adacore.com>
3292
3293         * a-ciorse.adb, a-cihase.adb, a-cihase.ads, a-coorse.adb,
3294         a-cborse.adb, a-comutr.adb, a-ciorma.adb, a-cbmutr.adb,
3295         a-cbmutr.ads, a-cbhase.adb, a-cbhase.ads: Minor reformatting and code
3296         reorganization (use conditional expressions).
3297
3298 2011-10-06  Robert Dewar  <dewar@adacore.com>
3299
3300         * sem_res.adb (Resolve_Arithmetic_Op): Fix bad warning for
3301         floating divide by zero.
3302
3303 2011-10-06  Ed Schonberg  <schonberg@adacore.com>
3304
3305         * sem_ch6.adb: Limited interfaces that are not immutably limited
3306         are OK in return statements.
3307
3308 2011-09-30  Iain Sandoe  <iains@gcc.gnu.org>
3309
3310         * gcc-interface/Makefile.in (Darwin): Partial reversion of previous
3311         change to powerpc section.
3312
3313 2011-09-29  Iain Sandoe  <iains@gcc.gnu.org>
3314
3315         * gcc-interface/Makefile.in (Darwin): Factor LIBGNAT_TARGET_PAIRS
3316         across the port.
3317
3318 2011-09-27  Ed Schonberg  <schonberg@adacore.com>
3319
3320         * a-cbhase.adb, a-cbhase.ads, a-cborse.adb, a-cborse.ads,
3321         a-cihase.adb, a-cihase.ads, a-ciorse.adb, a-ciorse.ads,
3322         a-coorse.adb, a-coorse.ads: Add iterator machinery to bounded sets and
3323         indefinite sets.
3324         * a-coorma.ads: Minor reformmating.
3325         * einfo.ads: Improve the comment describing the
3326         Directly_Designated_Type function.
3327         * a-ciorma.adb, a-ciorma.ads: Add iterator machinery to indefinite
3328         ordered maps.
3329         * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
3330         dependencies.
3331
3332 2011-09-27  Robert Dewar  <dewar@adacore.com>
3333
3334         * a-comutr.ads: Minor reformatting.
3335
3336 2011-09-27  Ed Schonberg  <schonberg@adacore.com>
3337
3338         * a-cimutr.adb, a-cimutr.ads, a-cbmutr.adb, a-cbmutr.ads: Add children
3339         iterators to multiway trees.
3340
3341 2011-09-27  Yannick Moy  <moy@adacore.com>
3342
3343         * debug.adb (d.D): New option for strict Alfa mode.
3344         * opt.ads (Strict_Alfa_Mode): New flag to interpret compiler
3345         permissions as strictly as possible.
3346         * sem_ch3.adb (Signed_Integer_Type_Declaration): In non-strict