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