- 27 May, 2008 1 commit
-
-
From-SVN: r135965
GCC Administrator committed
-
- 26 May, 2008 39 commits
-
-
rs6000.c (rs6000_legitimize_tls_address): Generate new tls_gd_* and tls_ld_* insns instead of an insn sequence. 2008-05-26 Steven Bosscher <stevenb.gcc@gmail.com> * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Generate new tls_gd_* and tls_ld_* insns instead of an insn sequence. * config/rs6000/rs6000.md (TLSmode, tls_abi_suffix, tls_insn_suffix, tls_sysv_suffix): New mode and mode attribute iterators. (tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64): Remove. (lts_gd_aix*, tls_gd_sysv*, tls_ld_aix*, tls_ld_sysv*): New patterns. (tls_dtprel_*, tls_dtprel_ha_*, tls_dtprel_lo_*, tls_got_dtprel_*, tls_tprel_*, tls_tprel_ha_*, tls_tprel_lo_*, tls_got_tprel_*, tls_tls_*): Merge 32 bit and 64 bit variants using aforementioned iterators. From-SVN: r135961
Steven Bosscher committed -
2008-05-26 Daniel Franke <franke.daniel@gmail.com> * cpp.c (cpp_define_builtins): Fixed warning about comment. From-SVN: r135958
Daniel Franke committed -
2008-05-26 Daniel Franke <franke.daniel@gmail.com> * fortran/cpp.c (cpp_define_builtins): Remove usage of TARGET_* macros, added FIXME instead. From-SVN: r135956
Daniel Franke committed -
2008-05-26 Paolo Carlini <paolo.carlini@oracle.com> * include/c_global/cmath (pow(float, int), pow(double, int), pow(long double, int)): Do not define in C++0x mode, per DR 550. * include/tr1_impl/cmath (pow): Do not bring in unconditionally from namespace std. * include/tr1/cmath (pow(double, double), pow(float, float), pow(long double, long double), pow(_Tp, _Up)): Define. * include/tr1/complex (pow): Do not bring in from namespace std. (pow(const std::complex<_Tp>&, int), pow(const std::complex<_Tp>&, const _Tp&), pow(const _Tp&, const std::complex<_Tp>&), pow(const std::complex<_Tp>&, const std::complex<_Tp>&)): Define. * include/tr1_impl/complex (pow(const std::complex<_Tp>&, const _Up&), pow(const _Tp&, const std::complex<_Up>&), pow(const std::complex<_Tp>&, const std::complex<_Up>&)): Always define. * doc/xml/manual/intro.xml: Add an entry for DR 550. * testsuite/26_numerics/headers/cmath/dr550.cc: New. * testsuite/tr1/8_c_compatibility/cmath/overloads.cc: Adjust. From-SVN: r135955
Paolo Carlini committed -
PR tree-optimization/36329 * tree.h (CALL_CANNOT_INLINE_P): Add access check. * tree-gimple.h (CALL_STMT_CANNOT_INLINE_P): New macro. * cgraphbuild.c (initialize_inline_failed): Use the latter macro in lieu of the former. * ipa-inline.c (cgraph_mark_inline): Likewise. (cgraph_decide_inlining_of_small_function): Likewise. (cgraph_decide_inlining): Likewise. (cgraph_decide_inlining_incrementally): Likewise. From-SVN: r135954
Eric Botcazou committed -
avr.md ("call_prologue_saves"): Use hi8(gs())/lo8(gs()) instead of pm_lo8/pm_hi8 to makes this call working on avr6. * config/avr/avr.md ("call_prologue_saves"): Use hi8(gs())/lo8(gs()) instead of pm_lo8/pm_hi8 to makes this call working on avr6. * config/avr/avr.c (expand_prologue): Tune "call_prologue" optimization for 'avr6' architecture. Co-Authored-By: Anatoly Sokolov <aesok@post.ru> From-SVN: r135953
Tristan Gingold committed -
PR target/34932 * config/avr/avr.md (*addhi3_zero_extend2): Remove. From-SVN: r135952
Andy Hutchinson committed -
From-SVN: r135951
Arnaud Charlet committed -
2008-05-26 Sergey Rybin <rybin@adacore.com> * tree_io.ads (ASIS_Version_Number): Update because of the changes made in front-end From-SVN: r135950
Sergey Rybin committed -
From-SVN: r135949
Arnaud Charlet committed -
From-SVN: r135948
Arnaud Charlet committed -
2008-05-26 Doug Rupp <rupp@adacore.com> * s-vaflop-vms-alpha.adb: Remove System.IO use clause, to prevent spurious ambiguities when package is access through rtsfind. From-SVN: r135947
Doug Rupp committed -
From-SVN: r135946
Arnaud Charlet committed -
From-SVN: r135945
Arnaud Charlet committed -
From-SVN: r135944
Arnaud Charlet committed -
2008-05-26 Richard Guenther <rguenther@suse.de> * tree-ssa-sccvn.c (expr_has_constants): Declare. (visit_reference_op_load): Initialize VN_INFO->has_constants properly. From-SVN: r135943
Richard Guenther committed -
2008-05-26 Eric Botcazou <ebotcazou@adacore.com> * s-casi16.adb (Uhalf): Rewrite it as integer with small alignment. (Compare_Array_S16): Adjust for above change. * s-casi32.adb (Uword): Likewise. (Compare_Array_S32): Likewise. * s-casi64.adb (Uword): Likewise. (Compare_Array_S64): Likewise. * s-caun16.adb (Uhalf): Likewise. (Compare_Array_U16): Likewise. * s-caun32.adb (Uword): Likewise. (Compare_Array_U32): Likewise. * s-caun64.adb (Uword): Likewise. (Compare_Array_U64): Likewise. From-SVN: r135942
Eric Botcazou committed -
2008-05-26 Gary Dismukes <dismukes@adacore.com> * exp_ch3.adb (Expand_N_Object_Declaration): Remove checks for No_Default_Initialization, which is now delayed until the freeze point of the object. Add a comment about deferral of the check. * freeze.adb (Freeze_Entity): The check for No_Default_Initialization on objects is moved here. From-SVN: r135941
Gary Dismukes committed -
From-SVN: r135940
Arnaud Charlet committed -
From-SVN: r135939
Arnaud Charlet committed -
2008-05-26 Gary Dismukes <dismukes@adacore.com> * exp_ch3.adb (Build_Array_Init_Proc): Only set Init_Proc to a dummy init proc entity when there is actual default initialization associated with the component type, to avoid spurious errors on objects of scalar array types that are marked Is_Public when No_Default_Initialization applies. From-SVN: r135938
Gary Dismukes committed -
* s-vaflop.adb: (Return_D, Return_F, Return_G): New functions. * s-vaflop.ads: (Return_D, Return_F, Return_G): New functions. * exp_vfpt.adb: (Expand_Vax_Foreign_Return): New procedure * exp_vfpt.ads: (Expand_Vax_Foreign_Return): New procedure * rtsfind.ads: (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Ids (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Unit_Table elements * exp_ch6.adb: Import Exp_Vfpt (Expand_N_Function_Call): Call Expand_Vax_Foreign_Return. * s-vaflop-vms-alpha.adb: (Return_D, Return_F, Return_G): New functions. From-SVN: r135937
Doug Rupp committed -
2008-05-26 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb: (Resolve_Attribute, case 'address): S (A .. B)' address can be safely converted to S (A)'address only if A .. B is known to be a non-null range. From-SVN: r135936
Ed Schonberg committed -
* rtsfind.ads, rtsfind.adb: (RE_Get_RACW): New runtime library entity provided by PolyORB s-parint. (Check_RPC): Support per-PCS-kind API versioning. exp_dist.ads, exp_dist.adb: (Build_Stub_Tag, Get_Stub_Elements): New utility subprograms. (PolyORB_Support.Add_RACW_From_Any): Offload common code to new runtime library function Get_RACW. (PolyORB_Support.Add_RACW_To_Any): Offload common code to new runtime library function Get_Reference. (PolyORB_Support.Add_RACW_Read_Attribute): Use Get_RACW instead of going through an intermediate Any. (PolyORB_Support.Add_RACW_Write_Attribute): Use Get_Reference instead of going through an intermediate Any. * sem_dist.adb: Minor reformatting. From-SVN: r135932
Thomas Quinot committed -
2008-05-26 H.J. Lu <hongjiu.lu@intel.com> PR middle-end/36253 * caller-save.c (insert_restore): Verify alignment of spill space. (insert_save): Likewise. * cfgexpand.c (LOCAL_ALIGNMENT): Removed. * defaults.h (LOCAL_ALIGNMENT): New. Provide default. (STACK_SLOT_ALIGNMENT): Likewise. * function.c (LOCAL_ALIGNMENT): Removed. (get_stack_local_alignment): New. (assign_stack_local): Use it. Set alignment on stack slot. (assign_stack_temp_for_type): Use get_stack_local_alignment. * config/i386/i386.h (LOCAL_ALIGNMENT): Updated. (STACK_SLOT_ALIGNMENT): New. * config/i386/i386.c (ix86_local_alignment): Handle caller-save stack slot in XFmode. * doc/tm.texi (STACK_SLOT_ALIGNMENT): New. From-SVN: r135927
H.J. Lu committed -
From-SVN: r135926
Arnaud Charlet committed -
From-SVN: r135925
Arnaud Charlet committed -
2008-05-26 Thomas Quinot <quinot@adacore.com> * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add missing guard on condition for assignment to temporary. From-SVN: r135924
Thomas Quinot committed -
2008-05-26 Javier Miranda <miranda@adacore.com> * einfo.ads (Abstract_Interface_Alias): Renamed as Interface_Alias. (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias. (Is_Internal): Adding documentation on internal entities that have attribute Interface_Alias (old attribute Abstract_Interface_Alias) * einfo.adb (Abstract_Interface_Alias): Renamed as Interface_Alias. (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias. Added assertion to force entities with this attribute to have attribute Is_Internal set to True. (Next_Tag_Component): Simplify assertion using attribute Is_Tag. * sem_ch3.adb (Derive_Interface_Subprograms): This subprogram has been renamed as Derive_Progenitor_Subprograms. In addition, its code is a new implementation. (Add_Interface_Tag_Components): Remove special management of synchronized interfaces. (Analyze_Interface_Declaration): Minor reformating (Build_Derived_Record_Type): Minor reformating (Check_Abstract_Overriding): Avoid reporting error in case of abstract predefined primitive inherited from interface type because the body of internally generated predefined primitives of tagged types are generated later by Freeze_Type (Derive_Subprogram): Avoid generating an internal name if the parent subprogram overrides an interface primitive. (Derive_Subprograms): New implementation that keeps separate the management of tagged types not implementing interfaces, from tagged types that implement interfaces. (Is_Progenitor): New implementation. (Process_Full_View): Add documentation (Record_Type_Declaration): Replace call to Derive_Interface_Subprograms by call to Derive_Progenitor_Subprograms. * sem_ch6.ads (Is_Interface_Conformant): New subprogram. (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument Skip_Controlling_Formals. * sem_ch6.adb (Is_Interface_Conformant): New subprogram. (Check_Conventions): New implementation. Remove local subprogram Skip_Check. Remove formal Search_From of routine Check_Convention. (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument Skip_Controlling_Formals. (New_Overloaded_Entity): Enable addition of predefined dispatching operations. * sem_disp.ads (Find_Primitive_Covering_Interface): New subprogram. * sem_disp.adb (Check_Dispatching_Operation): Disable registering the task body procedure as a primitive of the corresponding tagged type. (Check_Operation_From_Private_Type): Avoid adding twice an entity to the list of primitives. (Find_Primitive_Covering_Interface): New subprogram. (Override_Dispatching_Operation): Add documentation. * sem_type.adb (Covers): Minor reformatings * sem_util.ads (Collect_Abstract_Interfaces): Renamed as Collect_Interfaces. Rename formal. (Has_Abstract_Interfaces): Renamed as Has_Interfaces. (Implements_Interface): New subprogram. (Is_Parent): Removed. (Primitive_Names_Match): New subprogram. (Remove_Homonym): Moved here from Derive_Interface_Subprograms. (Ultimate_Alias): New subprogram. * sem_util.adb (Collect_Abstract_Interfaces): Renamed as Collect_Interfaces. Remove special management for synchronized types. Rename formal. Remove internal subprograms Interface_Present_In_Parent and Add_Interface. (Has_Abstract_Interfaces): Renamed as Has_Interfaces. Replace assertion on non-record types by code to return false in such case. (Implements_Interface): New subprogram. (Is_Parent): Removed. No special management is now required for synchronized types covering interfaces. (Primitive_Names_Match): New subprogram. (Remove_Homonym): Moved here from Derive_Interface_Subprograms. (Ultimate_Alias): New subprogram. * exp_ch3.adb (Add_Internal_Interface_Entities): New subprogram. Add internal entities associated with secondary dispatch tables to the list of tagged type primitives that are not interfaces. (Freeze_Record_Type): Add new call to Add_Internal_Interface_Entities (Make_Predefined_Primitive_Specs): Code reorganization to improve the management of predefined equality operator. In addition, if the type has an equality function corresponding with a primitive defined in an interface type, the inherited equality is abstract as well, and no body can be created for it. * exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved from exp_util to exp_disp. (Is_Predefined_Interface_Primitive): New subprogram. Returns True if an entity corresponds with one of the predefined primitives required to implement interfaces. Update copyright notice. * exp_disp.adb (Set_All_DT_Position): Add assertion. Exclude from the final check on abstract subprograms all the primitives associated with interface primitives because they must be visible in the public and private part. (Write_DT): Use Find_Dispatching_Type to locate the name of the interface type. This allows the use of this routine, for debugging purposes, when the tagged type is not fully decorated. (Is_Predefined_Dispatching_Operation): Moved from exp_util to exp_disp. Factorize code calling new subprogram Is_Predefined_Interface_Primitive. (Is_Predefined_Interface_Primitive): New subprogram. Returns True if an entity corresponds with one of the predefined primitives required to implement interfaces. * exp_util.adb (Find_Interface_ADT): New implementation (Find_Interface): Removed. * sprint.adb (Sprint_Node_Actual): Generate missing output for the list of interfaces associated with nodes N_Formal_Derived_Type_Definition and N_Private_Extension_Declaration. From-SVN: r135923
Javier Miranda committed -
2008-05-26 Kai Tietz <kai.tietz@onevision.com> PR/36321 * config/i386/i386.md (allocate_stack_worker_64): Make sure argument operand in rax isn't removed. 2008-05-26 Kai Tietz <kai.tietz@onevision.com> * gcc-c.torture/execute/pr36321.c: New. From-SVN: r135921
Kai Tietz committed -
From-SVN: r135920
Arnaud Charlet committed -
From-SVN: r135919
Arnaud Charlet committed -
2008-05-26 Ed Schonberg <schonberg@adacore.com> * exp_ch4.adb (Expand_Concatenate_Other): Add explicit constraint checks on the upper bound if the index type is a modular type, to prevent wrap-around computations when size is close to upper bound of type. From-SVN: r135918
Ed Schonberg committed -
From-SVN: r135917
Arnaud Charlet committed -
2008-05-26 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb (Expand_N_Type_Conversion): Minor code reformatting. Generate a tag check when the result subtype of a function, defined by an access definition, designates a specific tagged type. (Make_Tag_Check): New routine. From-SVN: r135916
Hristian Kirtchev committed -
From-SVN: r135915
Arnaud Charlet committed -
2008-05-26 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Remove_Parent): Use specification of instance to retrieve generic parent, to handle properly the case where the instance is a child unit. Add guard to handle properly wrapper packages. Minor reformatting From-SVN: r135914
Ed Schonberg committed -
2008-05-26 Richard Guenther <rguenther@suse.de> PR middle-end/36300 * fold-const.c (extract_muldiv_1): Use TYPE_OVERFLOW_WRAPS, not TYPE_UNSIGNED. Use TYPE_PRECISION instead of GET_MODE_SIZE. * gcc.dg/pr36300-1.c: New testcase. * gcc.dg/pr36300-2.c: Likewise. From-SVN: r135913
Richard Guenther committed -
From-SVN: r135912
Arnaud Charlet committed
-