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