OSDN Git Service

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