- 06 Jun, 2007 39 commits
-
-
einfo.ads, einfo.adb (Available_View): New synthesized attribute applicable to types that have the With_Type flag set. 2007-04-20 Javier Miranda <miranda@adacore.com> Ed Schonberg <schonberg@adacore.com> Robert Dewar <dewar@adacore.com> Eric Botcazou <ebotcazou@adacore.com> Arnaud Charlet <charlet@adacore.com> * einfo.ads, einfo.adb (Available_View): New synthesized attribute applicable to types that have the With_Type flag set. Returns the non-limited view of the type, if available, otherwise the type itself. For class-wide types, there is no direct link in the tree, so we have to retrieve the class-wide type of the non-limited view of the Etype. New attributes Static_Initialization and Static_Elaboration_Desired. Remove the pragma Thread_Body, and the associated flag Is_Thread_Body in entities, and all related code. (Suppress_Value_Tracking_On_Call): New flag E_Exception has Esize and Alignment fields (Universal_Aliasing): New function. (Set_Universal_Aliasing): New procedure. (Write_Entity_Flags): Deal with Universal_Aliasing flag. (Check_Nested_Access): New procedure. (Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures. (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access. (Related_Interface): New attribute. Present in dispatch table pointer components of records. Set to point to the entity of the corresponding interface type. (Is_By_Reference_Type): Recurse on the full view of an incomplete type. (Original_Access_Type): Remove, not needed. (Root_Type): Handle properly subtypes of class-wide-types. Update comments. * sem_ch4.adb (Analyze_Explicit_Dereference): Add support for class-wide types visible through limited-with clauses. (Try_Primitive_Operation): When examining all primitive operations of a tagged type, do not consider subprograms labeled as hidden unless they belong to a private generic type with a tagged parent. (Try_Object_Operation): Extensive rewriting, to handle properly various overloading cases, when several ancestors may have class-wide operations that are possible candidates, and when the overloaded functions return array types and have defaulted parameters so that the call may be interpreted as an indexing. (Analyze_Allocator): Remove Mark_Allocator and its invocation. (Process_Function_Call): use Next, rather than Next_Actual, to analyze successive actuals before analyzing the call itself. (Try_Primitive_Operation): A primitive operation is compatible with the prefix if the prefix has a synchronized type and the type of the formal is its corresponding record, as can be the case when the primitive operation is declared outside of the body of the type. (Traverse_Homonyms): New subprocedure of Try_Class_Wide_Operation, to perform homonym traversal, looking for class-wide operation matches (formerly done in statements of Try_Class_Wide_Operation). Matches on access parameters are now restricted to anonymous access types. (Mark_Allocator): An allocator with a discriminant association parent is a coextension. (Try_One_Prefix_Interpretation): If the type of the object is incomplete, as can be happen when it is a limited view obtained through a limited_with_clause, the selected component is not part of a prefixed call. (Complete_Object_Operation): Diagnose properly an object that is not aliased when the corresponding controlling formal is an access parameter. (Try_Primitive_Operation, Try_Class_Wide_Operation): Diagnose properly ambiguous calls in prefixed notation, where two primitives differ only in that the controlling argument of one is an access parameter. * sem_ch6.adb (Has_Single_Return): Add guard in code that determines whether a function that returns an unconstrained type can be inlined. (Process_Formals): Diagnose properly the illegal use of an incomplete type in the profile of an access_to_subprogram declaration. (Check_Synchronized_Overriding): Nothing check for concurrent types, the operations are attached to the corresponding record. (Analyze_Subprogram_Specification): Add variables Formal and Formal_Typ. When processing a primitive of a concurrent type which implements an interface change the type of all controlling formals to that of the corresponding record type. (Check_Synchronized_Overriding): Relax the conditional logic when trying to determine the tagged type to which a primitive belongs. (Check_Conventions): Capture condition to ignore a primitive operation (which is shared between the loop in Check_Conventions and the one in Check_Convention) in a new local function Skip_Check. (Check_Convention): Rename Prim_Op to Second_Prim_Op to avoid possible confusion with Check_Conventions' own Prim_Op local variable. (Create_Extra_Formals): Test for a tagged result type rather than a controlling result when determining whether to add a BIP_Alloc_Form formal and a BIP_Final_List formal to the function. (Check_Conformance); For parameters that are anonymous access types, subtype conformance requires that the not null and the constant indicators must match (Check_Synchronized_Overriding): New parameter Formal_Typ. Add machinery to retrieve the appropriate type when processing a concurrent type declared within a generic. Minor comment reformatting. Change invocation of Overrides_Synchronized_Primitive to Find_Overridden_Synchronized_Pri- mitive. (Analyze_Subprogram_Body): If the return type of a function is an anonymous access to the limited view of a class-wide type, and the non-limited view of the type is available, update the type of the function so that code can be generated. (Process_Formals): In case of access-subtype itype whose designated type is also an itype (situation that happens now with access to subprograms) we mark the access-type itype with the Has_Delayed_Freeze attribute to avoid backend problems. (Check_Return_Subtype_Indication): Replace R_Type with R_Stm_Type in init of R_Stm_Type_Is_Anon_Access. Also check that base types of the anonymous types' designated types are same before testing Subtypes_Statically_Match. (Create_Extra_Formals): Test for a named access parameter that is a controlling formal as an additional condition for adding an accessibility level formal. This can occur in the subp type created for dispatching calls in Expand_Dispatching_Call, and allows calling Create_Extra_Formals from that procedure rather than special-casing the extra formals there. (Create_Extra_Formals): Add BIP_Alloc_Form and BIP_Final_List formals when the function has a controlling result. (Check_Returns): Add much more knowledge of the optimization of local raise statements to gotos, to retain proper warnings in this case. (Check_Statement_Sequence): Ignore N_Push_xxx_Label and N_Pop_xxx_Label nodes when looking for last statement. * sem_type.ads, sem_type.adb (Specific_Type): Add support for class-wide types visible through limited with clauses. (Add_One_Interp): If the operands are anonymous access types, the predefined operator on universal_access is immediately visibles (Find_Unique_Type): Handle anonymous access to subprogram types just as other anonymous access types. (Disambiguate): Take into account CIL convention. (Interface_Present_In_Ancestor): Add support for class-wide interfaces. From-SVN: r125390
Javier Miranda committed -
clean.adb (Clean_Archive): Use untouched casing for the archive name and the corresponding .deps file. 2007-04-20 Pascal Obry <obry@adacore.com> * clean.adb (Clean_Archive): Use untouched casing for the archive name and the corresponding .deps file. (Clean_Interface_Copy_Directory): Use untouched casing for the library src directory. Minor code-clean-up. Use untouched casing for files read into the library src dir. (Clean_Library_Directory): Idem. (Parse_Cmd_Line): Accept new switch -aP From-SVN: r125389
Pascal Obry committed -
checks.ads, checks.adb (Apply_Address_Clause_Check): Handle case in which the address-clause is applied to in-mode actuals (allowed... 2007-04-20 Javier Miranda <miranda@adacore.com> Robert Dewar <dewar@adacore.com> Ed Schonberg <schonberg@adacore.com> * checks.ads, checks.adb (Apply_Address_Clause_Check): Handle case in which the address-clause is applied to in-mode actuals (allowed by 13.1(22)). (Apply_Discriminant_Check): Do not generate a check if the type is constrained by a current instance. (Activate_Division_Check): New procedure (Activate_Overflow_Check): New procedure (Activate_Range_Check): New procedure Call these new Activate procedures instead of setting flags directly (Apply_Array_Size_Check): Removed, no longer needed. Code clean up: remove obsolete code related to GCC 2. (Get_E_Length): Protect against bomb in case scope is standard (Selected_Range_Checks): If the node to be checked is a conversion to an unconstrained array type, and the expression is a slice, use the bounds of the slice to construct the required constraint checks. Improve NOT NULL error messages (Apply_Constraint_Check): If the context is a null-excluding access type, diagnose properly the literal null. From-SVN: r125388
Javier Miranda committed -
2007-04-20 Vincent Celier <celier@adacore.com> * bindusg.adb: Add line for @<response file> Add lines for new switches -R and -Z * gnatbind.adb (Gnatbind): Do not include sources from the GNAT hierarchy in the list of files of the closure when -R is used (Gnatbind): Accept arguments starting with '@' to indicate response files and take the arguments from the response files. If List_Closure is set, display the referenced files From-SVN: r125387
Vincent Celier committed -
2007-04-20 Arnaud Charlet <charlet@adacore.com> Vincent Celier <celier@adacore.com> Robert Dewar <dewar@adacore.com> * bindgen.adb (Gen_Output_File_Ada): Generate pragma No_Run_Time when needed. (Gen_Output_File_Ada, Gen_Output_File_C): Never use __attribute ((destructor)) for adafinal, even when switch -a is used. Do not issue pragma Linker_Destructor for adafinal when switch -a is used. (Gen_Object_Files_Options): Add formatting of Linker Options, when Output_Linker_Option_List is set. Suppress this formatting when Zero_Formatting is set. Add case for CLI_Target. (System_Restrictions_Used): New flag, used to avoid generating with of System_Restrictions and initialization of the data unless there is some use of System.Restrictions in the partition. (Check_System_Restrictions_Used): New procedure * s-stalib.adb: Remove with of System.Restrictions. No longer needed since we only with this unit in the binder file if it is used elsewhere in the partition. From-SVN: r125386
Arnaud Charlet committed -
2007-04-20 Robert Dewar <dewar@adacore.com> * a-tigeau.ads, a-tigeau.adb: (Store_Char): Change Buf to IN OUT From-SVN: r125385
Robert Dewar committed -
a-ztflau.adb, [...] (Load_Real): Do not parse "." in the case of nnn.xxx when nnn terminates with an underscore. 2007-04-20 Hristian Kirtchev <kirtchev@adacore.com> * a-ztflau.adb, a-wtflau.adb, a-tiflau.adb (Load_Real): Do not parse "." in the case of nnn.xxx when nnn terminates with an underscore. Parse the remaining "#" or ":" in the case of nnn#.xxx# From-SVN: r125384
Hristian Kirtchev committed -
utils2.c (build_allocator): Provide the extra arguments to make_aligning_type for super-aligned objects... 2007-04-20 Olivier Hainque <hainque@adacore.com> Eric Botcazou <ebotcazou@adacore.com> * utils2.c (build_allocator): Provide the extra arguments to make_aligning_type for super-aligned objects allocated from the default pool. Leave enough room for a pointer before the aligning field, and store the system's allocator return value there. (build_call_alloc_dealloc): When releasing a super-aligned object, retrieve the system's allocator return value from where build_allocator has stored it, just ahead of the adjusted address we are passed. (build_call_raise): Handle properly the generation of line numbers when the node is marked No_Location. (compare_elmt_bitpos): Use tree_int_cst_compare. Stabilize the sort by using DECL_UID on ties. (build_binary_op) <EQ_EXPR>: Accept fat pointer types with the same main variant. (build_call_raise): Handle converting exception into goto; support new argument KIND. (build_component_ref): Add new arg to build_call_raise. From-SVN: r125383
Olivier Hainque committed -
2007-04-20 Vincent Celier <celier@adacore.com> * a-tifiio.adb (Put, internal): For negative numbers, check that there is room for at least one digit and the minus sign. (Put.Put_Character): Never put a character outside of the range of string To. From-SVN: r125382
Vincent Celier committed -
2007-04-20 Robert Dewar <dewar@adacore.com> * a-tienio.adb (Get): Adjust buffer size to accomodate one extra character From-SVN: r125381
Robert Dewar committed -
2007-04-20 Thomas Quinot <quinot@adacore.com> * a-textio.ads, a-textio.adb (Write): Add explicit size clause for the C imported variable. (Skip_Line): Do not reset Before_LM_PM immediately when Before_LM is set on entry. From-SVN: r125380
Thomas Quinot committed -
2007-04-20 Javier Miranda <miranda@adacore.com> * a-tags.ads, a-tags.adb (Tag_Size): This constant is now internal to the package. (Object_Specific_Data_Array): This is now internal to the package. (Object_Specific_Data): This is now internal to the package. (Select_Specific_Data_Element): This is now internal to the package. (Select_Specific_Data_Array): This is now internal to the package. (Select_Specific_Data): This is now internal to the package. (Offset_To_Top_Function_Ptr): This is now public. (To_Offset_To_Top_Function_Ptr): Removed. (Storage_Offset_Ptr,To_Storage_Offset_Ptr): These declarations are now local to subprogram Offset_To_Top. (Predefined_DT): Removed. (Typeinfo_Ptr): Removed. (OSD): This function is now internal to this package. (SSD): This function is now internal to this package. (DT): New function that displaces the pointer to the table of primitives to get access to the enclosing wrapper record. (IW_Membership): Code cleanup. (Offset_To_Top): Code cleanup. (Predefined_DT): Removed. (Register_Interface_Tag): Removed. (Set_Interface_Table): Removed. (Set_Offset_Index): Removed. (Set_Offset_To_Top): Code cleanup. (Set_OSD): Removed. (Set_Signature): Removed. (Set_SSD): Removed. (Set_Tagged_Kind): Removed. (Typeinfo_Ptr): Removed. (TSD): Removed. (Displace): Add missing check on null actual. * exp_disp.ads, exp_disp.adb (Select_Expansion_Utilities): Removed. (Build_Common_Dispatching_Select_Statements): Moved to exp_atags. (Expand_Dispatching_Call): Update calls to Get_Prim_Op_Address because the interface requires a new parameter. (Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec, Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Replace calls to subprograms Build_T, Build_S, etc. by the corresponding code. Done to remove package Select_Expansion_Utilities. (Make_DT): New implementation for statically allocated dispatch tables. (Make_Secondary_DT): Moved to the scope of Make_DT. (Register_Primitive): Code cleanup plus incoporate the use of the new function DT_Address_Attribute. (Expand_Interface_Thunk): The profile of this subprogram has been changed to return the Thunk_Id and the corresponding code. (Fill_DT_Entry): Removed. Its functionality is now provided by subprogram Register_Primitive. (Fill_Secondary_DT_Entry): Removed. Its functionality is now provided by subprogram Register_Primitive. (Register_Primitive): New subprogram that incorporates the previous functionalities of Fill_DT_Entry and Fill_Secondary_DT_Entry. (Build_Common_Dispatching_Select_Statements): Remove formal Typ. This was only required to call Make_DT_Access_Action, which is now removed. (Ada_Actions): Removed (Action_Is_Proc): Removed (Action_Nb_Arg): Removed Replace all the calls to Make_DT_Access_Action by direct calls to Make_Procedure_Call_Statement or Make_Function_Call. (Set_DTC_Entity_Value): New subprogram. (Set_All_DT_Position): Add call to new subprogram Set_DTC_Entity_Value. (Expand_Interface_Thunk): Add missing support for primitives that are functions with a controlling result (case in which there is no need to generate the thunk). * exp_atag.ads, exp_atag.adb (Build_DT): New subprogram that displaces the pointer to reference the base of the wrapper record. (Build_Typeinfo_Offset): Removed. (RTE_Tag_Node): Removed. (Build_Common_Dispatching_Select_Statements): Moved here from exp_disp (Build_Get_RC_Offset): Removed. (Build_Inherit_Predefined_Prims): Removed. (Build_Inherit_TSD: Removed. (Build_New_TSD): Removed. (Build_Set_External_Tag): Removed. (Build_Set_Predefined_Prim_Op_Address): Add documentation. (Build_Set_Prim_Op_Address): Add documentation. (Build_Set_TSD): Removed. * rtsfind.ads, rtsfind.adb (Load_Fail): If load fails and we are not in configurable run-time mode, then raise Unrecoverable_Error. (Text_IO_Kludge): Generate an error message if a run-time library is not available in a given run-time (ie. zfp run-time). (RTE_Record_Component): Add code to check that the component we search for is not found in two records in the given run-time package. (RE_DT_Offset_To_Top_Size, RE_DT_Predef_Prims_Size): Removed (RE_DT_Predef_Prims_Offset): New entity (RE_Static_Offset_To_Top): New entity (RE_HT_Link): New entity. (System_Address_Image): Addition of this run-time package. (RE_Address_Image): New entity. (RE_Abstract_Interface): Removed. (RE_Default_Prim_Op_Count): Removed. (RE_DT_Entry_Size): Removed. (RE_DT_Min_Prologue_Size): Removed. (RE_DT_Prologue_Size): Removed. (RE_Ifaces_Table_Ptr): Removed. (RE_Interface_Data_Ptr): Removed. (RE_Type_Specific_Data): Removed. (RE_Primary_DT): Removed. (RE_Register_Interface_Tag): Removed. (RE_Set_Offset_Index): Removed. (RE_Set_OSD): Removed. (RE_Set_SSD): Removed. (RE_Set_Signature): Removed. (RE_Set_Tagged_Kind): Removed. (RE_Address_Array): New entity. (RE_DT): New entity. (RE_Iface_Tag): New entity. (RE_Interfaces_Table): New entity. (RE_No_Dispatch_Table): New entity. (RE_NDT_Prims_Ptr): New entity. (RE_NDT_TSD): New entity. (RE_Num_Prims): New entity. (RE_Offset_To_Top_Function_Ptr): New entity. (RE_OSD_Table): New entity. (RE_OSD_Num_Prims): New entity. (RE_Predef_Prims): New entity (RE_Predef_Prims_Table_Ptr): New entity. (RE_Primary_DT): New entity. (RE_Signature): New entity. (RE_SSD): New entity. (RE_TSD): New entity. (RE_Type_Specific_Data): New entity. (RE_Tag_Kind): New entity. From-SVN: r125379
Javier Miranda committed -
2007-04-20 Arnaud Charlet <charlet@adacore.com> * a-stzunb.adb, a-stwiun.adb, a-strunb.adb: (Insert): Use 'Length instead of 'Size. * a-stwifi.ads, a-stzfix.ads: Minor reformatting From-SVN: r125378
Arnaud Charlet committed -
bcheck.adb, [...]: Move Name_Id, File_Name_Type and Unit_Name_Type from package Types to package Namet. 2007-04-20 Vincent Celier <celier@adacore.com> Robert Dewar <dewar@adacore.com> * bcheck.adb, binde.adb, binderr.adb, binderr.ads, butil.adb, butil.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads, err_vars.ads, exp_tss.adb, exp_tss.ads, fmap.adb, fmap.ads, fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads, lib-sort.adb, lib-util.adb, lib-util.ads, lib-xref.adb, makeutl.ads, makeutl.adb, nmake.adt, osint.adb, osint.ads, osint-b.adb, par-load.adb, prj-attr.adb, prj-dect.adb, prj-err.adb, prj-makr.adb, prj-part.adb, prj-pp.adb, prj-proc.adb, prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads, scans.adb, scans.ads, sem_ch2.adb, sinput-c.adb, styleg-c.adb, tempdir.adb, tempdir.ads, uname.adb, uname.ads, atree.h, atree.ads, atree.adb, ali-util.ads, ali-util.adb, ali.ads, ali.adb: Move Name_Id, File_Name_Type and Unit_Name_Type from package Types to package Namet. Make File_Name_Type and Unit_Name_Type types derived from Mame_Id. Add new type Path_Name_Type, also derived from Name_Id. Use variables of types File_Name_Type and Unit_Name_Type in error messages. (Get_Name): Add parameter Ignore_Special, and set it reading file name (New_Copy): When debugging the compiler, call New_Node_Debugging_Output here. Define flags Flag217-Flag230 with associated subprograms (Flag_Word5): New record type. (Flag_Word5_Ptr): New access type. (To_Flag_Word5): New unchecked conversion. (To_Flag_Word5_Ptr): Likewise. (Flag216): New function. (Set_Flag216): New procedure. From-SVN: r125377
Vincent Celier committed -
2007-04-20 Thomas Quinot <quinot@adacore.com> * a-finali.ads (Ada.Finalization): Add missing pragma Remote_Types. The presence of this categorization pragma is mandated by the language. (Limited_Controlled): Add missing pragma Preelaborable_Initialization for this type. From-SVN: r125376
Thomas Quinot committed -
2007-04-20 Thomas Quinot <quinot@adacore.com> Olivier Hainque <hainque@adacore.com> Robert Dewar <dewar@adacore.com> * a-except.ads, a-except.adb: (Rmsg_28): Fix description for E.4(18) check. (Raise_Current_Excep): Call Debug_Raise_Exception just before propagation starts, to let debuggers know about the event in a reliable fashion. (Local_Raise): Moved to System.Exceptions More convenient to have this as a separate unit * s-except.adb, s-except.ads: New files. * a-exextr.adb (Unhandled_Exception): Delete - replaced by Debug_Unhandled_Exception in System.Exceptions where it belongs together with a couple of other debug helpers. (Notify_Unhandled_Exception): Use Debug_Unhandled_Exception instead of the former Unhandled_Exception. * exp_ch11.ads, exp_ch11.adb: (Possible_Local_Raise): New procedure (Warn_No_Exception_Propagation): New procedure (Warn_If_No_Propagation): Rewritten for new warning generation (Expand_Exception_Handlers): New warning generation (Expand_N_Raise_xxx_Error): Rewritten for new warnings (Add_Exception_Label): Use Special_Exception_Package_Used for test instead of Most_Recent_Exception_Used (accomodates Exception_Traces) (Expand_Local_Exception_Handlers): Unconditionally add extra block wrap even if restriction is set (makes life easier in Check_Returns) (Expand_Local_Exception_Handlers): Follow renamed entity chain when checking exception identities. (Expand_Local_Exception_Handlers): Do not optimize when all others case (Expand_Local_Exception_Handlers): Set Exception_Junk flag on generated block for handler (used by Check_Returns) (Expand_Local_Exception_Handlers): Local_Raise now takes an address (Expand_N_Handled_Sequence_Of_Statements): Properly handle -gnatd.x to remove all exception handlers when optimizing local raise statements. (Find_Local_Handler): Use Get_Renamed_Entity (Expand_N_Handled_Sequence_Of_Statements): If the handled sequence is marked analyzed after expanding exception handlers, do not generate redundant cleanup actions, because they have been constructed already. From-SVN: r125375
Thomas Quinot committed -
2007-04-20 Robert Dewar <dewar@adacore.com> * comperr.adb (Compiler_Abort): New Finalize/Output_Messages interface for Errout * errout.adb: New Finalize/Compilation_Errors/Output_Messages implementation * errout.ads (Finalize): Changed interface (Output_Messages): New procedure (Compilation_Errors): New Interface * prepcomp.ads, prepcomp.adb (Parse_Preprocessing_Data_File): New Finalize/Output_Messages interface for Errout (Prepare_To_Preprocess): New Finalize/Output_Messages interface for Errout. From-SVN: r125374
Robert Dewar committed -
2007-04-20 Robert Dewar <dewar@adacore.com> * a-chahan.ads: Remove obsolescent pragmas * a-chlat1.ads: Minor reformatting From-SVN: r125373
Robert Dewar committed -
s-intman-vxworks.ads, [...] (Abort_Task_Signal): Rename to Abort_Task_Interrupt to be able to keep the same interface as the... 2007-04-20 Jose Ruiz <ruiz@adacore.com> * s-intman-vxworks.ads, s-intman-vxworks.adb (Abort_Task_Signal): Rename to Abort_Task_Interrupt to be able to keep the same interface as the rest of the targets. * s-osinte-vxworks.ads s-osinte-vxworks.adb (To_VxWorks_Priority): Remove explicit "in" mode indicator * s-osinte-vxworks6.ads, s-vxwork-arm.ads, system-vxworks-arm.ads: New files. From-SVN: r125372
Jose Ruiz committed -
gigi.h, trans.c (Identifier_to_gnu): Change test for deferred constant by adding guard that the entity is an... 2007-04-20 Gary Dismukes <dismukes@adacore.com> Eric Botcazou <ebotcazou@adacore.com> Tristan Gingold <gingold@adacore.com> Olivier Hainque <hainque@adacore.com> * gigi.h, trans.c (Identifier_to_gnu): Change test for deferred constant by adding guard that the entity is an E_Constant before testing presence of Full_view (and remove now-unnecessary test that entity is not a type). For a CONST_DECL used by reference, manually retrieve the DECL_INITIAL. Do not invoke fold in the other DECL_P cases either. (struct language_function): Move from utils.c to here. (struct parm_attr): New structure. (parm_attr, parm_attr vector, parm_attr GC vector): New types. (f_parm_attr_cache): New macro. (Attribute_to_gnu) <Attr_Length>: When not optimizing, cache the expressions for the 'First, 'Last and 'Length attributes of the unconstrained array IN parameters. (Subprogram_Body_to_gnu): Use gnu_subprog_decl throughout. Allocate the information structure for the function earlier, as well as the language-specific part. If the parameter attributes cache has been populated, evaluate the cached expressions on entry. (takes_address): Add OPERAND_TYPE parameter. Handle N_Function_Call, N_Procedure_Call_Statement and N_Indexed_Component. (Pragma_to_gnu): Translate inspection_point to an asm statement containaing a comment and a reference to the object (either its address for BLKmode or its value). (Identifier_to_gnu): Use TREE_CONSTANT instead of CONST_DECL to decide to go to DECL_INITIAL. Together with the size constraint relaxation in create_var_decl, enlarges the set of situations in which an identifier may be used as an initializer without implying elaboration code. (Subprogram_Body_to_gnu): Do not fiddle with the debug interface but set DECL_IGNORED_P on the function if Needs_Debug_Info is not set on the node. (maybe_stabilize_reference): Remove lvalues_only parameter. (gnat_stabilize_reference): Adjust for above change. (gnat_to_gnu): Do not set location information on the result if it is a reference. (add_cleanup): Add gnat_node parameter and set the location of the cleanup to it. (Handled_Sequence_Of_Statements_to_gnu): Adjust calls to add_cleanup. (Exception_Handler_to_gnu_zcx): Likewise. (gigi): Remove the cgraph node if the elaboration procedure is empty. (Subprogram_Body_to_gnu): If a stub is attached to the subprogram, emit the former right after the latter. (start_stmt_group): Make global. (end_stmt_group): Likewise. (gnu_constraint_error_label_stack, gnu_storage_error_label_stack): New vars. (gnu_program_error_label_stack): Likewise. (gigi): Initialize them. (call_to_gnu, gnat_to_gnu, emit_check): Add new arg to build_call_raise. (gnat_to_gnu, N_{Push,Pop}_{Constraint,Storage,Program}_Error_Label): New cases. (push_exception_label_stack): New function. (takes_address): New function. * utils.c (struct language_function): Move to trans.c from here. (unchecked_convert): Do not wrap up integer constants in VIEW_CONVERT_EXPRs. (create_var_decl_1): Decouple TREE_CONSTANT from CONST_DECL. Prevent the latter for aggregate types, unexpected by later passes, and relax an arbitrary size constraint on the former. (create_field_decl): Use tree_int_cst_equal instead of operand_equal_p to compare the sizes. (convert_vms_descriptor): When converting to a fat pointer type, be prepared for a S descriptor at runtime in spite of a SB specification. (shift_unc_components_for_thin_pointers): New function. (write_record_type_debug_info): For variable-sized fields, cap the alignment of the pointer to the computed alignment. (finish_record_type): Change HAS_REP parameter into REP_LEVEL. If REP_LEVEL is 2, do not compute the sizes. (build_vms_descriptor): Adjust for new prototype of finish_record_type. (build_unc_object_type): Likewise. (declare_debug_type): New function. * ada-tree.def: USE_STMT: removed (not emitted anymore). * misc.c (gnat_expand_expr): Call to gnat_expand_stmt removed because no statement is expandable anymore. (gnat_init_gcc_eh): Do not initialize the DWARF-2 CFI machinery twice. (gnat_handle_option): Only allow flag_eliminate_debug_types to be set when the user requested it explicitely. (gnat_post_options): By default, set flag_eliminate_unused_debug_types to 0 for Ada. (get_alias_set): Return alias set 0 for a type if TYPE_UNIVERSAL_ALIASING_P is set on its main variant. * ada-tree.h: (TYPE_UNIVERSAL_ALIASING_P): New macro. (DECL_FUNCTION_STUB): New accessor macro. (SET_DECL_FUNCTION_STUB): New setter macro. * lang.opt (feliminate-unused-debug-types): Intercept this flag for Ada. * fe.h (Get_Local_Raise_Call_Entity, Get_RT_Exception_Entity): New declarations. From-SVN: r125371
Gary Dismukes committed -
decl.c (gnat_to_gnu_entity): Manually mark the top of the renamed expression of a full renaming at toplevel. 2007-04-20 Eric Botcazou <ebotcazou@adacore.com> Richard Kenner <kenner@vlsi1.ultra.nyu.edu> Olivier Hainque <hainque@adacore.com> * decl.c (gnat_to_gnu_entity) <object>: Manually mark the top of the renamed expression of a full renaming at toplevel. (gnat_to_gnu_entity, case object): If not defining, do not look inside the values the constant is initialized to if it is an N_Allocator. (gnat_to_gnu_entity) <E_Array_Subtype>: Manually mark the top of the TYPE_SIZE_UNIT of inner types after the stride is elaborated. (make_aligning_type): Accept an extra ROOM argument for storage to be made available before the aligned field, and an extra BASE_ALIGN argument for callers to pass the alignment guaranteed to be honored for the whole aligning object. Avoid call to finish_record_type, which only interferes with the sizes we want to set. (gnat_to_gnu_entity) <E_Variable>: Pass the required extra arguments to make_aligning_type for super-aligned objects on stack. (components_to_record): Pass the adjusted size of the type when creating fields in the qualified union for the variant part. (gnat_substitute_in_type): Copy TYPE_USER_ALIGN. (gnat_to_gnu_entity, case E_Signed_Integer_Subtype): Likewise for packed array type. (maybe_pad_type): Set TYPE_USER_ALIGN. (make_aligning_type): Likewise. ALIGN argument is unsigned int. (gnat_to_gnu_entity, case E_Function): Back annotate return mechanism. (gnat_to_gnu_param): Likewise, for parameters. (gnat_to_gnu_entity) <object>: Always instantiate the renaming object if it is constant and stems from a function call. (gnat_to_gnu_entity) <E_Record_Type>: Set packed to -2 if the alignment of the record is specified. Adjust accordingly. (adjust_packed): New static function. (gnat_to_gnu_field): Use it to adjust the packedness setting. (components_to_record): Likewise. (gnat_to_gnu_entity) <object>: Do not test the renamed expression for side-effects if the object is deemed constant. (gnat_to_gnu_entity) <E_Array_Type>: Create a name for the fat pointer type instead of merely finalizing it. Tidy. <E_Access_Subprogram_Type>: Retrieve the type from the TYPE_DECL. <E_Access_Type>: Likewise. (defer_debug_incomplete_list): Rename to defer_finalize_list. (defer_debug_level): Delete. (gnat_to_gnu_entity) <debug_deferred>: Likewise <E_Array_Type>: Call rest_of_record_type_compilation on the fat pointer type. <E_Record_Type>: Do not explicitly defer finalizing the type. Adjust for write_record_type_debug_info renaming. <E_Subprogram_Type>: Likewise. Finalize deferred types right after deferred incomplete types are expanded. (rest_of_type_decl_compilation): New global function. (components_to_record): Rename defer_debug parameter to do_not_finalize. (components_to_record): Propagate the packedness to the fields of the qualified union type if there is a variant part. (gnat_to_gnu_entity) <E_Array_Type>: Use new function instead of inline code to adjust the XUT field offsets. (gnat_to_gnu_entity): Adjust for new prototype of finish_record_type. <E_Record_Subtype>: Do not let finish_record_type compute the sizes and write the debug info if the type derives from a discriminated one. (gnat_to_gnu_entity) <E_Array_Type>: Adjust call to create_index_type. <E_Array_Subtype>: Likewise. <E_String_Literal_Subtype>: Likewise. (gnat_to_gnu_entity): Set TYPE_USER_ALIGN on types only if they have an alignment clause. (maybe_pad_type): Update ORIG_SIZE to the minimum required to meet ALIGN before giving warning. (prepend_one_attribute_to): New function, helper to prepend an attribute to an attribute list. (gnat_to_gnu_entity) <E_Procedure>: Use it. (prepend_attributes): Likewise. (gnat_to_gnu_entity) <E_Variable>: Use constants of the proper type. <E_Array_Type>: Declare the padding type for the element type, if any. <E_Array_Subtype>: Likewise. (defer_limited_with): New variable. (Gigi_Equivalent_Type): New function. (gnat_to_gnu_entity): Use it at start and use result throughout. (gnat_to_gnu_entity, case E_Access_Type): Rework to use Gigi_Equivalent_Type, support Limited_With, allow two levels of indirection, precompute if unconstrained array to simplify logic, and use defer_limited_with to defer elaboration of some types from limited with. (finalize_from_with_types): New function. From-SVN: r125370
Eric Botcazou committed -
* s-osprim-vms.ads, s-osprim-vms.adb (Initialize) New procedure. Noop on VMS, added for interface commonality. From-SVN: r125369
Vasiliy Fofanov committed -
2007-04-20 Arnaud Charlet <charlet@adacore.com> * s-osinte-linux.ads (sigset_t): Bump alignment to match more closely its C counterpart. Remove references to Unchecked_Conversion, and use Ada.xxx instead. Replace Unchecked_Conversion by Ada.Unchecked_Conversion. From-SVN: r125368
Arnaud Charlet committed -
2007-04-20 Matthew Gingell <gingell@adacore.com> * s-osinte-aix.adb: map Ada priorities to target priorities appropriately for different scheduling policies. From-SVN: r125367
Matthew Gingell committed -
2007-04-20 Vincent Celier <celier@adacore.com> * mlib-tgt-specific.adb, mlib-tgt-specific.ads, mlib-tgt-vms.adb, mlib-tgt-vms.ads: New files. * mlib-tgt.adb, mlib-tgt.ads, mlib-tgt-darwin.adb, mlib-tgt-vxworks.adb, mlib-tgt-mingw.adb, mlib-tgt-lynxos.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-tru64.adb: Make a common body for package MLib.Tgt, containing the default versions of the exported subprograms. For each platforms, create a specific version of the body of new child package MLib.Tgt.Specific that contains only the bodies of subprograms that are different from the default. (Archive_Builder_Append_Options): New function From-SVN: r125366
Vincent Celier committed -
2007-04-20 Arnaud Charlet <charlet@adacore.com> * system-vxworks-sparcv9.ads, system-solaris-x86.ads, system-irix-o32.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads, system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads, system-vxworks-alpha.ads, system-vxworks-x86.ads, system-linux-ppc.ads, system-mingw.ads, system-vms-zcx.ads, system-darwin-ppc.ads, system-vxworks-ppc.ads, system-interix.ads, system-linux-hppa.ads, system-tru64.ads, system-hpux.ads, system-irix-n32.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads, system.ads, system-vms_64.ads, system-hpux-ia64.ads, system-linux-x86_64.ads, system-linux-ia64.ads: Document mapping between Ada and OS priorities. This patch changes the largest non-binary modulus from 2**31-1 to 2**32-1. (Compiler_System_Version): Removed, no longer used. Clean up system files by removing flags only used on a single target. Also remove obsolete flags, only used during bootstrap from system.ads (Address): Add a pragma Preelaborable_Initialization. * system-aix.ads: Ditto. (GCC_ZCX_Support): Set to true. Update priority range on AIX and map Ada priorities to target priorities appropriately for different scheduling policies. * ttypes.ads: set largest non-binary modulus from 2**31-1 to 2**32-1 From-SVN: r125365
Arnaud Charlet committed -
s-taprop-vms.adb, [...] (Timed_Delay, [...]): Register the base time when entering this routine to detect a backward clock... 2007-04-20 Arnaud Charlet <charlet@adacore.com> * s-taprop-vms.adb, s-taprop-hpux-dce.adb, s-taprop-vxworks.adb, s-osprim-posix.adb, s-taprop-posix.adb, s-osprim-vxworks.adb, s-taprop-solaris.adb, s-osprim-solaris.adb, s-taprop-dummy.adb, s-osprim-unix.adb, s-osinte-freebsd.adb, s-osinte-freebsd.ads, s-osinte-lynxos.adb, s-osinte-lynxos.ads, s-taprop-tru64.adb, s-taprop-lynxos.adb, s-taprop-irix.adb, s-osinte-tru64.adb, s-osinte-tru64.ads, s-taprop-linux.adb, s-parame.ads, s-parame-vms-alpha.ads, s-parame-vms-ia64.ads, s-parame-hpux.ads, s-parame-vms-restrict.ads, s-parame-ae653.ads, s-parame-vxworks.ads, s-taprop-mingw.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos-3.adb, s-osprim-mingw.adb (Timed_Delay, Timed_Sleep): Register the base time when entering this routine to detect a backward clock setting (manual setting or DST adjustment), to avoid waiting for a longer delay than needed. (Time_Duration, To_Timeval, struct_timeval): Removed when not relevant. Remove handling of deferred priority change, and replace by setting the task priority directly, as required by AI-188. Update comments. (Max_Task_Image_Length): New constant. Replace Warnings (Off) by Unreferenced pragma, cleaner. (Dynamic_Priority_Support): Removed, no longer needed. (Poll_Base_Priority_Change): Ditto. (Set_Ceiling): Add this procedure to change the ceiling priority associated to a lock. This is a dummy implementation because dynamic priority ceilings are not supported by the underlying system. * a-dynpri.adb (Set_Priority): Take into account case where Target is accepting a RV with its priority boosted. Remove handling of deferred priority change, and replace by setting the task priority directly, as required by AI-188. * s-taenca.adb (Try_To_Cancel_Entry_Call): Remove special case for Succeeded = True. Remove handling of deferred priority change, and replace by setting the task priority directly, as required by AI-188. (Wait_For_Completion, Wait_For_Call, Timed_Selective_Wait): Change state of Self_Id earlier. * s-tasini.ads, s-tasini.adb (Wakeup_Entry_Caller): Relax assertion. (Poll_Base_Priority_Change): Removed. Code clean up: use SSL.Current_Target_Exception. * s-tasren.adb (Task_Count): Call Yield to let a chance to other tasks to run as this is a potentially dispatching point. (Call_Synchronous): Use Local_Defer_Abort. (Callable): Relax assertion. (Selective_Wait): Relax assertion in case abort is not allowed. Remove handling of deferred priority change, and replace by setting the task priority directly, as required by AI-188. * s-tasuti.adb (Make_Passive): Adjust assertions. Remove handling of deferred priority change, and replace by setting the task priority directly, as required by AI-188. From-SVN: r125364
Arnaud Charlet committed -
* a-calend.ads, a-calend.adb, a-calend-vms.ads, a-calend-vms.adb ("-" (Time, Time)): Use To_Relative_Time rather than manual calculation to express the bounds of Duration as Time. Raise Time_Error when the result is greater or equal to the higher bound of Duration (on the margin case). ("+" (Time, Duration)): Reorder code. Remove the declaration of constant Ada_High_And_Leaps. ("-" (Time, Duration)): Reorder code. Remove the declaration of constant Ada_High_And_Leaps. ("-" (Time, Time)): Reorder code. (All_Leap_Seconds): Removed. (Arithmetic_Operations.Add): Remove sign related kludge. (Arithmetic_Operations.Difference): Control the leaps seconds processing with flag Leap_Support. (Arithmetic_Operations.Subtract): Remove sign related kludge. (Check_Within_Time_Bounds): New procedure. (Clock): Control the leap seconds processing with flag Leap_Support. (Cumulative_Leap_Seconds): Assert that the target supports leap seconds. (Formatting_Operations.Split): Control the leap seconds processing with flag Leap_Support. (Formatting_Operations.Time_Of): Control the leaps seconds processing with flag Leap_Support. Adjust the year, month and day (if applicable) when the value of day seconds designates a new day. (Split): Use parameter associations for better readability. Integrate flag Is_Ada_05. (Time_Of): Use parameter associations for better readability. Integrate flag Is_Ada_05. * a-calfor.adb (Split): Use parameter associations for better readability. Integrate flag Is_Ada_05. (Time_Of): Remove flag Leap_Checks. Use parameter associations for better readability. Integrate flag Is_Ada_05. From-SVN: r125363
Hristian Kirtchev committed -
a-intnam-aix.ads: Adjust comment to account for SIGADAABORT change (SIGEMT is now used instead of... 2007-04-20 Thomas Quinot <quinot@adacore.com> Arnaud Charlet <charlet@adacore.com> * a-intnam-aix.ads: Adjust comment to account for SIGADAABORT change (SIGEMT is now used instead of SIGTERM on AIX). * s-osinte-aix.ads (Linker_Options): Use -pthread instead of -lpthreads. (Time_Slice_Supported): Set to True. use SIGEMT instead of SIGTERM as SIGADAABORT. From-SVN: r125362
Thomas Quinot committed -
2007-04-20 Bob Duff <duff@adacore.com> * g-expect-vms.adb: (Send_Signal, Close): Raise Invalid_Process if the process id is invalid. * g-expect.ads, g-expect.adb (Send): Avoid useless copy of the string. (Send_Signal, Close): Raise Invalid_Process if the process id is invalid. (Pattern_Matcher_Access): Is now a general access type to be able to use aliased string. From-SVN: r125361
Bob Duff committed -
2007-04-20 Robert Dewar <dewar@adacore.com> * g-string.adb, s-proinf-irix-athread.adb, s-gloloc-mingw.adb, s-tfsetr-default.adb, gnatfind.adb, gnatxref.adb, gprep.adb, g-regexp.adb, g-regexp.ads, g-regpat.ads, g-tasloc.adb, g-tasloc.ads, output.adb, switch-m.ads, tree_in.ads, tree_io.ads, indepsw.ads, g-utf_32.adb, g-utf_32.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb, a-zchuni.ads: Replace GNAT.xxx by System.xxx when appropriate. * s-utf_32.adb, s-utf_32.ads, s-os_lib.adb, s-os_lib.ads, s-regexp.adb, s-regexp.ads, s-regpat.adb, s-regpat.ads, s-string.adb, s-string.ads, s-tasloc.adb, s-tasloc.ads: New files. From-SVN: r125360
Robert Dewar committed -
2007-04-20 Robert Dewar <dewar@adacore.com> * a-taster.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads, s-osinte-irix.ads, s-interr-sigaction.adb, s-mastop-irix.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads, s-osinte-solaris.ads, s-taspri-solaris.ads, s-inmaop-vms.adb, s-interr-vms.adb, s-mastop-vms.adb, s-osinte-vms.ads, s-tpopde-vms.adb, s-osinte-mingw.ads, s-interr-vxworks.adb, i-cstrea-vms.adb, a-diocst.adb, a-direio.adb, a-interr.adb, a-sequio.adb, a-siocst.adb, a-ssicst.adb, a-storio.adb, a-ststio.adb, a-stwima.adb, a-tasatt.adb, a-taside.adb, a-tiocst.adb, a-witeio.adb, a-wtcstr.adb, g-crc32.adb, g-dirope.adb, g-dyntab.adb, g-memdum.adb, g-regexp.adb, g-spipat.adb, g-spitbo.adb, g-string.adb, g-string.ads, g-table.adb, g-thread.adb, i-cobol.adb, i-cpoint.adb, i-cstrea.adb, i-cstrin.adb, i-pacdec.adb, s-addima.adb, s-arit64.adb, s-auxdec.adb, s-auxdec.ads, s-auxdec-vms_64.ads, s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb, s-direio.adb, s-fileio.adb, s-finimp.ads, s-geveop.adb, s-imgenu.adb, s-pack03.adb, s-pack05.adb, s-pack06.adb, s-pack07.adb, s-pack09.adb, s-pack10.adb, s-pack11.adb, s-pack12.adb, s-pack13.adb, s-pack14.adb, s-pack15.adb, s-pack17.adb, s-pack18.adb, s-pack19.adb, s-pack20.adb, s-pack21.adb, s-pack22.adb, s-pack23.adb, s-pack24.adb, s-pack25.adb, s-pack26.adb, s-pack27.adb, s-pack28.adb, s-pack29.adb, s-pack30.adb, s-pack31.adb, s-pack33.adb, s-pack34.adb, s-pack35.adb, s-pack36.adb, s-pack37.adb, s-pack38.adb, s-pack39.adb, s-pack40.adb, s-pack41.adb, s-pack42.adb, s-pack43.adb, s-pack44.adb, s-pack45.adb, s-pack46.adb, s-pack47.adb, s-pack48.adb, s-pack49.adb, s-pack50.adb, s-pack51.adb, s-pack52.adb, s-pack53.adb, s-pack54.adb, s-pack55.adb, s-pack56.adb, s-pack57.adb, s-pack58.adb, s-pack59.adb, s-pack60.adb, s-pack61.adb, s-pack62.adb, s-pack63.adb, s-pooloc.adb, s-poosiz.adb, s-scaval.adb, s-sequio.adb, s-shasto.adb, s-stalib.ads, s-stratt.adb, s-strcom.adb, s-taasde.adb, s-tasdeb.adb, s-tasuti.ads, s-tataat.ads, s-tpoben.ads, s-valenu.adb, s-widenu.adb, s-wwdenu.adb, s-addope.adb, a-stzmap.adb, a-ztcstr.adb, a-ztexio.adb, s-osinte-linux-hppa.ads: Replace Unchecked_* by Ada.Unchecked_* From-SVN: r125359
Robert Dewar committed -
2007-04-20 Thomas Quinot <quinot@adacore.com> Bob Duff <duff@adacore.com> * g-soccon-freebsd.ads, g-soccon-vxworks.ads:, g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads, g-soccon-vms.ads, g-soccon-tru64.ads: Add new constant Thread_Blocking_IO, always True by default, set False on a per-runtime basis. (Need_Netdb_Buffer): New constant. * g-stheme.adb, g-sttsne.ads, g-sttsne-locking.ads, g-sttsne-locking.adb, g-sttsne-vxworks.ads, g-sttsne-vxworks.adb: New files. * g-socthi-vxworks.ads, g-socthi-vxworks.adb, g-socthi-vms.ads, g-socthi-vms.adb (Safe_Gethostbyname, Safe_Gethostbyaddr, Safe_Getservbyname, Safe_Getservbyport): Use new child package Task_Safe_NetDB (Host_Error_Messages): Add stub body. (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close. * g-soccon-mingw.ads: Add Windows-specific constants. (Need_Netdb_Buffer): New constant. (GNAT.Sockets.Thin.C_Inet_Addr, Windows version): Remove useless Ada wrapper and import inet_addr(3) from the standard sockets library directly instead. (In_Addr): Add alignment clause. (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close. From-SVN: r125358
Thomas Quinot committed -
* config/i386/i386.c (enum pta_flags): Move out of struct scope... (struct pta): ...from here. Change flags to unsigned to avoid excessive casting (as it is used as a bit mask). (override_options): Add casts according to the coding convenventions. (x86_64_elf_unique_section): Likewise. (examine_argument): Avoid using C++ keywords as variable names. (construct_container): Likewise. (legitimize_pic_address): Likewise. (get_dllimport_decl): Cast according to the coding conventions. Use type safe memory macros. (legitimize_address): Cast according to the coding conventions. (emit_i387_cw_initialization): Corrected the type of slot to enum ix86_stack_slot. (ix86_init_machine_status): Use type safe memory macros. (bdesc_pcmpestr): Use UNKNOWN instead of integer 0. (bdesc_pcmpistr): Likewise. (bdesc_crc32): Likewise. (bdesc_sse_3arg): Likewise. (bdesc_2arg): Likewise. (bdesc_1arg): Likewise. (ix86_expand_sse_pcmpestr): Cast according to the coding conventions. (ix86_expand_sse_pcmpistr): Likewise. (ix86_expand_vec_set_builtin): Use EXPAND_NORMAL instead of integer 0. (ix86_builtin_vectorized_function): Change the type of fn to unsigned int to match the langhook definition. (ix86_builtin_conversion): Change the type of code to unsigned init to match the langhook definition. (ix86_preferred_reload_class): Avoid using C++ keywords as variable names. (ix86_preferred_output_reload_class): Likewise. (ix86_cannot_change_mode_class): Likewise. (ix86_memory_move_cost): Likewise. (ix86_rtx_costs): Cast the outer_code parameter to enum rtx_code to avoid excessive casting later on. (x86_output_mi_thunk): Avoid using C++ keywords as variable names. From-SVN: r125357
Thomas Neumann committed -
* config/i386/sse.md (sse4_2_pcmpestr_cconly): Prefer pcmpestrm as flags setting insn. (sse4_2_pcmpistr_cconly): Prefer pcmpistrm as flags setting insn. * config/i386/i386.md (UNSPEC_ROUNDP, UNSPEC_ROUNDS): Remove. (UNSPEC_ROUND): New. ("sse4_1_round<mode>2"): New insn pattern. ("rint<mode>2"): Expand using "sse4_1_round<mode>2" pattern for SSE4.1 targets. ("floor<mode>2"): Rename from floordf2 and floorsf2. Macroize expander using SSEMODEF mode macro. Expand using "sse4_1_round<mode>2" pattern for SSE4.1 targets. ("ceil<mode>2"): Rename from ceildf2 and ceilsf2. Macroize expander using SSEMODEF mode macro. Expand using "sse4_1_round<mode>2" pattern for SSE4.1 targets. ("btrunc<mode>2"): Rename from btruncdf2 and btruncsf2. Macroize expander using SSEMODEF mode macro. Expand using "sse4_1_round<mode>2" pattern for SSE4.1 targets. * config/i386/sse.md ("sse4_1_roundpd", "sse4_1_roundps"): Use UNSPEC_ROUND instead of UNSPEC_ROUNDP. ("sse4_1_roundsd", "sse4_1_roundss"): Use UNSPEC_ROUND instead of UNSPEC_ROUNDS. From-SVN: r125356
Uros Bizjak committed -
* lambda.h (build_linear_expr): New. * lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression): Use build_linear_expr, call fold and force_gimple_operand. (lambda_loopnest_to_gcc_loopnest): Check that there is something to insert. * testsuite/gcc.dg/tree-ssa/ltrans-6.c: New. Co-Authored-By: Sebastian Pop <sebpop@gmail.com> From-SVN: r125355
Jan Sjodin committed -
2007-06-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR testsuite/18923 * gfortran.dg/invalid_contains_1.f90: New test. * gfortran.dg/invalid_contains_2.f90: New test. From-SVN: r125353
Jerry DeLisle committed -
2007-06-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR testsuite/32057 * gfortran.dg/secnds.f: Update test to avoid roundoff errors and midnight issues. From-SVN: r125352
Jerry DeLisle committed -
From-SVN: r125350
GCC Administrator committed
-
- 05 Jun, 2007 1 commit
-
-
2007-06-05 Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR testsuite/25241 testsuite/ * gcc.dg/invalid-call-1.c: Use dg-warning to match the warning and dg-message to match de note. * gcc.dg/pr26570.c: Use dg-message for a note. * gcc.dg/pr29254.c: Use dg-message for generic output and use dg-error instead of dg-warning because of -Werror. * gcc.dg/glibc-uclibc-1.c: Use dg-message for output that is neither an error, nor a warning. * gcc.dg/glibc-uclibc-2.c: Likewise * gcc.dg/cpp/19940712-1.c: Likewise. From-SVN: r125347
Manuel López-Ibáñez committed
-