OSDN Git Service

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