OSDN Git Service

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