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