- 02 Aug, 2011 40 commits
-
-
2011-08-02 Gary Dismukes <dismukes@adacore.com> * 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 <dewar@adacore.com> * sem_ch8.adb: Minor reformatting. From-SVN: r177172
Arnaud Charlet committed -
2011-08-02 Ed Schonberg <schonberg@adacore.com> * 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 <miranda@adacore.com> * 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. From-SVN: r177171
Arnaud Charlet committed -
* gimple.c (canonicalize_cond_expr_cond): Handle cast from boolean-type. (ssa_forward_propagate_and_combine): Interprete result of forward_propagate_comparison. * gcc/gimple-fold.c (fold_gimple_assign): Add canonicalization for boolean-typed operands for comparisons. * gcc.dg/tree-ssa/forwprop-15.c: New testcase. From-SVN: r177170
Kai Tietz committed -
2011-08-02 Robert Dewar <dewar@adacore.com> * 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. From-SVN: r177169
Robert Dewar committed -
2011-08-02 Robert Dewar <dewar@adacore.com> * sem_res.adb: Minor reformatting. * sem_prag.adb: Minor reformatting. 2011-08-02 Javier Miranda <miranda@adacore.com> * 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 <moy@adacore.com> * 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 From-SVN: r177168
Arnaud Charlet committed -
2011-08-02 Javier Miranda <miranda@adacore.com> * 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 <celier@adacore.com> * 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 <schonberg@adacore.com> * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2). From-SVN: r177167
Arnaud Charlet committed -
2011-08-02 H.J. Lu <hongjiu.lu@intel.com> * config/linux/x86/futex.h: Check __x86_64__ instead of __LP64__. From-SVN: r177166
H.J. Lu committed -
2011-08-02 Robert Dewar <dewar@adacore.com> * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting From-SVN: r177165
Robert Dewar committed -
exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the generation of TSDs to the DOTNET compiler. 2011-08-02 Javier Miranda <miranda@adacore.com> * 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. From-SVN: r177164
Javier Miranda committed -
exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data record of all the tagged types declared... 2011-08-02 Javier Miranda <miranda@adacore.com> * 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. From-SVN: r177163
Javier Miranda committed -
2011-08-02 Javier Miranda <miranda@adacore.com> * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode. 2011-08-02 Robert Dewar <dewar@adacore.com> * s-imenne.ads: Minor reformatting. 2011-08-02 Robert Dewar <dewar@adacore.com> * 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 <dewar@adacore.com> * 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. From-SVN: r177162
Arnaud Charlet committed -
2011-08-02 Robert Dewar <dewar@adacore.com> * 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. From-SVN: r177161
Robert Dewar committed -
2011-08-02 Robert Dewar <dewar@adacore.com> * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb: Minor reformatting. From-SVN: r177160
Robert Dewar committed -
2011-08-02 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can only have inheritable classwide pre/postconditions. 2011-08-02 Javier Miranda <miranda@adacore.com> * 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. From-SVN: r177159
Arnaud Charlet committed -
2011-08-02 Thomas Quinot <quinot@adacore.com> * s-taskin.ads: Minor reformatting. 2011-08-02 Emmanuel Briot <briot@adacore.com> * g-comlin.adb (Display_Help): swap the order in which it prints the short help and the general usage. 2011-08-02 Ed Schonberg <schonberg@adacore.com> * 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 <dewar@adacore.com> * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project]. 2011-08-02 Ed Schonberg <schonberg@adacore.com> * 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. From-SVN: r177157
Arnaud Charlet committed -
2011-08-02 Robert Dewar <dewar@adacore.com> * exp_ch4.adb: Minor reformatting. 2011-08-02 Ed Schonberg <schonberg@adacore.com> * 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 <charlet@adacore.com> * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore size/alignment related attributes in CodePeer_Mode. 2011-08-02 Gary Dismukes <dismukes@adacore.com> * 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. From-SVN: r177156
Arnaud Charlet committed -
2011-08-02 Yannick Moy <moy@adacore.com> * errout.adb (First_Node): minor renaming * restrict.adb (Check_Formal_Restriction): put restriction warning on first node. From-SVN: r177155
Yannick Moy committed -
2011-08-02 Yannick Moy <moy@adacore.com> * 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 <charlet@adacore.com> * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert previous change. 2011-08-02 Robert Dewar <dewar@adacore.com> * sem_ch3.adb, sem_ch4.adb: Minor reformatting. 2011-08-02 Hristian Kirtchev <kirtchev@adacore.com> * 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 <moy@adacore.com> * sinfo.ads: Minor formatting. 2011-08-02 Ed Schonberg <schonberg@adacore.com> * 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. From-SVN: r177153
Arnaud Charlet committed -
2011-08-02 Hristian Kirtchev <kirtchev@adacore.com> * 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 <moy@adacore.com> * 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 <schonberg@adacore.com> * errout.adb: On anything but an expression First_Node returns its argument. From-SVN: r177152
Arnaud Charlet committed -
2011-08-02 Pascal Obry <obry@adacore.com> * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting. 2011-08-02 Hristian Kirtchev <kirtchev@adacore.com> * 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 <moy@adacore.com> * 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 <charlet@adacore.com> * 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 <falis@adacore.com> * init.c: initialize fp hw on MILS. 2011-08-02 Ed Schonberg <schonberg@adacore.com> * 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. From-SVN: r177151
Arnaud Charlet committed -
2011-08-02 Robert Dewar <dewar@adacore.com> * exp_ch3.adb: Minor comment additions. * sem_ch13.adb: Minor reformatting. 2011-08-02 Arnaud Charlet <charlet@adacore.com> * exp_pakd.adb (Expand_Packed_Element_Reference): Revert previous change 2011-08-02 Pascal Obry <obry@adacore.com> * make.adb, makeutl.adb: Removes some superfluous directory separator. From-SVN: r177150
Arnaud Charlet committed -
From-SVN: r177149
Arnaud Charlet committed -
From-SVN: r177148
Arnaud Charlet committed -
2011-08-02 Robert Dewar <dewar@adacore.com> * sem_attr.adb: Minor reformatting. 2011-08-02 Ed Falis <falis@adacore.com> * init.c: Revert previous change. 2011-08-02 Robert Dewar <dewar@adacore.com> * 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 <schonberg@adacore.com> * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate package containing iteration primitives. exp_ch5.adb (Expand_Iterator_Loop): ditto. From-SVN: r177147
Arnaud Charlet committed -
2011-08-02 Ed Schonberg <schonberg@adacore.com> * 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 <bosch@adacore.com> * cstand.adb (Create_Float_Types): Only consider C's long double for Long_Long_Float, in addition to double. From-SVN: r177146
Arnaud Charlet committed -
2011-08-02 Robert Dewar <dewar@adacore.com> * 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 <schonberg@adacore.com> * sem_attr.adb: handle properly 'Result when it is a prefix of an indexed component. 2011-08-02 Javier Miranda <miranda@adacore.com> * 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. From-SVN: r177145
Arnaud Charlet committed -
2011-08-02 Javier Miranda <miranda@adacore.com> * exp_pakd.adb (Expand_Packed_Element_Reference): Disable this routine in CodePeer mode. 2011-08-02 Geert Bosch <bosch@adacore.com> * 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 <dewar@adacore.com> * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in alpha order). * opt.ads: Minor comment change. * sem_ch12.adb: Minor code reorganization. From-SVN: r177144
Arnaud Charlet committed -
From-SVN: r177143
Arnaud Charlet committed -
2011-08-02 Gary Dismukes <dismukes@adacore.com> * 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 <bosch@adacore.com> * switch-c.adb (Free): New deallocation procedure to avoid implicitly using the one from System.Strings, which also deallocates all strings. From-SVN: r177142
Arnaud Charlet committed -
2011-08-02 Geert Bosch <bosch@adacore.com> * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New function. * gcc-interface/Make-lang.in: Update dependencies. 2011-08-02 Olivier Hainque <hainque@adacore.com> * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function end_locus. From-SVN: r177141
Arnaud Charlet committed -
2011-08-02 Javier Miranda <miranda@adacore.com> * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals associated with anonymous access to subprograms. 2011-08-02 Geert Bosch <bosch@adacore.com> * 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. From-SVN: r177140
Arnaud Charlet committed -
2011-08-02 Yannick Moy <moy@adacore.com> * 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 <miranda@adacore.com> * 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. From-SVN: r177139
Arnaud Charlet committed -
cstand.adb (Register_Float_Type): Print information about type to register, if the Debug_Flag_Dot_B is set. 2011-08-02 Geert Bosch <bosch@adacore.com> * 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. From-SVN: r177138
Geert Bosch committed -
2011-08-02 Eric Botcazou <ebotcazou@adacore.com> * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined functions to previous change. Reorganize code slightly. 2011-08-02 Geert Bosch <bosch@adacore.com> * 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. From-SVN: r177137
Arnaud Charlet committed -
2011-08-02 Eric Botcazou <ebotcazou@adacore.com> * 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 <quinot@adacore.com> * s-stusta.adb (Print): Make sure Pos is always initialized to a suitable value. 2011-08-02 Ed Falis <falis@adacore.com> * init.c: Fix conditional compilation so that the fp initialization is peformed for the MILS VxWorks Guest OS. From-SVN: r177136
Arnaud Charlet committed -
2011-08-02 Geert Bosch <bosch@adacore.com> * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image. 2011-08-02 Eric Botcazou <ebotcazou@adacore.com> * sem_type.adb (Covers): Move trivial case to the top and reuse the computed value of Base_Type. 2011-08-02 Yannick Moy <moy@adacore.com> * 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. From-SVN: r177135
Arnaud Charlet committed -
2011-08-02 Ed Schonberg <schonberg@adacore.com> * 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. From-SVN: r177134
Ed Schonberg committed -
* config/avr/libgcc.S: Gather related function in the same input section. __divmodsi4): Use XCALL/XJMP instead of rcall/rjmp for external references. (__udivmodqi4, __divmodqi4, __udivmodhi4, __divmodhi4, __udivmodsi4, __divmodsi4, __prologue_saves__, __epilogue_restores__, _exit, __tablejump2__, __tablejump__, __do_copy_data, __do_clear_bss, __do_global_ctors, __do_global_dtors, __tablejump_elpm__): Enclose in DEFUN/ENDF. From-SVN: r177133
Georg-Johann Lay committed -
2011-08-02 Javier Miranda <miranda@adacore.com> * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo. * gcc-interface/Make-lang.in: Update dependencies. 2011-08-02 Javier Miranda <miranda@adacore.com> * 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 <miranda@adacore.com> * 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. From-SVN: r177132
Javier Miranda committed -
2011-08-02 Ed Falis <falis@adacore.com> * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads: Update header. 2011-08-02 Bob Duff <duff@adacore.com> * opt.ads: Minor comment fix. 2011-08-02 Bob Duff <duff@adacore.com> * 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 <dewar@adacore.com> * uname.adb: Minor reformatting. * gnatcmd.adb: Minor reformatting. * exp_attr.adb: Minor reformatting. From-SVN: r177131
Arnaud Charlet committed
-