From 44a9d0eac23440d76f06ef9b3d429d5c3d286ded Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Mon, 9 Jul 2012 13:27:47 +0000 Subject: [PATCH] Remove duplicate entries. From-SVN: r189381 --- gcc/ada/ChangeLog-2011 | 3192 ---------------------------------------- 1 file changed, 3192 deletions(-) diff --git a/gcc/ada/ChangeLog-2011 b/gcc/ada/ChangeLog-2011 index 37f011b3a3c..7f5f6f9aa5f 100644 --- a/gcc/ada/ChangeLog-2011 +++ b/gcc/ada/ChangeLog-2011 @@ -15253,3198 +15253,6 @@ variables that are referenced in exception handlers volatile. - -Copyright (C) 2011 Free Software Foundation, Inc. - -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. - - * gnat_rm.texi: Ramification of pragma Eliminate documentation - - fix bugs in the description of Source_Trace; - - get rid of UNIT_NAME; - -2011-08-02 Javier Miranda - - * exp_ch9.adb - (Build_Dispatching_Requeue): Adding support for VM targets - since we cannot directly reference the Tag entity. - * exp_sel.adb (Build_K): Adding support for VM targets. - (Build_S_Assignment): Adding support for VM targets. - * exp_disp.adb - (Default_Prim_Op_Position): In VM targets do not restrict availability - of predefined interface primitives to compiling in Ada 2005 mode. - (Is_Predefined_Interface_Primitive): In VM targets this service is not - restricted to compiling in Ada 2005 mode. - (Make_VM_TSD): Generate code that declares and initializes the OSD - record. Needed to support dispatching calls through synchronized - interfaces. - * exp_ch3.adb - (Make_Predefined_Primitive_Specs): Enable generation of predefined - primitives associated with synchronized interfaces. - (Make_Predefined_Primitive_Bodies): Enable generation of predefined - primitives associated with synchronized interfaces. - -2011-08-02 Yannick Moy - - * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of - statements hidden in SPARK if preceded by the HIDE directive - (Parse_Exception_Handlers): mark each exception handler in a sequence of - exception handlers as hidden in SPARK if preceded by the HIDE directive - * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK - if starting with the HIDE directive - * par-ch7.adb (P_Package): mark a package body hidden in SPARK if - starting with the HIDE directive; mark the declarations in a private - part as hidden in SPARK if the private part starts with the HIDE - directive - * restrict.adb, restrict.ads - (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK - (Is_In_Hidden_Part_In_SPARK): new function which returns whether its - argument node belongs to a part which is hidden in SPARK - (Check_SPARK_Restriction): do not issue violations on nodes in hidden - parts in SPARK; protect the possibly costly call to - Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on - * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration - * scng.adb (Accumulate_Token_Checksum_GNAT_6_3, - Accumulate_Token_Checksum_GNAT_5_03): add case for new token - Tok_SPARK_Hide. - (Scan): recognize special comment starting with '#' and followed by - SPARK keyword "hide" as a HIDE directive. - -2011-08-02 Yannick Moy - - * types.ads, erroutc.ads: Minor reformatting. - -2011-08-02 Vincent Celier - - * link.c: Add response file support for cross platforms. - -2011-08-02 Ed Schonberg - - * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression - in an association, set parent field of copy before partial analysis. - * sem_res.adb (Resolve_Slice): create reference to itype only when - expansion is enabled. - -2011-08-02 Yannick Moy - - * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set - for new flag denoting which subprogram bodies are in ALFA - * restrict.adb, sem_ch7.adb: Update comment - * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, - sem_ch9.adb, sem_res.adb: Add calls to - Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs. - * sem_ch6.adb (Analyze_Function_Return): add calls to - Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the - middle of the body, and extended return. - (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument - False when missing return. - (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA - to True for subprograms whose spec is in ALFA. Remove later on the flag - on the entity used for a subprogram body when there exists a separate - declaration. - * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA): - if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to - False, otherwise do nothing. - -2011-08-02 Robert Dewar - - * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting. - -2011-08-02 Yannick Moy - - * sem_ch4.ads: minor formatting. - -2011-08-02 Yannick Moy - - * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, - debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb, - errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb, - restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb, - opt.ads: cleanup of SPARK mode - -2011-08-02 Yannick Moy - - * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard - types. - * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities - (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA - * sem_ch3.adb - (Analyze_Object_Declaration): set Is_In_ALFA flag for objects - (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes - (Constrain_Integer): set Is_In_ALFA flag for integer subtypes - (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration - types. - (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with - non-static range. - * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for - functions whose return type is not in ALFA. - (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram - specifications. - (Process_Formals): unset Is_In_ALFA flag for subprograms if a - parameter's type is not in ALFA. - * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard - types are in ALFA. - -2011-08-02 Ed Schonberg - - * sem_ch6 (Analyze_Expression_Function): treat the function as - Inline_Always, and introduce a subprogram declaration for it when it is - not a completion. - * inline.adb (Add_Inlined_Body): recognize bodies that come from - expression functions, so that the back-end can determine whether they - can in fact be inlined. - * sem_util.adb (Is_Expression_Function): predicate to determine whether - a function body comes from an expression function. - -2011-08-02 Gary Dismukes - - * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming - null exclusions to test Can_Never_Be_Null on the anonymous access types - of the formals rather than testing the formals themselves. Exclude this - check in cases where the Old_Formal is marked as a controlling formal, - to avoid issuing spurious errors for bodies completing dispatching - operations (due to the flag not getting set on controlling access - formals in body specs). - (Find_Corresponding_Spec): When checking full and subtype conformance of - subprogram bodies in instances, pass Designated and E in that order, for - consistency with the expected order of the formals (New_Id followed by - Old_Id). - -2011-08-02 Robert Dewar - - * sem_ch8.adb: Minor reformatting. - -2011-08-02 Ed Schonberg - - * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure - Check_Class_Wide_Actual, to implement AI05-0071, on defaulted - primitive operations of class-wide actuals. - -2011-08-02 Javier Miranda - - * exp_atag.ads, exp_atag.adb - (Build_Common_Dispatching_Select_Statements): Remove argument Loc - since its value is implicitly passed in argument Typ. - * exp_disp.adb (Make_Disp_Conditional_Select_Body, - Make_Disp_Timed_Select_Body): Remove Loc in calls to routine - Build_Common_Dispatching_Select_Statements. - -2011-08-02 Robert Dewar - - * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads, - exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments. - Minor reformatting. - -2011-08-02 Robert Dewar - - * sem_res.adb: Minor reformatting. - * sem_prag.adb: Minor reformatting. - -2011-08-02 Javier Miranda - - * exp_atag.adb, exp_atags.ads - (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr - by the tagged type Entity. Required to use this routine in the VM - targets since we do not have available the Tag entity in the VM - platforms. - * exp_ch6.adb - (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package - Ada.Tags has not been previously loaded. - * exp_ch7.adb - (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke - Build_VM_TSDs if package Ada.Tags has not been previously loaded. - * sem_aux.adb - (Enclosing_Dynamic_Scope): Add missing support to handle the full - view of enclosing scopes. Required to handle enclosing scopes that - are synchronized types whose full view is a task type. - * exp_disp.adb - (Build_VM_TSDs): Minor code improvement to avoid generating and - analyzing lists with empty nodes. - (Make_Disp_Asynchronous_Select_Body): Add support for VM targets. - (Make_Disp_Conditional_Select_Body): Add support for VM targets. - (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets. - (Make_Disp_Timed_Select_Body): Add support for VM targets. - (Make_Select_Specific_Data_Table): Add support for VM targets. - (Make_VM_TSD): Generate code to initialize the SSD structure of - the TSD. - -2011-08-02 Yannick Moy - - * lib-writ.adb (Write_ALI): when ALFA mode is set, write local - cross-references section in ALI. - * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub - (enclosing subprogram), Slc (location of Sub) and Sun (unit number of - Sub). - (Enclosing_Subprogram_Or_Package): new function to return the enclosing - subprogram or package entity of a node - (Is_Local_Reference_Type): new function returns True for references - selected in local cross-references. - (Lt): function extracted from Lt in Output_References - (Write_Entity_Name): function extracted from Output_References - (Generate_Definition): generate reference with type 'D' for definition - of objects (object declaration and parameter specification), with - appropriate locations and units, for use in local cross-references. - (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created - references of type 'I' for initialization in object definition. - (Output_References): move part of function Lt and procedure - Write_Entity_Name outside of the body. Ignore references of types 'D' - and 'I' introduced for local cross-references. - (Output_Local_References): new procedure to output the local - cross-references sections. - (Lref_Entity_Status): new array defining whether an entity is a local - * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference - with 'I' type when initialization expression is present. - * get_scos.adb, get_scos.ads: Correct comments and typos - -2011-08-02 Javier Miranda - - * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in - the JVM target. - * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in - the JVM target. - * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no - TSD support. - -2011-08-02 Vincent Celier - - * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line - (No_Space_Img): New function - (Find_Excluded_Sources): When reading from a file, record the file name - and the line number for each excluded source. - (Mark_Excluded_Sources): When reporting an error, if the excluded - sources were read from a file, include file name and line number in - the error message. - -2011-08-02 Ed Schonberg - - * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2). - -2011-08-02 Robert Dewar - - * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting - -2011-08-02 Javier Miranda - - * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the - generation of TSDs to the DOTNET compiler. - * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the - generation of TSDs to the DOTNET compiler. - -2011-08-02 Javier Miranda - - * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data - record of all the tagged types declared inside library level package - declarations, library level package bodies or library level subprograms. - * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD - associated with a given tagged type. - (Build_VM_TSDs): New subprogram. - * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main - compilation units that are subprograms. - * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main - compilation units that are package bodies. - (Expand_N_Package_Declaration): Generate TSDs of the main compilation - units that are a package declaration or a package instantiation. - * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code - reorganization to improve the error generated by the frontend when the - function Ada.Tags.Secondary_Tag is not available. - * rtsfind.ads (RE_Register_TSD): New runtime entity. - * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup. - -2011-08-02 Javier Miranda - - * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode. - -2011-08-02 Robert Dewar - - * s-imenne.ads: Minor reformatting. - -2011-08-02 Robert Dewar - - * a-stunau.ads: Add pragma Suppress_Initialization for Big_String - * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed - * s-stalib.ads: Add pragma Suppress_Initialization for Big_String - -2011-08-02 Robert Dewar - - * einfo.ads (Materialize_Entity): Document this is only for renamings - * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate - required debug information in the case where we transform the object - declaration into a renaming declaration. - * exp_ch4.adb (Expand_Concatenate): Generate debug info for result - object - * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of - Materialize_Entity. - -2011-08-02 Robert Dewar - - * einfo.ads, einfo.adb (Suppress_Initialization): Replaces - Suppress_Init_Procs. - * exp_ch3.adb, exp_disp.adb, freeze.adb: Use - Suppress_Initialization/Initialization_Suppressed. - * gnat_rm.texi: New documentation for pragma Suppress_Initialization - * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function - * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed - * sem_prag.adb: New processing for pragma Suppress_Initialization. - -2011-08-02 Robert Dewar - - * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb: - Minor reformatting. - -2011-08-02 Ed Schonberg - - * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can - only have inheritable classwide pre/postconditions. - -2011-08-02 Javier Miranda - - * a-tags.ads, a-tags.adb (Check_TSD): New subprogram. - * rtsfind.ads (RE_Check_TSD): New runtime entity. - * exp_disp.adb (Make_DT): Generate call to the new runtime routine that - checks if the external tag of a type is the same as the external tag - of some other declaration. - -2011-08-02 Thomas Quinot - - * s-taskin.ads: Minor reformatting. - -2011-08-02 Emmanuel Briot - - * g-comlin.adb (Display_Help): swap the order in which it prints the - short help and the general usage. - -2011-08-02 Ed Schonberg - - * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly - the aspect declarations and attach them to the generic copy for - subsequent analysis. - (Analyze_Subprogram_Instantiation): copy explicitly the aspect - declarations of the generic tree to the new subprogram declarations. - * sem_attr.adb (Check_Precondition_Postcondition): recognize - conditions that apply to a subprogram instance. - -2011-08-02 Robert Dewar - - * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project]. - -2011-08-02 Ed Schonberg - - * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged - private type with a tagged full view is not derived in the immediate - scope of the partial view, (RM 7.3 (7)) use the scope of the base type. - -2011-08-02 Robert Dewar - - * exp_ch4.adb: Minor reformatting. - -2011-08-02 Ed Schonberg - - * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an - Ada2012 iterator, the loop will be rewritten during expansion into a - while loop with a cursor and an element declaration. Do not analyze the - body in this case, because if the container is for indefinite types the - actual subtype of the elements will only be determined when the cursor - declaration is analyzed. - -2011-08-02 Arnaud Charlet - - * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore - size/alignment related attributes in CodePeer_Mode. - -2011-08-02 Gary Dismukes - - * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to - Prepend_Element, since this can result in the operation getting the - wrong slot in the full type's dispatch table if the full type has - inherited operations. The incomplete type's operation will get added - to the proper position in the full type's primitives - list later in Sem_Disp.Check_Operation_From_Incomplete_Type. - (Process_Incomplete_Dependents): Add Is_Primitive test when checking for - dispatching operations, since there are cases where nonprimitive - subprograms can get added to the list of incomplete dependents (such - as subprograms in nested packages). - * sem_ch6.adb (Process_Formals): First, remove test for being in a - private part when determining whether to add a primitive with a - parameter of a tagged incomplete type to the Private_Dependents list. - Such primitives can also occur in the visible part, and should not have - been excluded from being private dependents. - * sem_ch7.adb (Uninstall_Declarations): When checking the rule of - RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents - list of a Taft-amendment incomplete type is a primitive before issuing - an error that the full type must appear in the same unit. There are - cases where nonprimitives can be in the list (such as subprograms in - nested packages). - * sem_disp.adb (Derives_From): Use correct condition for checking that - a formal's type is derived from the type of the corresponding formal in - the parent subprogram (the condition was completely wrong). Add - checking that was missing for controlling result types being derived - from the result type of the parent operation. - -2011-08-02 Yannick Moy - - * errout.adb (First_Node): minor renaming - * restrict.adb (Check_Formal_Restriction): put restriction warning on - first node. - -2011-08-02 Yannick Moy - - * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator - before accessing operands. - * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to - decide whether an initialization expression respects SPARK rules, as - the plain node is the expanded one. This allows for more valid warnings - to be issued. - * gnat_rm.texi: Minor update. - -2011-08-02 Arnaud Charlet - - * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert - previous change. - -2011-08-02 Robert Dewar - - * sem_ch3.adb, sem_ch4.adb: Minor reformatting. - -2011-08-02 Hristian Kirtchev - - * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original - loop statements and the element renaming declaration with a block when - the element type is controlled. - -2011-08-02 Yannick Moy - - * sinfo.ads: Minor formatting. - -2011-08-02 Ed Schonberg - - * sem_aggr.adb (Add_Association): if the association has a box and no - expression, use the Sloc of the aggregate itself for the new - association. - * errout.adb (First_Node): Exclude nodes with no Sloc, and always use - the Original_Node. - -2011-08-02 Hristian Kirtchev - - * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring. - When a container is provided via a function call, generate a renaming - of the function result. This avoids the creation of a transient scope - and the premature finalization of the container. - * exp_ch7.adb (Is_Container_Cursor): Removed. - (Wrap_Transient_Declaration): Remove the supression of the finalization - of the list controller when the declaration denotes a container cursor, - it is not needed. - -2011-08-02 Yannick Moy - - * restrict.adb (Check_Formal_Restriction): only issue a warning if the - node is from source, instead of the original node being from source. - * sem_aggr.adb - (Resolve_Array_Aggregate): refine the check for a static expression, to - recognize also static ranges - * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration, - Array_Type_Declaration): postpone the test for the type being a subtype - mark after the type has been resolved, so that component-selection and - expanded-name are discriminated. - (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm - to distinguish the case of an iteration scheme, so that an error is - issed on a non-static range in SPARK except in an iteration scheme. - * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with - In_Iter_Schm = True. - * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for - user-defined operators so that they are allowed in renaming - * sem_ch8.adb - (Find_Selected_Component): refine the check for prefixing of operators - so that they are allowed in renaming. Move the checks for restrictions - on selector name after analysis discriminated between - component-selection and expanded-name. - * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on - concatenation argument of string type if it is static. - * sem_util.adb, sem_util.ads - (Check_Later_Vs_Basic_Declarations): add a new function - Is_Later_Declarative_Item to decice which declarations are allowed as - later items, in the two different modes Ada 83 and SPARK. In the SPARK - mode, add that renamings are considered as later items. - (Enclosing_Package): new function to return the enclosing package - (Enter_Name): correct the rule for homonyms in SPARK - (Is_SPARK_Initialization_Expr): default to returning True on nodes not - from source (result of expansion) to avoid issuing wrong warnings. - -2011-08-02 Ed Schonberg - - * errout.adb: On anything but an expression First_Node returns its - argument. - -2011-08-02 Pascal Obry - - * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting. - -2011-08-02 Hristian Kirtchev - - * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization. - Set the associated loop as the related expression of internally - generated cursors. - * exp_ch7.adb (Is_Container_Cursor): New routine. - (Wrap_Transient_Declaration): Supress the finalization of the list - controller when the declaration denotes a container cursor. - -2011-08-02 Yannick Moy - - * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through - command line now. - * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the - expression is a simple expression. This check cannot be performed in - the semantics, so just drop it. - (P_Index_Or_Discriminant_Constraint): move check that the index or - discriminant is a subtype mark to Analyze_Subtype_Declaration in the - semantics. Other cases were previously checked in the semantics. - * par-ch4.adb (P_Name): move checks that a selector name is not - character literal or an operator symbol to Find_Selected_Component in - the semantics - * par-ch5.adb (Parse_Decls_Begin_End): move check that basic - declarations are not placed after later declarations in a separate - procedure in Sem_Util (possibly not the best choice?), to be used both - during parsing, for Ada 83 mode, and during semantic analysis, for - SPARK mode. - * par-endh.adb (Check_End): move check that end label is not missing - to Process_End_Label in the semantics - * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove - the special case for SPARK restriction - * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End - * restrict.adb, restrict.ads (Check_Formal_Restriction): add a - parameter Force to issue the error message even on internal node (used - for generated end label). Call Check_Restriction to check when an error - must be issued. In SPARK mode, issue an error message even if the - restriction is not set. - (Check_Restriction): new procedure with an additional out parameter to - inform the caller that a message has been issued - * sem_aggr.adb: Minor modification of message - * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction - instead of issuing an error message directly - * sem_ch3.adb (Analyze_Declarations): move here the check that basic - declarations are not placed after later declarations, by calling - Check_Later_Vs_Basic_Declarations - (Analyze_Subtype_Declaration): move here the check that an index or - discriminant constraint must be a subtype mark. Change the check that - a subtype of String must start at one so that it works on subtype marks. - * sem_ch4.adb (Analyze_Call): move here the check that a named - association cannot follow a positional one in a call - * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction - instead of issuing an error message directly - * sem_ch8.adb (Find_Selected_Component): move here the check that a - selector name is not a character literal or an operator symbol. Move - here the check that the prefix of an expanded name cannot be a - subprogram or a loop statement. - * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new - procedure called from parsing and semantics to check that basic - declarations are not placed after later declarations - (Process_End_Label): move here the check that end label is not missing - -2011-08-02 Arnaud Charlet - - * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum - representation clause in codepeer mode, since it confuses CodePeer and - does not bring useful info. - -2011-08-02 Ed Falis - - * init.c: initialize fp hw on MILS. - -2011-08-02 Ed Schonberg - - * errout.adb (First_Node): for bodies, return the node itself (small - optimization). For other nodes, do not check source_unit if the node - comes from Standard. - -2011-08-02 Robert Dewar - - * exp_ch3.adb: Minor comment additions. - * sem_ch13.adb: Minor reformatting. - -2011-08-02 Pascal Obry - - * make.adb, makeutl.adb: Removes some superfluous directory separator. - -2011-08-02 Robert Dewar - - * sem_attr.adb: Minor reformatting. - -2011-08-02 Robert Dewar - - * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value - (Has_Default_Component_Value): Removed - * einfo.ads Comment updates - (Has_Default_Aspect): Replaces Has_Default_Value - (Has_Default_Component_Value): Removed - * exp_ch13.adb - (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects - * exp_ch3.adb - (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects - (Get_Simple_Init_Val): Handle Default_Value aspect - (Needs_Simple_Initialization): Handle Default_Value aspect - * exp_ch3.ads: Needs_Simple_Initialization - * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect - * par-prag.adb (Pragma_Default[_Component]Value) Removed - * sem_ch13.adb - (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects - * sem_prag.adb (Pragma_Default[_Component]Value) Removed - * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed - -2011-08-02 Ed Schonberg - - * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate - package containing iteration primitives. - exp_ch5.adb (Expand_Iterator_Loop): ditto. - -2011-08-02 Ed Schonberg - - * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with - "of", pre-analyze expression in case it is a function call with - finalization actions that must be placed ahead of the loop. - * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present - on an Ada2012 iterator, insert them ahead of the rewritten loop. - -2011-08-02 Geert Bosch - - * cstand.adb (Create_Float_Types): Only consider C's long double for - Long_Long_Float, in addition to double. - -2011-08-02 Robert Dewar - - * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads, - sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads, - prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb: - Minor reformatting. - -2011-08-02 Ed Schonberg - - * sem_attr.adb: handle properly 'Result when it is a prefix of an - indexed component. - -2011-08-02 Javier Miranda - - * einfo.ads, einfo.adb - (Original_Access_Type): Move this attribute to Node26 since there was - an undocumented use of Node21 in E_Access_Subprogram_Type entities - which causes conflicts and breaks the generation of the .NET compiler. - (Interface_Name): Add missing documentation on JGNAT only uses of - this attribute. - -2011-08-02 Geert Bosch - - * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist - (Find_Back_End_Float_Type): Likewise - (Create_Back_End_Float_Types): Likewise - (Create_Float_Types): Likewise - (Register_Float_Type): Likewise - * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of - Nlist and split out type selection in new local Find_Base_Type function. - * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of - Nlist - * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist - -2011-08-02 Robert Dewar - - * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in - alpha order). - * opt.ads: Minor comment change. - * sem_ch12.adb: Minor code reorganization. - -2011-08-02 Gary Dismukes - - * sem_ch3.adb (Complete_Private_Subtype): Don't append the private - subtype's list of rep items to the list on the full subtype in the case - where the lists are the same. - -2011-08-02 Geert Bosch - - * switch-c.adb (Free): New deallocation procedure to avoid implicitly - using the one from System.Strings, which also deallocates all strings. - -2011-08-02 Geert Bosch - - * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New - function. - * gcc-interface/Make-lang.in: Update dependencies. - -2011-08-02 Olivier Hainque - - * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function - end_locus. - -2011-08-02 Javier Miranda - - * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals - associated with anonymous access to subprograms. - -2011-08-02 Geert Bosch - - * opt.ads - (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions. - (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition. - * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads - (Add_Symbol_Definition): Move to switch-c.adb - (Process_Command_Line_Symbol_Definitions): Adjust references to above. - * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation. - (Add_Symbol_Definition): Move to switch-c.adb. - * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw. - * sem_warn.adb - (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch): - Move to warnsw.adb. - * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size, - Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch): - Move to warnsw.adb. - * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw. - (Add_Symbol_Definition): Moved from Prepcomp. - * switch-c.ads: Update copyright notice. Use String_List instead of - Argument_List, removing dependency on System.OS_Lib. - -2011-08-02 Yannick Moy - - * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal - mode on initialization expression which does not respect SPARK - restrictions. - * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines - if the tree referenced by its argument represents an initialization - expression in SPARK, suitable for initializing an object in an object - declaration. - -2011-08-02 Javier Miranda - - * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the - internally generated access to subprogram with its associated protected - subprogram type. - * einfo.ads, einfo.adb (Original_Access_Type): New attribute. - -2011-08-02 Geert Bosch - - * cstand.adb (Register_Float_Type): Print information about type to - register, if the Debug_Flag_Dot_B is set. - * debug.adb (Debug_Flag_Dot_B): Document d.b debug option. - * rtsfind.ads (RE_Max_Base_Digits): New run time entity. - * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations - with a requested precision of more than Max_Digits digits and no more - than Max_Base_Digits digits, if a range specification is present and the - Predefined_Float_Types list has a suitable type to derive from. - * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the - case of type completion with pragma Import - * sem_prag.adb - (Process_Import_Predefined_Type): Processing to complete a type - with pragma Import. Currently supports floating point types only. - (Set_Convention_From_Pragma): Do nothing without underlying type. - (Process_Convention): Guard against absence of underlying type, - which may happen when importing incomplete types. - (Process_Import_Or_Interface): Handle case of importing predefined - types. Tweak error message. - -2011-08-02 Eric Botcazou - - * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined - functions to previous change. Reorganize code slightly. - -2011-08-02 Geert Bosch - - * back_end.ads (Register_Type_Proc): New call back procedure type for - allowing the back end to provide information about available types. - (Register_Back_End_Types): New procedure to register back end types. - * back_end.adb (Register_Back_End_Types): Call the back end to enumerate - available types. - * cstand.adb (Back_End_Float_Types): New list for floating point types - supported by the back end. - (Build_Float_Type): Add extra parameter for Float_Rep_Kind. - (Copy_Float_Type): New procedure to make new copies of predefined types. - (Register_Float_Type): New call back procedure to populate the BEFT list - (Find_Back_End_Float_Type): New procedure to find a BEFT by name - (Create_Back_End_Float_Types): New procedure to populate the BEFT list. - (Create_Float_Types): New procedure to create entities for floating - point types predefined in Standard, and put these and any remaining - BEFTs on the Predefined_Float_Types list. - * stand.ads (Predefined_Float_Types): New list for predefined floating - point types that do not have declarations in package Standard. - -2011-08-02 Eric Botcazou - - * inline.adb (Get_Code_Unit_Entity): New local function. Returns the - entity node for the unit containing the parameter. - (Add_Inlined_Body): Use it to find the unit containing the subprogram. - (Add_Inlined_Subprogram): Likewise. - * gcc-interface/Make-lang.in: Update dependencies. - -2011-08-02 Thomas Quinot - - * s-stusta.adb (Print): Make sure Pos is always initialized to a - suitable value. - -2011-08-02 Geert Bosch - - * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image. - -2011-08-02 Eric Botcazou - - * sem_type.adb (Covers): Move trivial case to the top and reuse the - computed value of Base_Type. - -2011-08-02 Yannick Moy - - * restrict.adb (Check_Restriction): issue an error for any use of - class-wide, even if the No_Dispatch restriction is not set. - * sem_aggr.adb: Correct typos in comments and messages in formal mode - * sem_ch3.adb (Process_Full_View): issue an error in formal mode is, - when completing a private extension, the type named in the private part - is not the same as that named in the visible part. - * sem_res.adb (Resolve_Call): issue an error in formal mode on the use - of an inherited primitive operations of a tagged type or type extension - that returns the tagged type. - * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new - function which returns True for an implicit operation inherited by the - derived type declaration for the argument type. - (Is_SPARK_Object_Reference): move to appropriate place in alphabetic - order. - -2011-08-02 Ed Schonberg - - * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from - Process_Bounds, to perform analysis with expansion of a range or an - expression that is the iteration scheme for a loop. - (Analyze_Iterator_Specification): If domain of iteration is given by a - function call with a controlled result, as is the case if call returns - a predefined container, ensure that finalization actions are properly - generated. - * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range. - -2011-08-02 Javier Miranda - - * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo. - * gcc-interface/Make-lang.in: Update dependencies. - -2011-08-02 Javier Miranda - - * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to - determine if the analysis is performed using N or Original_Node (N). - * exp_util.adb (Side_Effect_Free): Code cleanup since the new - functionality of routine Is_Variable avoids code duplication. - * checks.adb (Determine_Range): Handle temporaries generated by - Remove_Side_Effects. - -2011-08-02 Javier Miranda - - * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and - expansion of the condition. Required since the previous analysis was - done with expansion disabled (see Resolve_Quantified_Expression) and - hence checks were not inserted and record comparisons have not been - expanded. - -2011-08-02 Ed Falis - - * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads: - Update header. - -2011-08-02 Bob Duff - - * opt.ads: Minor comment fix. - -2011-08-02 Bob Duff - - * sem_ch12.adb (Analyze_Package_Instantiation, - Analyze_Subprogram_Instantiation): Turn off style checking while - analyzing an instance. Whatever style checks that apply to the generic - unit should apply, so it makes no sense to apply them in an instance. - This was causing trouble when compiling an instance of a runtime - unit that violates the -gnatyO switch. - * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from - one of the two case statements, causing spurious errors. - -2011-08-02 Robert Dewar - - * uname.adb: Minor reformatting. - * gnatcmd.adb: Minor reformatting. - * exp_attr.adb: Minor reformatting. - -2011-08-02 Ed Schonberg - - * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction - No_Dispatching_Calls, do not look for the Assign primitive, because - predefined primitives are not created in this case. - -2011-08-02 Bob Duff - - * stylesw.ads: Minor comment fixes. - -2011-08-02 Robert Dewar - - * freeze.adb (Add_To_Result): New procedure. - -2011-08-02 Jose Ruiz - - * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run - time, if the specific run-time routines for handling streams of strings - are not available, use the default mechanism. - -2011-08-02 Arnaud Charlet - - * s-regpat.ads: Fix typo. - -2011-08-02 Vincent Celier - - * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is - not null, call it to create the in memory config project file without - parsing an existing default config project file. - -2011-08-02 Eric Botcazou - - * atree.adb (Allocate_Initialize_Node): Remove useless temporaries. - -2011-08-02 Ed Schonberg - - * sem_elim.adb: an abstract subprogram does not need an eliminate - pragma for its descendant to be eliminable. - -2011-08-02 Ed Falis - - * init.c: revert to handling before previous checkin for VxWorks - * s-intman-vxworks.adb: delete unnecessary declarations related to - using Ada interrupt facilities for handling signals. - Delete Initialize_Interrupts. Use __gnat_install_handler instead. - * s-intman-vxworks.ads: Import __gnat_install_handler as - Initialize_Interrupts. - * s-taprop-vxworks.adb: Delete Signal_Mask. - (Abort_Handler): change construction of mask to unblock exception - signals. - -2011-08-02 Jerome Guitton - - * a-except-2005.adb (Raise_From_Signal_Handler): Call - Debug_Raise_Exception before propagation starts. - -2011-08-02 Eric Botcazou - - * exp_ch6.adb (Expand_Call): Guard restriction checks with a call - to Restriction_Check_Required. - * sem_ch3.adb (Analyze_Object_Declaration): Likewise. - * sem_res.adb (Resolve_Call): Likewise. - * sem_attr.adb (Check_Stream_Attribute): Likewise. - -2011-08-02 Bob Duff - - * stylesw.ads: Update comment. - * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N. - * errout.ads: Remove obsolete comment. - -2011-08-02 Javier Miranda - - * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function. - (Set_Is_Safe_To_Reevaluate): new procedure. - * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no - assignment is allowed on safe-to-reevaluate variables. - (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the - temporary created to remove side effects in expressions that use - the secondary stack as safe-to-reevaluate. - * exp_util.adb (Side_Effect_Free): Add missing code to handle well - variables that are not true constants. - -2011-08-02 Robert Dewar - - * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads, - sem_res.adb, sem_ch6.adb: Minor reformatting. - -2011-08-02 Jerome Guitton - - * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code. - -2011-08-02 Ed Schonberg - - * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do - not set Overridden_Operation if subprogram is an initialization - procedure. - -2011-08-02 Yannick Moy - - * par-ch6.adb: Correct obsolete name in comments - * restrict.adb, restrict.ads (Check_Formal_Restriction): new function - which takes two message arguments (existing function takes one), with - second message used for continuation. - * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject - block statements that originate from a source block statement, not - generated block statements - * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for - symmetry with procedure case - * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new - function to issue an error in formal mode if a package specification - contains more than one tagged type or type extension. - * sem_res.adb (Resolve_Actuals): in formal mode, check that actual - parameters matching formals of tagged types are objects (or ancestor - type conversions of objects), not general expressions. Issue an error - on view conversions that are not involving ancestor conversion of an - extended type. - (Resolve_Type_Conversion): in formal mode, issue an error on the - operand of an ancestor type conversion which is not an object - * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the - procedure so that it works also for actuals of function calls - (Is_Actual_Tagged_Parameter): new function which determines if its - argument is an actual parameter of a formal of tagged type in a - subprogram call - (Is_SPARK_Object_Reference): new function which determines if the tree - referenced by its argument represents an object in SPARK - -2011-08-02 Robert Dewar - - * sem_ch3.adb: Minor reformatting - Minor comment addition - Minor error msg text change - -2011-08-02 Javier Miranda - - * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New - function. Used to be more precise when we generate a variable plus one - assignment to remove side effects in the evaluation of the Bound - expressions. - (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes - of the bound expression to force its re-analysis and thus expand the - associated transient scope (if required). Code cleanup replacing the - previous code that declared the constant entity by an invocation to - routine Force_Evaluation which centralizes this work in the frontend. - -2011-08-02 Robert Dewar - - * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table - (Base_Type): Now uses improved Is_Base_Type function - * einfo.ads (Base_Type): Inline this function - -2011-08-02 Robert Dewar - - * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion - (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas - -2011-08-02 Arnaud Charlet - - * gcc-interface/Make-lang.in: Update dependencies. - * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks - targets. - -2011-08-02 Yannick Moy - - * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on - non-simple expression used in delta constraint - (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on - index constraint which is not a subtype mark - * par.adb: With and use Restrict - * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal - mode on component type which is not a subtype mark and default - expression on component - (Analyze_Subtype_Declaration): issue an error in formal mode on subtype - of string which does not have a lower index bound equal to 1 - (Array_Type_Declaration): issue an error in formal mode on index or - component type which is not a subtype mark, and on aliased keyword on - component - (Derived_Type_Declaration): issue an error in formal mode on interface, - limited or abstract type - (Record_Type_Declaration): issue an error in formal mode on interface - (Record_Type_Definition): issue an error in formal mode on tagged types - and type extensions not declared in the specification of a library unit - package; on null non-tagged record; on variant part - -2011-08-02 Vincent Celier - - * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir - not declared for qualified library project when Library_Name is not - declared, but Library_Dir is. - -2011-08-02 Robert Dewar - - * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated - pragmas (affects aspects [Component_]Default_Value - (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use - component type for the resolution - -2011-08-02 Eric Botcazou - - * einfo.adb (Base_Type): Tune implementation for speed. - -2011-08-02 Robert Dewar - - * freeze.adb: Minor reformatting. - -2011-08-02 Thomas Quinot - - * scos.ads: Update comments. - -2011-08-02 Ed Schonberg - - * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the - base type, because the parent may be a subtype of a private type whose - convention is established in a private part. - -2011-08-02 Hristian Kirtchev - - * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return - statement in a block when the expansion of the return expression has - created a finalization chain. - * freeze.adb (Freeze_Expression): Alphabetize all choices associated - with the parent node. - Add N_Extended_Return_Statement to handle the case where a transient - object declaration appears in the Return_Object_Declarations list of - an extended return statement. - -2011-08-02 Matthew Gingell - - * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly - unused parameter 'name'. - -2011-08-02 Ed Schonberg - - * sem_elim.adb (Set_Eliminated): If the overridden operation is an - inherited operation, check whether its alias, which is the source - operastion that it renames, has been marked eliminated. - -2011-08-02 Javier Miranda - - * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an - in-mode parameter whose type is an access type since it can be used to - modify its designated object. Enforce code that handles as safe an - access type that is not access-to-constant but it is the result of a - previous removal of side-effects. - (Remove_Side_Effects): Minor code reorganization of cases which require - no action. Done to incorporate documentation on new cases uncovered - working in this ticket: no action needed if this routine was invoked - too early and the nodes are not yet decorated. - * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls - to routine Remove_Side_Effects by calls to Force_Evaluation since they - were issued with actuals that are implicitly provided by - Force_Evaluation. - -2011-08-02 Robert Dewar - - * sem_ch3.adb, sem_res.adb: Minor reformatting. - -2011-08-02 Yannick Moy - - * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure - to issue an error in formal mode on attribute not supported in this mode - (Analyze_Attribute): issue errors on standard attributes not supported - in formal mode. - * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of - comment, and issue error in formal mode on modulus which is not a power - of 2. - (Process_Range_Expr_In_Decl): issue error in formal mode on non-static - range. - * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in - subtype mark. - * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary - operator on modular type (except 'not'). - -2011-08-02 Robert Dewar - - * gnat_rm.texi: Minor reformatting. - -2011-08-02 Arnaud Charlet - - * s-osinte-linux.ads: Minor comment update and reformatting. - * i-cexten.ads: Make this unit pure, as for its parent. - Will allow its usage in more contexts if needed. - -2011-08-02 Robert Dewar - - * s-utf_32.ads: Minor comment fix. - -2011-08-02 Ed Schonberg - - * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive - operation of a tagged synchronized type, handle the case where the - controlling argument is overloaded. - -2011-08-02 Yannick Moy - - * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl: - Replace pragma SPARK_95 with pragma Restrictions (SPARK) - * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set - SPARK mode and formal verification mode on processing SPARK restriction - * s-rident.ads (Restriction_Id): add SPARK restriction in those not - requiring consistency checking. - -2011-08-02 Robert Dewar - - * sem_res.adb: Minor reformatting. - -2011-08-02 Robert Dewar - - * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, - a-cforse.ads: Remove unneeded with of Ada.Containers - Remove commented out pragma Inline's - Move specifications of new subprograms to the actual specs - -2011-08-02 Yannick Moy - - * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, - a-cforse.ads: Update comments. - -2011-08-02 Ed Schonberg - - * sem_attr.adb: add attribute name when 'Result has the wrong prefix. - -2011-08-02 Robert Dewar - - * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, - a-cforse.ads, a-cofove.ads: Minor reformatting. - -2011-08-02 Claire Dross - - * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads, - a-cofove.ads: Add comments. - -2011-08-02 Yannick Moy - - * gnat_rm.texi: Document formal containers. - -2011-08-02 Emmanuel Briot - - * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there - are empty sections. - -2011-08-02 Robert Dewar - - * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor - reformatting. - -2011-08-02 Robert Dewar - - * aspects.adb: New aspects Default_Value and Default_Component_Value - New format of Aspect_Names table checks for omitted entries - * aspects.ads: Remove mention of Aspect_Cancel and add documentation on - handling of boolean aspects for derived types. - New aspects Default_Value and Default_Component_Value - New format of Aspect_Names table checks for omitted entries - * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag - (Has_Default_Value): New flag - (Has_Default_Component_Value): New flag - (Has_Default_Value): New flag - * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names - table. - * par-prag.adb: New pragmas Default_Value and Default_Component_Value - * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects - Default_Value and Default_Component_Value - * sem_prag.adb: New pragmas Default_Value and Default_Component_Value - New aspects Default_Value and Default_Component_Value - * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value - * sprint.adb: Print N_Aspect_Specification node when called from gdb - -2011-08-02 Vincent Celier - - * prj-nmsc.adb (Check_Library_Attributes): For virtual library project, - inherit library kind. - -2011-08-02 Ed Schonberg - - * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds. - Minor reformatting. - -2011-08-02 Robert Dewar - - * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM - -2011-08-02 Yannick Moy - - * sem_aggr.adb (Resolve_Aggregate): Fix thinko. - -2011-08-02 Robert Dewar - - * impunit.adb: Add comment. - -2011-08-02 Yannick Moy - - * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks - qualification of aggregates in formal mode - (Is_Top_Level_Aggregate): returns True for an aggregate not contained in - another aggregate - (Resolve_Aggregate): complete the test that an aggregate is adequately - qualified in formal mode - -2011-08-02 Pascal Obry - - * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting. - * mlib-prj.adb: Supress warning when compiling binder generated file. - (Build_Library): Supress all warnings when compiling the binder - generated file. - -2011-08-02 Yannick Moy - - * errout.adb, errout.ads (Check_Formal_Restriction): move procedure - from here... - * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here - * sem_aggr.adb, sem_ch5.adb, sem_util.adb: - Add with/use clauses to make Check_Formal_Restriction visible - -2011-08-02 Ed Schonberg - - * sem_ch12.adb (Check_Generic_Actuals): handle properly actual - in-parameters when type of the generic formal is private in the generic - spec and non-private in the body. - -2011-08-02 Claire Dross - - * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb, - a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads, - a-cofove.adb, a-cofove.ads: New files implementing formal containers. - * impunit.adb, Makefile.rtl: Take new files into account. - -2011-08-02 Robert Dewar - - * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb, - sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting. - -2011-08-02 Yannick Moy - - * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in - formal mode - * sem_util.adb (Matching_Static_Array_Bounds): proper detection of - matching static array bounds, taking into account the special case of - string literals - * sem_ch3.adb: Typo in comment. - -2011-08-02 Yannick Moy - - * errout.adb, errout.ads (Check_Formal_Restriction): new procedure - which issues an error in formal mode if its argument node is originally - from source - * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type - has a discriminant specification so that it does not include the case - of derived types - (Derived_Type_Declaration): move here the test that a derived type has a - discriminant specification - * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the - first element of a component association before accessing its choices - (presence of component association is not enough) - * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram - declaration is a library item before accessing the next element in a - list, as library items are not member of lists - * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, - sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use - Check_Formal_Restriction whenever possible. - -2011-08-02 Ed Schonberg - - * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype - reference when needed. - -2011-08-02 Bob Duff - - * gnat_ugn.texi: Fix typo. - -2011-08-02 Vincent Celier - - * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of - archive file name. Do not use the full path name of archives for Open - VMS. - -2011-08-02 Robert Dewar - - * sem_ch12.adb, sem_ch11.adb: New calling sequence for - Analyze_Aspect_Specifications - * sem_ch13.adb - (Analyze_Aspect_Specifications): New handling for boolean aspects - * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence - * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling - sequence for Analyze_Aspect_Specifications - * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely - * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used - -2011-08-02 Robert Dewar - - * freeze.adb (Freeze_Entity): Remove handling of delayed boolean - aspects, since these no longer exist. - -2011-08-02 Robert Dewar - - * par-ch13.adb (Aspect_Specifications_Present): Always return false on - semicolon, do not try to see if there are aspects following it. - * par-ch3.adb (P_Declarative_Items): Better message for unexpected - aspect spec. - -2011-08-02 Robert Dewar - - * sem_ch8.adb, aspects.ads: Minor reformatting. - -2011-08-02 Eric Botcazou - - * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline. - * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure - extracted from... - (Analyze_Aspect_Specifications): ...here. Call above procedure. - -2011-08-02 Yannick Moy - - * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal - mode on subprogram declaration outside of package specification, unless - it is followed by a pragma Import - * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration, - Access_Type_Declaration): issue error in formal mode on access type - (Analyze_Incomplete_Type_Decl): issue error in formal mode on - incomplete type - (Analyze_Object_Declaration): issue error in formal mode on object - declaration which does not respect SPARK restrictions - (Analyze_Subtype_Declaration): issue error in formal mode on subtype - declaration which does not respect SPARK restrictions - (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue - error in formal mode on digits or delta constraint - (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on - decimal fixed point type - (Derived_Type_Declaration): issue error in formal mode on derived type - other than type extensions of tagged record types - * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant - with check on access definition - * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal - mode on protected definition. - (Analyze_Task_Definition): issue error in formal mode on task definition - -2011-08-02 Robert Dewar - - * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting. - -2011-08-02 Javier Miranda - - * sem_ch6.adb (Can_Override_Operator): New function. - (Verify_Overriding_Indicator): Add missing code to check overriding - indicator in operators. Fixes regression. - (Check_Overriding_Indicator): Minor reformating after replacing the - code that evaluates if the subprogram can override an operator by - invocations to the above new function. - * einfo.adb - (Write_Field26_Name): Add missing code to ensure that, following - the documentation in einfo.ads, this field is not shown as attribute - "Static_Initialization" on non-dispatching functions. - -2011-08-02 Jose Ruiz - - * sem_res.adb (Resolve_Call): A call to - Ada.Real_Time.Timing_Events.Set_Handler violates restriction - No_Relative_Delay (AI-0211) only when it sets a relative timing event, - i.e., when the second parameter is of type Time_Span. - -2011-08-02 Vincent Celier - - * make.adb (Gnatmake): use /lib.a to link - with an archive instead of -L -l. - -2011-08-02 Ed Schonberg - - * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed, - mark the base types In_Use in addition to making the operations - use_visible. - -2011-08-02 Ed Falis - - * init.c: add and setup __gnat_signal_mask for the exception signals - * s-inmaop-vxworks.adb: new file. - * s-intman-vxworks.adb: remove unnecessary initializations and - simplify remaining - * s-intman-vxworks.ads: remove unnecessary variable - * s-taprop-vxworks.adb: simplify signal initialization - -2011-08-02 Robert Dewar - - * sem_ch8.adb: Minor code reorganization, comment updates. - -2011-08-02 Robert Dewar - - * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util - * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved - here from Sem_Res. - (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression - (Matching_Static_Array_Bounds): Moved here from Sem_Res - -2011-08-02 Ed Schonberg - - * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5. - * par_ch8.adb (P_Use_Type): initialize Used_Operations for node. - * sinfo.ads, sinfo.adb (Used_Operations): new attribute of - use_type_clauses, to handle more efficiently use_type and use_all_type - constructs. - * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the - Ada2012 Use_All_Type clause. - (Use_Class_Wide_Operations): new procedure. - -2011-08-02 Robert Dewar - - * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb, - sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized - expression to expression function. - -2011-08-02 Ed Schonberg - - * sem_ch4.adb: transform simple Ada2012 membership into equality only - if types are compatible. - -2011-08-02 Yannick Moy - - * sem_res.adb (Matching_Static_Array_Bounds): new function which - returns True if its argument array types have same dimension and same - static bounds at each index. - (Resolve_Actuals): issue an error in formal mode on actuals passed as - OUT or IN OUT paramaters which are not view conversions in SPARK. - (Resolve_Arithmetic_Op): issue an error in formal mode on - multiplication or division with operands of fixed point types which are - not qualified or explicitly converted. - (Resolve_Comparison_Op): issue an error in formal mode on comparisons of - Boolean or array type (except String) operands. - (Resolve_Equality_Op): issue an error in formal mode on equality - operators for array types other than String with non-matching static - bounds. - (Resolve_Logical_Op): issue an error in formal mode on logical operators - for array types with non-matching static bounds. Factorize the code in - Matching_Static_Array_Bounds. - (Resolve_Qualified_Expression): issue an error in formal mode on - qualified expressions for array types with non-matching static bounds. - (Resolve_Type_Conversion): issue an error in formal mode on type - conversion for array types with non-matching static bounds - -2011-08-02 Robert Dewar - - * par-ch10.adb: Minor code reorganization (use Nkind_In). - -2011-08-02 Ed Schonberg - - * par-ch9.adb: save location of entry for proper error message. - -2011-08-02 Javier Miranda - - * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal - (Use_Full_View) which permits this routine to climb through the - ancestors using the full-view of private parents. - * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set - Use_Full_View to true in calls to Is_Ancestor. - * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to - true in call to Is_Ancestor. - * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set - Use_Full_View to true in call to Is_Ancestor. - * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in - call to Is_Ancestor. - * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set - Use_Full_View to true in calls to Is_Ancestor. - * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT, - Make_Select_Specific_Data_Table, Register_Primitive, - Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor. - * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View - to true in call to Is_Ancestor. - * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set - Use_Full_View to true in calls to Is_Ancestor. - * exp_cg.adb - (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor. - (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor. - -2011-08-02 Robert Dewar - - * gnat_rm.texi: Minor reformatting. - * sem_prag.adb: Minor reformatting. - -2011-08-02 Tristan Gingold - - * vms_data.ads: Add VMS qualifier for -gnateP. - -2011-08-02 Robert Dewar - - * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty - * par-ch7.adb (P_Package): Proper placement of aspects for package - decl/instantiation. - * par-endh.adb (Check_End): Ad Is_Sloc parameter - (End_Statements): Add Is_Sloc parameterr - * par.adb (P_Aspect_Specification): New meaning of Decl = Empty - (Check_End): Ad Is_Sloc parameter - (End_Statements): Add Is_Sloc parameterr - -2011-08-02 Vincent Celier - - * ug_words: Add VMS qualifier equivalent to -gnateP: - /SYMBOL_PREPROCESSING. - -2011-08-02 Jose Ruiz - - * gnat-style.texi: For hexadecimal numeric literals the typical - grouping of digits is 4 to represent 2 bytes. - A procedure spec which is split into several lines is indented two - characters. - -2011-08-02 Yannick Moy - - * exp_aggr.adb (Is_Others_Aggregate): move function to other unit. - * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here - (Resolve_Aggregate): issue errors in formal modes when aggregate is not - properly qualified - (Resolve_Array_Aggregate): issue errors in formal modes on non-static - choice in array aggregate - (Resolve_Extension_Aggregate): issue errors in formal modes on subtype - mark as ancestor - (Resolve_Record_Aggregate): issue errors in formal modes on mixed - positional and named aggregate for record, or others in record - aggregate, or multiple choice in record aggregate - * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when - array operands to logical operations AND, OR and XOR do not have the - same static lower and higher bounds - * sem_ch5.adb, sinfo.ads: Correct typos in comments - -2011-08-01 Robert Dewar - - * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement): - Replaces Last_Source_Node_In_Sequence. - * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K - * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores - parens and blank in string (this was inconsistently implemented). - * errout.ads - (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and - blank in string (this was inconsistently implemented). - * gnat1drv.adb - (Set_Global_Switches): Set formal mode switches appropriately - * opt.ads, opt.adb: Formal mode is now global switches, more consistent - * par-prag.adb - (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and - call Set_Error_Msg_Lang to set "spark" as language name. - * par.adb: Remove unnecessary call to set formal language for errout - * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches - appropriately and call Set_Error_Msg_Lang to set "spark" as language - name. - * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and - calls to it, moved after resolution so that types are known - * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if - result of concatenation is not of type String - (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of - concatenation is not properly restricted - * gnat_rm.texi: Add doc on pragma Spark_95. - * gcc-interface/Makefile.in: Remove obsolete target pairs for - Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads. - * gcc-interface/Make-lang.in: Update dependencies. - -2011-08-01 Javier Miranda - - * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of - condition that detects if the overridden operation must replace an - existing entity. - -2011-08-01 Javier Miranda - - * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded - code declarations inserted by Insert_Actions in each alternative of the - N_Case_Expression node. - -2011-08-01 Robert Dewar - - * sem_ch6.adb: Minor code reorganization. - * sem_util.adb: Minor reformatting. - -2011-08-01 Pascal Obry - - * prj-env.adb: Remove /lib/gpr/ project search path. - * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource. - -2011-08-01 Yannick Moy - - * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character - literal or operator symbol which is prefixed - * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal - mode on access attributes. - * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check - that concatenation operands are properly restricted in formal mode - (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure - Analyze_Concatenation_Operand. Issue an error in formal mode if the - result of the concatenation has a type different from String. - (Analyze_Conditional_Expression, Analyze_Explicit_Dereference, - Analyze_Quantified_Expression, Analyze_Slice, - Analyze_Null): issue an error in formal mode on unsupported constructs - * sem_ch5.adb - (Analyze_Block_Statement): only issue error on source block statement - * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new - function which returns the last node in a list of nodes for which - Comes_From_Source returns True, if any - * sem_ch6.adb (Check_Missing_Return): minor refactoring to use - Last_Source_Node_In_Sequence - * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming, - Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal - mode on unsupported constructs - * sem_ch9.adb Do not return after issuing error in formal mode, as the - rest of the actions may be needed later on since the error is marked as - not serious. - * sinfo.ads: Typos in comments. - -2011-08-01 Pascal Obry - - * projects.texi: Minor editing. - -2011-08-01 Yannick Moy - - * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for - insertion character ~~ - * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures - (Set_Error_Msg_Lang): new procedure which fixes the language for use - with insertion character ~~ - (Set_Msg_Text): treat insertion character ~~ - * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb, - sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to - Formal_Error_Msg_... procedures by equivalent Error_Msg_... - procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make - errors related to the formal language restriction not serious - (insertion character |). - * par.adb (Par): set formal language for error messages if needed - * sem_ch6.adb (Check_Missing_Return): take into account possible - generated statements at the end of the function - * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and - enumeration value to define a new pragma SPARK_95 - * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default, - SPARK_Version): new type and variables to store the SPARK version - (none by default). - (SPARK_Mode): return True when SPARK_Version is set - * par-prag.adb: Correct indentation - (Prag): take Pragma_SPARK_95 into account - * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95 - into account. - -2011-08-01 Robert Dewar - - * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb, - sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb, - sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting - -2011-08-01 Pascal Obry - - * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass - Target_Name to Get_Path call. - (Parse_Single_Project): Likewise. - (Post_Parse_Context_Clause): Likewise. - * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter. - Call Initialise_Project_Path with the proper Target_Name. - (Initialize_Project_Path): Add //lib/gnat - search path. - (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path - with the proper Target_Name. - * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to - Part.Parse routine. - (Parse_Project_And_Apply_Config): Likewise. - * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine. - This is fine as this part of the code is supporting only native - compilation. - * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This - is fine as this part of the code is supporting only native compilation. - -2011-08-01 Yannick Moy - - * sem_util.adb (Enter_Name): issue error in formal mode on declaration - of homonym, unless the homonym is one of the cases allowed in SPARK - * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for - package declaration occurring after a body. - -2011-08-01 Robert Dewar - - * checks.adb, exp_ch4.adb: Minor reformatting. - -2011-08-01 Javier Miranda - - * einfo.ads (Access_Disp_Table): Fix documentation. - (Dispatch_Table_Wrappers): Fix documentation. - -2011-08-01 Pascal Obry - - * prj-env.adb, prj-env.ads: Minor reformatting. - -2011-08-01 Yannick Moy - - * sem_util.ads, sem_util.adb, par.adb, par_util.adb - (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move - procedures out of these packages. - * errout.ads, errout.adb - (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move - procedures in of this package - (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE - * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode - on misplaced later vs initial declarations, like in Ada 83 - * sem_attr.adb (Processing for Analyze_Attribute): issue error in - formal mode on attribute of private type whose full type declaration - is not visible - * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a - package declaration inside a package specification - (Analyze_Full_Type_Declaration): issue error in formal mode on - controlled type or discriminant type - * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on - user-defined operator means that it should come from the source - (New_Overloaded_Entity): issue error in formal mode on overloaded - entity. - * sem_ch6.ads, sem_ch13.ads: typos in comments. - -2011-08-01 Thomas Quinot - - * atree.adb: Minor reformatting. - * checks.adb: Minor reformatting. - -2011-08-01 Vincent Celier - - * s-parame-vms-ia64.ads: Fix typo in comment - Minor reformatting - * s-parame-vms-restrict.ads: Removed, unused. - -2011-08-01 Javier Miranda - - * exp_ch3.adb - (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound. - * sem_ch3.adb - (Constrain_Index): Remove side effects in the evaluation of the bounds. - * sem_ch3.ads, sem_ch3.adb - (Is_Constant_Bound): New extended version of the subprogram that was - previously located inside function Exp_Ch3.Is_Variable_Size_Array. - Moved here since it is shared by routines of sem_ch3 and exp_ch3. - * sem_aux.ads (Constant_Value): Fix typo in comment. - * checks.adb (Generate_Index_Checks): New implementation which, for - array objects with constant bounds, generates the runtime check - referencing the bounds of the array type. For other cases this routine - provides its previous behavior obtaining such values from the array - object. - * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its - parent type. - * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since - we cannot have semantic interpretations of the new node. - -2011-08-01 Ed Schonberg - - * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified - expressions. - -2011-08-01 Arnaud Charlet - - * sem_ch8.adb: Minor code editing. - * s-vxwext.adb: Remove trailing space. - * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for - consistency with other files. - -2011-08-01 Thomas Quinot - - * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting. - -2011-08-01 Ed Schonberg - - * par-ch10.adb: reject parameterized expressions as compilation unit. - * sem_ch4.adb: handle properly conditional expression with overloaded - then_clause and no else_clause. - -2011-08-01 Tristan Gingold - - * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address - like done by System.Aux_DEC. - * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table. - -2011-08-01 Yannick Moy - - * par-endh.adb (Check_End): issue a syntax error in SPARK mode for - missing label at end of declaration (subprogram or package) - * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing - of positional and named parameter association - * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on - Error_Msg_SP which adds a prefix to the error message giving the name - of the formal language analyzed - * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for - access result type in subprogram, unconstrained array as result type,. - (Analyze_Subprogram_Declaration): issue an error in formal mode for null - procedure - * sem_ch8.adb: Code clean up. - -2011-08-01 Javier Miranda - - * sem_ch7.adb (Uninstall_Declarations): Remove useless code. - * einfo.ads (Access_Disp_Table): Fix documentation. - (Dispatch_Table_Wrappers): Fix documentation. - * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers, - Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions - to enforce the documentation of this attribute. - (Set_Is_Interface): Cleanup the assertion. - * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate - the Underlying_Type entity before reading attribute Access_Disp_Table. - * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion): - Locate the Underlying_Type before reading attribute Access_Disp_Table. - * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate - the Underlying_Type entity before reading attribute Access_Disp_Table. - * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration): - Locate the Underlying_Type entity before reading attribute - Access_Disp_Table. - -2011-08-01 Ed Schonberg - - * s-poosiz.ads: Additional overriding indicators. - -2011-08-01 Yannick Moy - - * sem_ch5.adb (Analyze_Exit_Statement): add return after error in - formal mode. - (Analyze_Iteration_Scheme): issue error in formal mode when loop - parameter specification does not include a subtype mark. - * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in - formal mode on abstract subprogram. - (Analyze_Subprogram_Specification): issue error in formal mode on - user-defined operator. - (Process_Formals): issue error in formal mode on access parameter and - default expression. - * sem_ch9.adb (Analyze_Abort_Statement, - Analyze_Accept_Statement, Analyze_Asynchronous_Select, - Analyze_Conditional_Entry_Call, Analyze_Delay_Relative, - Analyze_Delay_Until, Analyze_Entry_Call_Alternative, - Analyze_Requeue, Analyze_Selective_Accept, - Analyze_Timed_Entry_Call): issue error in formal mode on such constructs - * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error): - issue error in formal mode on user-defined raise statement. - -2011-08-01 Thomas Quinot - - * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a - declaration being hidden when overriding an implicit inherited - subprogram. - * par-ch10.adb (P_Compilation_Unit): In syntax check only mode - (-gnats), do not complain about a source file that contains only a - pragma No_Body. - -2011-08-01 Ed Schonberg - - * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop - variable if already set. - -2011-08-01 Arnaud Charlet - - * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads, - g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads, - s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads, - g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb, - g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads, - g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads, - g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads, - g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb, - g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb, - g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads, - g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads, - s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb, - g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads, - s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads, - g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb, - g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb, - g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb, - g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb, - g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb, - g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb, - s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads, - s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads, - a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb, - s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads, - s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb, - g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads, - g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb, - g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb, - g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads, - g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads, - g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads, - s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads, - s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb, - g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb, - g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads, - s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb, - s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads, - g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads, - g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb, - g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, - s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads, - g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads, - g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads, - g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb, - s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb, - g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb, - g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb, - g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb, - s-osinte-mingw.ads: Update to GPLv3 run-time license. - Use GNAT instead of GNARL. - -2011-08-01 Bob Duff - - * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads, - a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads, - a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor - reformatting. - -2011-08-01 Yannick Moy - - * debug.adb (d.D) reverve flag for the SPARK mode - (d.E) reverve flag for SPARK generation mode - (d.F) reverve flag for Why generation mode - * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode, - ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New - functions which return True when the corresponding modes are set - (Formal_Language): return "spark" or "alfa" when in formal verification - mode. - * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on - Error_Msg to prefix the error message with a tag giving the formal - language - (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error - message with a tag giving the formal language - * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on - block statement - (Analyze_Case_Statement): issue error in formal mode on case statement - with a single "others" case alternative - (Analyze_Exit_Statement): issue errors in formal mode on exit - statements which do not respect SPARK restrictions - (Analyze_Goto_Statement): issue error in formal mode on goto statement - (Check_Unreachable_Code): always issue an error (not a warning) in - formal mode on unreachable code (concerns both code after an infinite - loop and after an unconditional jump, both not allowed in SPARK) - * sem_ch6.adb (Analyze_Return_Statement): add call to - Set_Return_Present for a procedure containing a return statement - (already done for functions in Analyze_Function_Return) - (Analyze_Function_Return): issue error in formal mode on extended - return or if return is not last statement in function - (Check_Missing_Return): issue error in formal mode if function does - not end with return or if procedure contains a return - * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new - function to detect if there is an inner scope of its parameter S which - is a loop. - -2011-08-01 Thomas Quinot - - * sem_ch6.ads: Minor reformatting. - -2011-08-01 Javier Miranda - - * sem_util.adb (Abstract_Interface_List): Complete condition when - processing private type declarations to avoid reading unavailable - attribute. - (Is_Synchronized_Tagged_Type): Complete condition when processing - private extension declaration nodes to avoid reading unavailable - attribute. - -2011-08-01 Thomas Quinot - - * sem_ch3.adb: Minor reformatting. - -2011-08-01 Thomas Quinot - - * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads, - i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads, - s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads, - s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages - for VMS, instead parametrize the common implementation with - System.Parameters declarations. - -2011-08-01 Eric Botcazou - - * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing. - -2011-08-01 Tristan Gingold - - * seh_init.c: Fix SEH handler installation on win64. - -2011-08-01 Ed Schonberg - - * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent - double analysis of an anonymous access to subprogram, because it can - lead to improper sharing of profiles and a back-end crash. - -2011-08-01 Robert Dewar - - * make.adb, sem_ch4.adb: Minor reformatting. - * gcc-interface/Make-lang.in: Update dependencies. - * sem_util.adb, exp_ch5.adb: Minor reformatting. - -2011-08-01 Arnaud Charlet - - * gnat_rm.texi: Fix definition of Long_Integer. - -2011-08-01 Ed Schonberg - - * exp_aggr.adb: check limit size of static aggregate unconditionally, - to prevent storage exhaustion. - * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being - finalized is a function body, insert the cleanup code before the final - return statement, to prevent spurious warnings. - * s-pooglo.ads: add overriding indicator. - -2011-08-01 Ed Schonberg - - * sem_ch4.adb (Operator_Check): improve error message when both a - with_clause and a use_clause are needed to make operator usage legal. - * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to - determine whether a compilation unit is visible within an other, - either through a with_clause in the current unit, or a with_clause in - its library unit or one one of its parents. - -2011-08-01 Ed Schonberg - - * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator - over an arbitrary expression of an array or container type. - * lib-xref.adb: clarify comment. - -2011-08-01 Bob Duff - - * einfo.ads: Minor reformatting. - * debug.adb: Minor comment improvement. - -2011-08-01 Javier Miranda - - * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not - consider hidden subprograms as valid candidates. - -2011-08-01 Arnaud Charlet - - * make.adb (Compile): Strip -mxxx switches in CodePeer mode. - -2011-08-01 Vasiliy Fofanov - - * gnat_ugn.texi: Fix typo. - -2011-08-01 Robert Dewar - - * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb, - lib-xref.adb: Minor reformatting - -2011-08-01 Gary Dismukes - - * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of - when to generate a call to Move_Final_List. - (Has_Controlled_Parts): Remove this function. - -2011-08-01 Geert Bosch - - * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra - "," in choice list. - -2011-08-01 Thomas Quinot - - * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for - explicit raise of a predefined exception as Comes_From_Source if the - original N_Raise_Statement comes from source. - -2011-08-01 Robert Dewar - - * sinfo.ads: Add comment. - * sem_ch6.adb: Minor reformatting. - -2011-08-01 Robert Dewar - - * freeze.adb (Freeze_Entity): Refine check for bad component size - clause to avoid rejecting confirming clause when atomic/aliased present. - -2011-08-01 Ed Schonberg - - * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to - better determine whether an entity reference is a write. - * sem_util.adb (Is_LHS): refine predicate to handle assignment to a - subcomponent. - * lib-xref.adb (Output_References): Do no suppress a read reference at - the same location as an immediately preceeding modify-reference, to - handle properly in-out actuals. - -2011-08-01 Tristan Gingold - - * env.c (__gnat_setenv) [VMS]: Refine previous change. - -2011-08-01 Quentin Ochem - - * i-cstrin.adb (New_String): Changed implementation, now uses only the - heap to compute the result. - -2011-08-01 Robert Dewar - - * atree.ads: Minor reformatting. - -2011-08-01 Emmanuel Briot - - * g-expect.adb (Get_Command_Output): Fix memory leak. - -2011-08-01 Geert Bosch - - * cstand.adb (P_Float_Type): New procedure to print the definition of - predefined fpt types. - (P_Mixed_Name): New procedure to print a name using mixed case - (Print_Standard): Use P_Float_Type for printing floating point types - * einfo.adb (Machine_Emax_Value): Add preliminary support for quad - precision IEEE float. - -2011-08-01 Thomas Quinot - - * sem_ch3.adb: Minor reformatting. - -2011-08-01 Ed Schonberg - - * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is - the completion of a generic function, insert the new body rather than - rewriting the original. - -2011-08-01 Yannick Moy - - * sinfo.ads, errout.ads: Typos in comments. - -2011-08-01 Robert Dewar - - * par-endh.adb: Minor reformatting. - -2011-08-01 Robert Dewar - - * aspects.ads, aspects.adb: Add aspects for library unit pragmas - (Pre_Post_Aspects): New subtype. - * par-ch12.adb (P_Generic): New syntax for aspects in packages - * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter - * par-ch7.adb (P_Package): Remove Decl parameter - (P_Package): Handle new syntax for aspects (before IS) - * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle - new aspect syntax - (P_Task_Definition): Remove Decl parameter, handle new aspect syntax - * par.adb (P_Aspect_Specifications): Add Semicolon parameter - (P_Package): Remove Decl parameter - * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit - aspects - * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect - specs - * sem_util.ads, sem_util.adb (Static_Boolean): New function - * sinfo.ads: Document new syntax for aspects in packages etc. - * sprint.adb: Handle new syntax of aspects before IS in package - -2011-08-01 Thomas Quinot - - * atree.ads: Minor reformatting. - * sem_prag.adb: Minor reformatting. - -2011-08-01 Robert Dewar - - * exp_util.adb (Insert_Actions): Fix error in handling Actions for - case expr alternative. - -2011-08-01 Ed Schonberg - - * sem_ch12.adb: Fix typo. - -2011-08-01 Geert Bosch - - * sem_prag.adb (Check_No_Link_Name): New procedure. - (Process_Import_Or_Interface): Use Check_No_Link_Name. - * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float) - instead of Standard_Long_Long_Float_Size global. Preparation for - eventual removal of per type constants. - * exp_util.ads (Get_Stream_Size): New function returning the stream - size value of subtype E. - * exp_util.adb (Get_Stream_Size): Implement new function. - * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size - function. - * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size - * einfo.adb: - (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats - -2011-08-01 Geert Bosch - - * cstand.adb: Fix comments. - * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit - count of arguments. - -2011-08-01 Robert Dewar - - * exp_ch4.adb, sem_cat.adb: Minor reformatting. - -2011-08-01 Geert Bosch - - * atree.ads: Fix comment. - -2011-08-01 Robert Dewar - - * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec. - * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name. - * par.adb: Add with for Namet.Sp. - * par-tchk.adb: Minor reformatting. - -2011-08-01 Vincent Celier - - * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb - (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name - of the init procedure of a SAL. - * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name): - New procedure. - -2011-08-01 Thomas Quinot - - * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor - reformatting. - -2011-08-01 Richard Kenner - - * adaint.c (__gnat_file_time_name_attr): Get rid of warning. - -2011-08-01 Thomas Quinot - - * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function - conformant with its spec (return True only for types that have - an overriding Initialize primitive operation that prevents them from - having preelaborable initialization). - * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable - initialization for controlled types in Ada 2005 or later mode. - -2011-08-01 Robert Dewar - - * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition, - Postcondition. - (Same_Aspect): New function. - * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect - Type_Invariant, Precondition, Postcondition. - * snames.ads-tmpl: Add Name_Type_Invariant. - -2011-08-01 Robert Dewar - - * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point - here. - (Freeze_All_Ent): Fix error in handling inherited aspects. - * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is - already analyzed, but don't skip entire processing of a declaration, - that's wrong in some cases of declarations being rewritten. - (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects. - Don't delay for integer, string literals - Treat predicates in usual manner for delay, remove special case code, - not needed. - (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point - (Build_Predicate_Function): Update saved expression in aspect - (Build_Invariant_Procedure): Update saved expression in aspect - * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization - of replacement of discriminant references if the reference is simple. - -2011-08-01 Robert Dewar - - * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate. - * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for - Static_Predicate and Dynamic_Predicate. - (Build_Predicate_Function): Add processing for Static_Predicate - and Dynamic_Predicate. - * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag - (From_Static_Predicate): New flag - * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate - -2011-08-01 Robert Dewar - - * usage.adb: Documentation cleanup for Ada version modes in usage. - * expander.adb: Minor reformatting. - -2011-08-01 Robert Dewar - - * atree.ads: Minor comment fix. - * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads, - a-witeio.ads, sem_prag.adb: Minor reformatting. - -2011-08-01 Doug Rupp - - * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure - pointers. Use descrip.h header file for convenience. Add some - comments. - -2011-08-01 Robert Dewar - - * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point - (Freeze_All): Call Check_Aspect_At_End_Of_Declarations - * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point): - New procedure. - (Check_Aspect_At_End_Of_Declarations): New procedure - (Analye_Aspect_Specification): Minor changes for above procedures - * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect - specification node as well. - -2011-08-01 Pascal Obry - - * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special - Windows files. Use GetFilesAttributes() in this case to check for file - existence instead of returning with an error code. - -2011-08-01 Vincent Celier - - * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when - High is above Source length. - -2011-08-01 Robert Dewar - - * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment. - -2011-08-01 Robert Dewar - - * aspects.ads (Boolean_Aspects): New subtype. - * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects - for derived types in cases where the parent type and derived type have - aspects. - * freeze.adb (Freeze_Entity): Fix problems in handling derived type - with aspects when parent type also has aspects. - (Freeze_Entity): Deal with delay of boolean aspects (must evaluate - boolean expression at this point). - * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in - accordance with final decision on the Ada 2012 feature. - * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag. - -2011-08-01 Matthew Heaney - - * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector. - -2011-08-01 Pascal Obry - - * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: - Fix Replace_Slice when High is above current string size. - (Replace_Slice): Fix DL computation when High is above current - string length. - -2011-08-01 Gary Dismukes - - * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired. - -2011-08-01 Matthew Heaney - - * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child - of node. - -2011-08-01 Pascal Obry - - * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor - reformatting. - -2011-08-01 Ed Schonberg - - * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named - access to protected subprograms in generic bodies. - * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a - protected type, indicate that the convention of the subprogram is - Convention_Protected, because it may be used in subsequent declarations - within the protected declaration. - -2011-08-01 Vincent Celier - - * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init" - and "final" procedures when the name of the library is "ada", to avoid - duplicate symbols "adainit" and "adafinal" in executables. - -2011-08-01 Ed Schonberg - - * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a - quantified expression that appears within a postcondition and uses the - Ada2012 'Result attribute. - -2011-07-28 Rainer Orth - - * init.c (__gnat_error_handler): Cast reason to int. - (__gnat_install_handler): Explain sa_sigaction use. - -2011-07-24 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : If the - subprogram has copy-in copy-out parameters, try to promote the mode of - the return type if it is passed in registers. - -2011-07-24 Eric Botcazou - - * gcc-interface/utils2.c (build_binary_op) : Do not mark the - left operand as addressable. - -2011-07-24 Eric Botcazou - - * gcc-interface/gigi.h (build_function_stub): Remove. - (build_return_expr): Likewise. - (convert_vms_descriptor): Declare. - * gcc-interface/utils.c (convert_vms_descriptor): Make global. - (build_function_stub): Move to... - * gcc-interface/utils2.c (build_return_expr): Move to... - * gcc-interface/trans.c (build_function_stub): ...here. - (build_return_expr): ...here. - (Subprogram_Body_to_gnu): Add local variable for language_function. - Disconnect the parameter attributes cache, if any, once done with it. - Call end_subprog_body only after setting the end_locus. - Build the stub associated with the function, if any, at the very end. - (gnat_to_gnu) : Remove couple of useless local - variables and streamline control flow. - -2011-07-23 Arnaud Charlet - - PR ada/49819 - * gcc-interface/Makefile.in (powerpc-linux): Remove reference to - g-trasym-dwarf.adb. - -2011-07-22 Rainer Orth - - PR bootstrap/49794 - * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler): - Assign to act.sa_sigaction. - * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast - current->return_address to char * before arithmetic. - -2011-07-22 Rainer Orth - - * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation. - Correct argument types. - Extract code from reason. - (__gnat_install_handler): Assign to act.sa_sigaction. - -2011-07-21 Eric Botcazou - - * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to... - (GNAT1_OBJS): ...here. - -2011-07-15 Eric Botcazou - - PR ada/48711 - * g-socthi-mingw.adb (Fill): Fix formatting. - - * gcc-interface/gigi.h: Move around comment. - -2011-07-14 John David Anglin - - PR ada/46350 - * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast. - -2011-07-14 Florian Weimer - - PR ada/48711 - * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL. - -2011-07-13 Eric Botcazou - - * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit - range comparison if Pmode is SImode. - -2011-07-12 Laurent GUERBY - Eric Botcazou - - * adadecode.c: Wrap up in extern "C" block. - * adadecode.h: Likewise. - * adaint.c: Likewise. Remove 'const' keyword. - * adaint.h: Likewise. - * argv.c: Likewise. - * atree.h: Likewise. - * cio.c: Likewise. - * cstreams.c: Likewise. - * env.c: Likewise. - * exit.c: Likewise. - * fe.h: Likewise. - * final.c: Likewise. - * init.c: Likewise. - * initialize.c: Likewise. - * link.c: Likewise. - * namet.h: Likewise. - * nlists.h: Likewise. - * raise.c: Likewise. - * raise.h: Likewise. - * repinfo.h: Likewise. - * seh_init.c: Likewise. - * targext.c: Likewise. - * tracebak.c: Likewise. - * uintp.h: Likewise. - * urealp.h: Likewise. - * xeinfo.adb: Wrap up generated C code in extern "C" block. - * xsinfo.adb: Likewise. - * xsnamest.adb: Likewise. - * gcc-interface/gadaint.h: Wrap up in extern "C" block. - * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block. - * gcc-interface/misc.c: Likewise. - * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER. - (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and - ada/targext.o here... - (GNAT_ADA_OBJS): ...and not here. - (GNAT1_ADA_OBJS): Add ada/b_gnat1.o. - (GNATBIND_OBJS): Reorder. - -2011-07-07 Richard Henderson - - * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call - dwarf2out_frame_init. - -2011-07-07 Eric Botcazou - - * gcc-interface/misc.c (gnat_init): Tweak previous change. - -2011-07-07 Rainer Orth - - PR target/39150 - * gcc-interface/Makefile.in: Handle x86_64-solaris2. - -2011-07-06 Richard Guenther - - * gcc-interface/misc.c (gnat_init): Merge calls to - build_common_tree_nodes and build_common_tree_nodes_2. - Re-initialize boolean_false_node. - -2011-07-02 Eric Botcazou - Olivier Hainque - Nicolas Setton - - * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on - the type according to the ARTIFICIAL_P parameter. - (create_type_decl): Likewise. - (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1. - -2011-07-01 Eric Botcazou - - * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command. - (gnatbind): Likewise. - -2011-06-29 Rainer Orth - - * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL). - -2011-06-18 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE - local variable throughout. Remove useless call to Base_Type. - (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout. - Take it also into account for the volatileness of the field. Set the - TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings. - -2011-06-18 Eric Botcazou - - * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP - on a dereference built for a by-ref object if it has an address clause. - -2011-06-18 Eric Botcazou - - * einfo.ads (Address_Taken): Document use for the second argument of - Asm_Input and Asm_Output attributes. - * sem_attr.adb (Analyze_Attribute) : If the second - argument is an entity name, then set Address_Taken on it. - : Likewise. - * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the - Attr_Asm_Input and Attr_Asm_Output attributes explicitly. - (gnat_to_gnu) : If an operand is going to end up in - memory and is a CONST_DECL, retrieve its corresponding VAR_DECL. - -2011-06-16 Joern Rennecke - - PR middle-end/46500 - * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args. - -2011-06-14 Joseph Myers - - * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o. - (ada/utils.o): Update dependencies. - * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add - ../../../libcpp/libcpp.a. - * gcc-interface/utils.c: Include common/common-target.h. - (process_attributes): Use targetm_common.have_named_sections. - -2011-06-07 Richard Guenther - - * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call - set_sizetype. - -2011-06-06 Eric Botcazou - - * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the - TREE_THIS_NOTRAP flag. - -2011-06-06 Eric Botcazou - - * gcc-interface/utils2.c (gnat_stabilize_reference) : - Fix thinko. - -2011-06-06 Eric Botcazou - - * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred - constants whose full view has discriminants specially. - -2011-06-06 Eric Botcazou - - * gcc-interface/utils.c: Include diagnostic.h. - (gnat_write_global_declarations): Output debug information for all - global type declarations before finalizing the compilation unit. - * gcc-interface/Make-lang.in (ada/utils.o): Add dependency. - -2011-05-25 Jakub Jelinek - - * gcc-interface/utils.c (def_fn_type): Remove extra va_end. - -2011-05-25 Kai Tietz - - * adaint.c (__gnat_to_canonical_file_list_next): Use array - initialization instead of const/none-const pointer assignment. - -2011-05-24 Joseph Myers - - * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include - $(EXTRA_GNAT1_OBJS). - (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS). - (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove. - (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a. - * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use - libcommon-target.a instead of prefix.o. - -2011-05-21 Joseph Myers - - PR ada/49097 - * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS). - -2011-05-20 Joseph Myers - - * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o. - * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a - instead of version.o. - -2011-05-18 Kai Tietz - - * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use - boolean_false_node instead of integer_zero_node. - (convert_with_check): Likewise. - * gcc-interface/decl.c (choices_to_gnu): Likewise. - -2011-05-12 Eric Botcazou - - * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the - type of the parameter is an unconstrained array, convert the actual to - the type of the formal in the In Out and Out cases as well. - -2011-05-11 Nathan Froyd - - * gcc-interface/utils.c (def_fn_type): Don't call build_function_type; - call build_function_type_array or build_varargs_function_type_array - instead. - (create_subprog_type): Don't call build_function_type; call - build_function_type_vec instead. - -2011-05-11 Nathan Froyd - - * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL. - (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL. - (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL. - -2011-05-07 Eric Botcazou - - * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces. - - * gcc-interface/gigi.h (global_bindings_p): Adjust prototype. - * gcc-interface/utils.c (global_bindings_p): Return bool and simplify. - -2011-05-05 Nathan Froyd - - * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label. - -2011-05-05 Nathan Froyd - - * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators - instead of accessing TYPE_ARG_TYPES directly. - * gcc-interface/utils.c (handle_nonnull_attribute): Likewise. - -2011-05-05 Eric Botcazou - - PR ada/48844 - * gcc-interface/gigi.h (get_variant_part): Declare. - * gcc-interface/decl.c (get_variant_part): Make global. - * gcc-interface/utils2.c (find_common_type): Do not return T1 if the - types have the same constant size, are record types and T1 has a - variant part while T2 doesn't. - -2011-05-05 Eric Botcazou - - * gcc-interface/utils.c (begin_subprog_body): Do not call - get_pending_sizes. - (end_subprog_body): Likewise. - -2011-05-04 Richard Guenther - - * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to - int_const_binop. - (pos_to_constructor): Likewise. - -2011-05-03 Nathan Froyd - Eric Botcazou - - * gcc-interface/trans.c (gigi): Call build_function_type_list instead - of build_function_type. Adjust calls to... - (build_raise_check): ...this. Do not take a void_tree parameter. - Call build_function_type_list instead of build_function_type. - Fix head comment and swap couple of conditional blocks. - -2011-04-30 Eric Botcazou - - * gnatvsn.ads (Library_Version): Bump to 4.7. - (Current_Year): Bump to 2011. - -2011-04-29 Michael Matz - - * gcc-interface/misc.c (gnat_handle_option): Set - warn_maybe_uninitialized. - -2011-04-23 Gerald Pfeifer - - * gnat_ugn.texi (Complexity Metrics Control): Update link to - the Watson/McCabe paper. - -2011-04-23 Jim Meyering - - * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/ - -2011-04-22 Eric Botcazou - - * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE - onto the new type. - -2011-04-22 Eric Botcazou - - * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG - parameter. - * gcc-interface/utils.c (create_subprog_decl): Likewise. Set - DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly. - * gcc-interface/decl.c (gnat_to_gnu_entity) : Add - ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl. - : Do not set flags on the reused DECL node coming from an alias. - Set DECL_IGNORED_P on the DECL node built for subprograms if they - don't need debug info here... - * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here. - (gigi): Adjust calls to create_subprog_decl. - (build_raise_check): Likewise. - (establish_gnat_vms_condition_handler): Likewise. - (Compilation_Unit_to_gnu): Likewise. - (gnat_to_gnu): Likewise. - -2011-04-21 Eric Botcazou - - * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define. - (NO_REORDER_ADAFLAGS): New variable. - (EXTRA_GNATTOOLS): Always define. - (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h. - Clean up and adjust list of files compiled with special options. - * gcc-interface/Make-lang.in: Likewise. - (ada/decl.o): Cosmetical change. - (ada/misc.o): Remove dependency on $(PLUGIN_H). - -2011-04-20 Jim Meyering - - * initialize.c (__gnat_initialize): Remove useless if-before-free. - -2011-04-17 Eric Botcazou - - * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with - $(CFLAGS) on the link line. - -2011-04-17 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Declare the - padded type built for the return type if it is unconstrained. - -2011-04-14 Nathan Froyd - - * gcc-interface/utils.c (gnat_poplevel): Use block_chainon. - -2011-04-12 Nathan Froyd - - * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON - before calling TREE_CHAIN. - * gcc-interface/misc.c (gnat_init_ts): New function. - (LANG_HOOKS_INIT_TS): Define. - -2011-04-12 Martin Jambor - - * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node - instead of cgraph_node. - -2011-04-08 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Set minimum - alignment on fields of the RETURN type built for the Copy-In Copy-Out - mechanism. - -2011-04-08 Eric Botcazou - - * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers - of aggregate types that contain a placeholder. - -2011-04-08 Nathan Froyd - - * gcc-interface/utils.c (handle_sentinel_attribute): Don't use - TYPE_ARG_TYPES. - (handle_type_generic_attribute): Likewise. - -2011-04-04 Eric Botcazou - - PR ada/47163 - * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change. - -2011-04-04 Kai Tietz - - PR ada/47163 - * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets - to flag value. - -2011-04-02 Eric Botcazou - - * gcc-interface/utils2.c (build_allocator): In the unconstrained array - type case, do not strip a padding type around the array type. - -2011-04-02 Eric Botcazou - - * gcc-interface/utils.c (update_pointer_to): Finalize named pointer - types. - -2011-04-02 Eric Botcazou - - * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete. - * gcc-interface/misc.c (gnat_handle_option): Remove special handling - code for -feliminate-unused-debug-types. - (gnat_post_options): Likewise. - -2011-04-02 Eric Botcazou - - * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial - declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a - distinct copy. - -2011-04-02 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the - DECL_ARTIFICIAL flag on enumeration types. - -2011-04-02 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Do not make - fat pointer types artificial unconditionally. - : Attach the base array type as a parallel type if it - isn't artificial. - -2011-04-02 Eric Botcazou - - * gcc-interface/gigi.h (get_dummy_type): Declare. - (build_dummy_unc_pointer_types): Likewise. - (finish_fat_pointer_type): Likewise. - * gcc-interface/decl.c (gnat_to_gnu_entity) : If a dummy - fat pointer type has been built, complete it in place. - : Call build_dummy_unc_pointer_types to build dummy fat - and thin pointers. Remove useless variable. - (finish_fat_pointer_type): Make global and move to... - * gcc-interface/utils.c (finish_fat_pointer_type): ...here. - (get_dummy_type): New function. - (build_dummy_unc_pointer_types): Likewise. - (gnat_pushdecl): Propage the name to the anonymous variants only. - (update_pointer_to): Only adjust the pointer types in the unconstrained - array case. - -2011-04-02 Eric Botcazou - - * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag. - * gcc-interface/decl.c (gnat_to_gnu_entity) : Set it - if this is a Taft amendment type and the full declaration is available. - * gcc-interface/trans.c (process_type): Likewise. - If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P. - (process_freeze_entity): Likewise. - * gcc-interface/utils.c (dummy_global): New static variable. - (gnat_write_global_declarations): If there are types declared as used - at the global level, insert them in the global hash table. - -2011-04-02 Eric Botcazou - - * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param. - * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial - declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct - copy. - (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL - flag of the type accordingly. - * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type. - -2011-04-02 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Defer - finalizing types when updating the pointers to the designated type. - : Finalize the deferred types even if we didn't defer processing - of incomplete types in this invocation. - -2011-04-01 Olivier Hainque - Nicolas Setton - Eric Botcazou - - * gcc-interface/misc.c (gnat_descriptive_type): New function. - (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type. - -2011-03-28 Kai Tietz - - * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native - Windows targets. - (EH_MECHANISM): Use GCC exception mechanism for native Windows targets. - * system-mingw.ads (System): Change ZCX_By_Default default to True. - - * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype. - -2011-03-28 Tristan Gingold - - PR ada/44431 - * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c. - Use ada output of gnatbind. - (ada/b_gnatb.adb): Ditto. - (ada/b_gnat1.o, ada/b_gnatb.o): New rules. - (ada.mostlyclean, ada.stage1) - (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile) - (ada.stagefeedback): Adjust. - * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c. - Use ada output of gnatbind. - (b_gnatm.adb): Ditto. - (b_gnatl.o, b_gnatm.o): New rules. - -2011-03-26 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Create TYPE_DECL - for the padded type built to support a specified size or alignment. - -2011-03-26 Eric Botcazou - - * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment. - * gcc-interface/decl.c (gnat_to_gnu_entity) : Defer - unconditionally to the end of the unit when the designated type is - limited_with'ed. - : Rename local variable. Attempt to un-defer types only and do it - for limited_with'ed types as well. - (finalize_from_with_types): Adjust comment. Rename variable and tidy. - * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT - consistently and remove redundant call to finalize_from_with_types. - -2011-03-26 Eric Botcazou - - * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to - subprograms without a previous spec declared in the same unit. - * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined - subprograms at the end of the unit instead of at the beginning. - * gcc-interface/utils.c (create_subprog_decl): Check that the entity - isn't public for the special handling of non-inline functions nested - inside inline external functions. - -2011-03-25 Jeff Law - - * gcc-interface/utils.c (def_fn_type): Add missing va_end. - -2011-03-24 Eric Botcazou - - * einfo.ads (Size_Depends_On_Discriminant): Adjust description. - * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure - to compute Set_Size_Depends_On_Discriminant. - (Layout_Type): Call it on array types in back-end layout mode. - * sem_util.adb (Requires_Transient_Scope): Return true for array - types only if the size depends on the value of discriminants. - * gcc-interface/utils2.c (build_binary_op) : Use the RHS - type if the RHS is a call to a function that returns an unconstrained - type with default discriminant. - -2011-03-24 Eric Botcazou - - * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of - non-conversion to the nominal result type at the end. - -2011-03-23 Eric Botcazou - - * gcc-interface/trans.c (create_temporary): New function taken from... - (create_init_temporary): ...here. Call it. - (call_to_gnu): Create the temporary for the return value early, if any. - Create it for a function with copy-in/copy-out parameters if there is - no target; in other cases of copy-in/copy-out, use another temporary. - Push the new binding level lazily. Add and rename local variables. - -2011-03-23 Eric Botcazou - - * gcc-interface/decl.c (validate_size): Improve comments and tweak - error message. - (set_rm_size): Likewise. - -2011-03-23 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Create TYPE_DECL - for the padded type built in order to support a specified alignment. - Fix incorrect formatting. - -2011-03-21 Eric Botcazou - - PR bootstrap/48216 - * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL. - -2011-03-21 Eric Botcazou - - * gcc-interface/decl.c (components_to_record): Add REORDER parameter, - rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter - to the end of the list. Adjust recursive call. Rename local variable. - If REORDER is true, reorder components of the record type. - (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to - components_to_record and adjust the parameter list. - -2011-03-21 Eric Botcazou - - * gcc-interface/decl.c (elaborate_expression_1): When optimization is - disabled, use the variable for bounds of loop iteration scheme. - -2011-03-21 Kai Tietz - - PR target/12171 - * gcc-interface/utils.c (gnat_internal_attribute_table): Add column. - -2011-03-17 Eric Botcazou - - * gcc-interface/decl.c (elaborate_expression_1): Try harder to find - out whether the expression is read-only. Short-circuit placeholder - case and rename a couple of local variables. - -2011-03-17 Eric Botcazou - - * gcc-interface/gigi.h (smaller_form_type_p): Declare. - * gcc-interface/trans.c (smaller_form_type_p): Make global and move... - * gcc-interface/utils.c (smaller_form_type_p): ...to here. - (convert): Deal with conversions from a smaller form type specially. - -2011-02-14 Eric Botcazou - - * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and - its argument, except for the special -I- switch. - -2011-02-12 Gerald Pfeifer - - * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to - "Ada Issues". - -2011-02-08 Eric Botcazou - - * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs. - -2011-02-03 Eric Botcazou - - * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of - GNAT_FORMAL. - * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to... - * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE - instead of GNAT_FORMAL. Protect the expression against multiple uses. - Do not generate the check directly, instead instantiate the template - check present in the descriptor. - (make_descriptor_field): Move around. - (build_vms_descriptor32): Build a template check in the POINTER field. - (build_vms_descriptor): Remove useless suffixes. - * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call. - -2011-01-26 Eric Botcazou - - PR bootstrap/47467 - * targext.c: Include target files if IN_RTS is defined. - -2011-01-26 Richard Guenther - - PR bootstrap/47467 - * targext.c: Include config.h. - * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H) - dependency. - -2011-01-04 Pascal Obry - Eric Botcazou - - * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit. - -2011-01-04 Eric Botcazou - - * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the - end-of-case on the end label and its associated gotos, if any. - -2011-01-04 Eric Botcazou - - * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the - expressions of the parameter cache within the statement group of - the CICO mechanism. - -2011-01-04 Olivier Hainque - Eric Botcazou - - * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default. - (set_end_locus_from_node): New function. - (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we - make and the function end_locus. - (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus - for the elaboration subprogram. - (set_gnu_expr_location_from_node) : Use it to attempt to - set the end_locus of the expression as well. - -2011-01-04 Eric Botcazou - - PR ada/47131 - * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make - variables that are referenced in exception handlers volatile. - - Copyright (C) 2011 Free Software Foundation, Inc. -- 2.30.2