aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2004-12-08* config/i386/i386.md: Use FLAGS_REG everywhere.Richard Henderson2-171/+176
From-SVN: r91927
2004-12-09mips.c (mips_scalar_mode_supported_p): Rewrite to avoid call to default ↵Eric Christopher2-9/+29
function. 2004-12-08 Eric Christopher <echristo@redhat.com> * config/mips/mips.c (mips_scalar_mode_supported_p): Rewrite to avoid call to default function. From-SVN: r91925
2004-12-09Daily bump.GCC Administrator1-1/+1
From-SVN: r91923
2004-12-08typeck.c: Remove DOS line endings.Kelley Cook2-6/+10
2004-12-08 Kelley Cook <kcook@gcc.gnu.org> * typeck.c: Remove DOS line endings. From-SVN: r91919
2004-12-08intrinsic.c (gfc_convert_type_warn): Propagate the input shape to the output ↵Richard Henderson3-2/+26
expression. * intrinsic.c (gfc_convert_type_warn): Propagate the input shape to the output expression. * iresolve.c (gfc_resolve_cshift, gfc_resolve_eoshift): Suppress warning conversion. (gfc_resolve_reshape): Force convert SHAPE and ORDER parameters to index kind. From-SVN: r91917
2004-12-08re PR middle-end/17982 (stop calling assemble_external before final assembly ↵Zack Weinberg5-19/+65
output time) PR 17982 * varasm.c (pending_assemble_externals): New static. (assemble_external_real): Meat of assemble_external split out to this new function. (process_pending_assemble_externals): New function. (assemble_external): Use gcc_assert. If flag_unit_at_a_time is true and the basic test passes, merely cons the decl onto the pending list to be handled later. * tree.h: Declare process_pending_assemble_externals. * cgraphunit.c (cgraph_optimize): Call it. * config/h8300/h8300.h: Do not define ASM_OUTPUT_EXTERNAL. From-SVN: r91914
2004-12-08cfgloopmanip.c (create_preheader): Speed up by "unrolling" and simplifying ↵Kazu Hirata2-6/+13
FOR_EACH_EDGE. * cfgloopmanip.c (create_preheader): Speed up by "unrolling" and simplifying FOR_EACH_EDGE. From-SVN: r91913
2004-12-08Add missing PR numbers for previous commit:Tobias Schlüter2-0/+2
fortran/ PR fortran/18826 * resolve.c (resolve_code): Impose correct restrictions on assigned variable. testsuite/ PR fortran/18826 * gfortran.dg/assign_1.f90: New test. From-SVN: r91902
2004-12-08re PR java/18811 (rhug build problem, regression?)Andrew Haley1-0/+1
2004-12-07 Andrew Haley <aph@redhat.com> PR java/18811: * jcf-parse.c (load_class): Remove sanity test for missing inner class file. From-SVN: r91901
2004-12-08jcf-parse.c (load_class): Remove sanity test for missing inner class file.Andrew Haley2-6/+5
2004-12-07 Andrew Haley <aph@redhat.com> * jcf-parse.c (load_class): Remove sanity test for missing inner class file. From-SVN: r91900
2004-12-08* decl.c (gfc_match_end): Use locus of END when eos is an error.Tobias Schlüter2-2/+4
From-SVN: r91899
2004-12-08resolve.c (resolve_code): Impose correct restrictions on assigned variable.Tobias Schlüter4-3/+24
fortran/ * resolve.c (resolve_code): Impose correct restrictions on assigned variable. testsuite/ * gfortran.dg/assign_1.f90: New test. From-SVN: r91898
2004-12-08Resync.Arnaud Charlet1-0/+380
From-SVN: r91897
2004-12-08g-socket.ads (Get_Host_By_Address, [...]): Clarify documentation of the ↵Arnaud Charlet20-529/+994
behaviour of these functions when... * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify documentation of the behaviour of these functions when passed an IP address that has no record in the system hosts database and no reverse record in the DNS. * cstand.adb, a-tags.ads: Fix typos in comment. * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb, exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb, sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb, s-poosiz.ads: Minor reformatting * make.adb: Minor reformatting Add some ??? comments asking for more comments * s-poosiz.adb: Minor reformatting Add comments on alignment requirement * sinfo.ads: Remove obsolete comment and fix typo. * gnat_ugn.texi: Update the section "The GNAT Driver and Project Files" with the new tool and package names. Reformatting to suppress most of the warnings for line too long Document the new section "Project Search Path:" in the output of gnatls -v. Add gnatmetric section * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps and -eit to -ept. Added qualifier /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec. From-SVN: r91896
2004-12-08* vxaddr2line.adb: Add support for x86 vxworksArnaud Charlet1-4/+8
From-SVN: r91895
2004-12-08sem_ch8.adb (Find_Type): If node is a reference to 'Base and the prefix is ↵Arnaud Charlet1-26/+26
not a scalar type... * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the prefix is not a scalar type, place error message on prefix, not on type entity. From-SVN: r91894
2004-12-08sem_ch5.adb (One_Bound): Remove call to Resolve...Arnaud Charlet1-8/+21
* sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs to be resolved later as part of Analyze_Iteration_Scheme's call to Make_Index. From-SVN: r91893
2004-12-08sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram used to ↵Arnaud Charlet1-43/+68
record an implicit dereference as a read operation on... * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram used to record an implicit dereference as a read operation on its prefix when operating under -gnatc. Necessary to avoid spurious 'variable assigned but never read' warnings in that mode. (Process_Indexed_Component, Analyze_Selected_Component): When the prefix is a non-overloaded implicit dereference, call the above subprogram to ensure proper recording of references. From-SVN: r91892
2004-12-08nlists.adb (Prepend_Debug): Remove parameters and nest within Prepend.Arnaud Charlet2-96/+97
* nlists.adb (Prepend_Debug): Remove parameters and nest within Prepend. (Remove_Next_Debug): Same fix * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do maintain back pointers now, though we did not used to, and comments were out of date). (Prepend): Remove pragma Inline. (Remove_Next): Same cleanup From-SVN: r91891
2004-12-08misc.c (gnat_types_compatible_p, [...]): Remove.Arnaud Charlet3-36/+18
* misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P): Remove. (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New. * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls. * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed exception. (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it. From-SVN: r91890
2004-12-08* Makefile.in: Add support for foreign threads on VMS.Arnaud Charlet1-1/+1
From-SVN: r91889
2004-12-08lib-xref.adb (Generate_Reference): Handle properly a reference to an entry ↵Arnaud Charlet2-23/+45
formal... * lib-xref.adb (Generate_Reference): Handle properly a reference to an entry formal, when an accept statement has a pragma Unreferenced for it. * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag and the Has_Pragma_Unreferenced flag for each formal before analyzing the body, to ensure that warnings are properly emitted for each accept statement of a given task entry. From-SVN: r91888
2004-12-08* g-regpat.adb: (Match): Change a misuse of or to or elseArnaud Charlet1-1/+1
From-SVN: r91887
2004-12-08g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a ↵Arnaud Charlet1-1/+5
compile-time warning. * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a compile-time warning. From-SVN: r91886
2004-12-08gnatmem.adb, [...]: Output the copyright message on a separate line from the ↵Arnaud Charlet5-11/+10
version message. * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb: Output the copyright message on a separate line from the version message. From-SVN: r91885
2004-12-08exp_dist.adb (Specific_Build_General_Calling_Stubs, [...]): New subprograms.Arnaud Charlet4-754/+5745
* exp_dist.adb (Specific_Build_General_Calling_Stubs, Specific_Build_Stub_Target): New subprograms. (Build_Subprogram_Calling_Stubs): Make this procedure independent from the PCS implementation used, using the above PCS-customized subprograms. Minor reformatting. (PolyORB_Support.Helpers): New subunit containing supporting subprograms for generation of DSA code targeted to the PolyORB PCS. (Add_Stub_Type): Rewrite to isolate the parts that are specific to one implementation of the partition communication subsystem in ancillary subprograms. (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type, PolyORB_Support.Build_Stub_Type): New subrograms containing the PCS-specific part of Add_Stub_Type. (Insert_Partition_Check): Use runtime library function to perform E.4(19) check. * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref (RE_Same_Partition): New entity, from s-parint. * s-parint.ads, s-parint.adb (Same_Partition): New subprogram. From-SVN: r91884
2004-12-08exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of construct is ↵Arnaud Charlet1-4/+10
rewritten... * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of construct is rewritten, preserve end label to permit source navigation. From-SVN: r91883
2004-12-08exp_ch6.adb (Expand_Call): Add comment on handling of back end intrinsicArnaud Charlet3-43/+91
* exp_ch6.adb (Expand_Call): Add comment on handling of back end intrinsic * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic, leaving call unchanged. This deals with the case where the pragma Import specified an external name, to be handled by the back end. * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of subprogram which is Imported with convention Intrinsic if an External_Name argument is specified. (Process_Import_Or_Interface): Properly diagnose link name argument. (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion with Sem_Ch6.Cannot_Inline. (Process_Inline): Provide separate warning for inapplicable inline pragma. (Cannot_Inline): Reject subprograms that have an at_end handler, so that treatment is uniform on different targets. From-SVN: r91882
2004-12-08exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component with an ↵Arnaud Charlet3-22/+28
implicit dereference as its prefix... * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component with an implicit dereference as its prefix, use Insert_Explicit_Dereference instead of merely rewriting the prefix into an explicit dereference. This ensures that a reference to the original prefix is generated, if appropriate. * sem_util.adb (Insert_Explicit_Dereference): When an implicit dereference is rewritten to an explicit one, generate a reference to the entity denoted by its prefix using the original prefix node, so the dereference can be properly recorded as a read of the denoted access value, if appropriate. * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from emitting 'assigned but never read' warning on a variable on the basis that it has an access type. (Check_References): Emit unreferenced warning when the scope is a subprogram body. From-SVN: r91881
2004-12-08* eval_fat.adb: Revert previous change.Arnaud Charlet1-33/+90
From-SVN: r91880
2004-12-08decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for ↵Arnaud Charlet2-36/+46
TYPE_SIZE_UNIT of result type if... * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for TYPE_SIZE_UNIT of result type if SIZE is not specified. (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation of a bitfield, which we know is useless and causes trouble because of alignment implications. * utils.c (create_var_decl): Set DECL_COMMON again on targets without BSS sections. (process_attributes): Clear DECL_COMMON again when a section attribute is present. (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT. (create_field_decl): Special case ADDRESSABLE negative to mean "no bitfield creation", to be used by make_aligning_type. Don't restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode fields claimed addressable still have to be bitfields. Use value_factor_p instead of a raw binop construction to check for the position's alignment. From-SVN: r91879
2004-12-08debug.adb: Document that -gnatdA automatically sets -gnatR3mArnaud Charlet4-72/+52
* debug.adb: Document that -gnatdA automatically sets -gnatR3m * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically set -gnatR3m mode. * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA flag. No longer needed now that we handle this in gnat1drv.adb. * repinfo.ads: Minor reformatting From-SVN: r91878
2004-12-08make.adb (Check_Mains, [...]): Adapt to name changes in package Prj ↵Arnaud Charlet25-2858/+3633
(Current_Spec_Suffix => Ada_Spec_Suffix... * make.adb (Check_Mains, Switches_Of): Adapt to name changes in package Prj (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix). Take into account Externally_Built attribute. * clean.adb (In_Extension_Chain): Always return False when one of the parameter is No_Project. (Clean_Project): Adapt to changes in package Prj (Lang_Ada => Ada_Language_Index). (Gnatclean): Adapt to change in package Prj.Pars (no parameter Process_Languages for procedure Parse). * gnatcmd.adb (Carg_Switches): New table. (GNATCmd): Put all switches following -cargs in the Carg_Switches table. Adapt to name changes in package Prj (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix). * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type Header_Num and function Hash are now declared in package Prj, not Prj.Com. * prj.adb (Suffix_Of): New function. (Set (Suffix)): New procedure. (Hash): One function moved from Prj.Com (Is_Present, Language_Processing_Data_Of): New functions (Set): Two new procedures (Add_Language_Name, Display_Language_Name): New procedures * prj.ads: (Suffix_Of): New function (Set (Suffix)): New procedure Add several types and tables for multi-language support. (Header_Num): Type moved from Prj.Com (Hash): Two functions moved from Prj.Com (Is_Present, Language_Processing_Data_Of): New functions (Set): Two new procedures (Add_Language_Name, Display_Language_Name): New procedures (Naming): Component name changes: Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix. Add new components: Impl_Suffixes, Supp_Suffixes. (Project_Data): New components: Externally_Built, Supp_Languages, First_Language_Processing, Supp_Language_Processing, Default_Linker, Default_Linker_Path. * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and new package Language_Processing with its attributes (Compiler_Driver, Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option, Binder_Driver, Default_Linker). * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj. (Header_Num): Type moved to package Prj * prj-env.adb: Adapt to name changes in package Prj (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix). * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by default to the project path, except the "-" is one of the directories in env var ADA_PROJECT_PATH. (Current_Project_Path): Global variable, replacing Project_Path that was in the body of Prj.Part. (Project_Path): New function (Set_Project_Path): New procedure Initialize Current_Project_Path during elaboration of the package Remove dependency on Prj.Com, no longer needed * prj-ext.ads (Project_Path): New function (Set_Project_Path): New procedure * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no suffix is defined for language <lang>. (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of accessing directly the components of Naming. (Look_For_Sources): Use Set (Suffix) to set the suffix of a language. Reorganise of this package. Break procedure Check in several procedures. * prj-nmsc.ads: Replace all procedures (Ada_Check, Other_Languages_Check and Language_Independent_Check) with a single procedure Check. * prj-pars.ads, prj-pars.adb (Parse): Remove parameter Process_Languages, no longer needed. * prj-part.adb (Project_Path): Move to the body of Prj.Ext as Current_Project_Path. Remove elaboration code, moved to the body of Prj.Ext Use new function Prj.Ext.Project_Path instead of old variable Project_Path. (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path. When comparing with project paths on the stack, first put the resolved path in canonical case. (Parse_Single_Project): Set the path name of the project file in the tree to the normalized path. * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove parameter Process_Languages, no longer needed. (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and Other_Languages_Check. * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path to store the resolved canonical path of the project file. Remove dependency to Prj.Com, no longer needed * prj-util.adb: Adapt to name changes in package Prj (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix). * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver, Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker, Externally_Built, Include_Option, Language_Processing. * makegpr.adb: Numerous changes due to changes in packages Prj and Prj.Nmsc. * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by default to the project path, except whe "-" is one of the directories in env var ADA_PROJECT_PATH. (Gnatls): In verbose mode, add the new section "Project Search Path:" From-SVN: r91877
2004-12-08back_end.adb (Scan_Back_End_Switches): Accept --param.Arnaud Charlet2-3/+4
* back_end.adb (Scan_Back_End_Switches): Accept --param. * lang-specs.h: Accept --param. From-SVN: r91876
2004-12-08atree.adb (Visit_Itype): Create a new name for the generated itype...Arnaud Charlet1-2/+12
* atree.adb (Visit_Itype): Create a new name for the generated itype, because the back-end may otherwise treat it as a redefinition of the old symbol. From-SVN: r91875
2004-12-08a-exexpr.adb (Others_Value, [...]): Change initial values from 16#BEEF# to ↵Arnaud Charlet1-2/+4
16#7FFF# to avoid exceeding Integer'Last... * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit targets (such as AAMP). From-SVN: r91874
2004-12-08s-intman-vxworks.adb (Notify_Exception): removed useless check for current ↵Arnaud Charlet2-18/+21
task being suspended. * s-intman-vxworks.adb (Notify_Exception): removed useless check for current task being suspended. * init.c (__gnat_clear_exception): added to reset VxWorks exception count. (__gnat_map_signal): removed test for current task being suspended. From-SVN: r91873
2004-12-08Add new tests for xstormy16Nick Clifton208-12/+7210
From-SVN: r91870
2004-12-08frv.c (frv_sort_insn_group): Always initialize packet_group->nop.Richard Sandiford2-0/+9
* config/frv/frv.c (frv_sort_insn_group): Always initialize packet_group->nop. From-SVN: r91867
2004-12-08re PR c++/18100 (template member with same name as class not rejected)Kriang Lerdsuwanakij4-0/+35
PR c++/18100 * decl.c (lookup_and_check_tag): Diagnose nested class with the same name as enclosing class. * g++.dg/lookup/name-clash4.C: New test. From-SVN: r91866
2004-12-08re PR c++/18672 (Segfault with simple template code)Nathan Sidwell4-11/+39
.: PR c++/18672 * gimplify.c (canonicalize_addr_expr): Cope with array of incomplete type. (gimplify_conversion): Remove redundant checks. testsuite: PR c++/18672 * g++.dg/opt/array1.C: New. From-SVN: r91865
2004-12-08* doc/trouble.texi (Non-bugs): Clarify empty loop removal.Nathan Sidwell2-5/+30
From-SVN: r91864
2004-12-08re PR c++/18803 (rejects access to operator() in template)Nathan Sidwell17-119/+174
cp: PR c++/18803 * cp-tree.h (REFERENCE_REF_P): New. (CPTI_TYPE_INFO_TYPE): Rename to ... (CPTI_CONST_TYPE_INFO_TYPE): ... here. (CPTI_TYPE_INFO_REF_TYPE): Remove. (type_info_type_node): Rename to ... (const_type_info_type_node): ... here. (type_info_ref_type): Remove. * call.c (build_user_type_conversion): Reformat. (resolve_args): Do not convert_from_reference. (build_object_call): Call convert_from_reference. (prep_operand): Do not convert_from_reference. (build_new_method_call): Likewise. * class.c (build_vfield_ref): Likewise. * cvt.c (convert_to_reference): Likewise. (convert_from_reference): Build INDIRECT_REF here, not with build_indirect_ref. (convert_force): Do not convert_from_reference. (build_expr_type_conversion): Likewise. * decl.c (grok_reference_init): Likewise. * decl2.c (delete_sanity): Likewise. * except.c (initialize_handler_parm): Use POINTER_TYPE_P. * init.c (build_dtor_call): Do not convert_from_reference. * parser.c (cp_parser_template_argument): Unwrap indirected reference. Allow TEMPLATE_PARM_INDEX as an object parm. * pt.c (tsubst_copy_and_build) <case INDIRECT_REF>: Use convert_from_reference, if indicated. <case CALL_EXPR>: Do not convert_from_reference. <case PARM_DECL, VAR_DECL>: Convert_from_reference if needed. (tsubst_initializer_list): Do not convert_from_reference. * rtti.c (init_rtti_processing): Adjust node creation. (throw_bad_typeid): Use const_type_info_type_node. Do not convert_from_reference. (typeid_ok_p): Use const_type_info_type_node. (build_typeid, get_typeid): Always return type_info typed node. (build_dynamic_cast_1): Dont convert_from_reference. Refactor. * semantics.c (finish_stmt_expr_expr): Do not convert_from_reference. (finish_id_expression): Convert_from_reference as appropriate. * typeck.c (decay_conversion): Do not convert_from_reference. (finish_class_member_access_expr): Likewise. (build_indirect_ref): Use POINTER_TYPE_P. (convert_arguments): Do not convert_from_reference. (build_modify_expr): Likewise. (convert_for_initialization): Likewise. * typeck2.c (build_x_arrow): Likewise. testsuite: PR c++/18803 * g++.dg/template/operator5.C: New. From-SVN: r91863
2004-12-08i386.c (output_387_binary_op, [...]): Fix is_sse condition.Uros Bizjak2-2/+7
* config/i386/i386.c (output_387_binary_op, ix86_prepare_fp_compare_args): Fix is_sse condition. From-SVN: r91862
2004-12-08re PR c/18867 (ICE on invalid switch quantity)Hans-Peter Nilsson2-1/+6
PR c/18867 * gcc.dg/noncompile/20041207.c: Fix typo in dg directive. From-SVN: r91861
2004-12-08i386-protos.h (ix86_split_fp_branch): New rtx argument.Uros Bizjak5-142/+162
* config/i386/i386-protos.h (ix86_split_fp_branch): New rtx argument. * config/i386/i386.c (output_fp_compare): Fix is_sse condition. Use EFLAGS_P only when fcomi insn should be used. Fix handling of eflags_p variable. Change alt table accordingly. For non-fcomi compare insn always use trailing fnstsw insn. Fix intmode calculation for ficom insn. (ix86_split_fp_branch): Add "rtx pushed" as new parameter. Call ix86_free_from_memory when "pushed" is specified. (ix86_expand_branch): Change call to ix86_split_fp_branch. * config/i386/i386.md (*cmpfp_0_sf, *cmpfp_0_df, *cmpfp_0_xf): Change eflags_p parameter in call to output_fp_compare. (*cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf): Remove. (*cmpfp_2_sf_1, *cmpfp_2_df_1, *cmpfp_2_xf_1): Rename to *cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf. Change eflags_p parameter in call to output_fp_compare. (*cmpfp_2_u): Remove. (*cmpfp_2_u_1): Rename to *cmpfp_2_u. Change eflags_p parameter in call to output_fp_compare. (*ficom_1): Remove insn definition and corresponding define_split. (*cmpfp_si): New insn definition. (*fp_jcc_8): New insn definition. Add new splitters for "memory_operand" and "register_operand". (define_split): Add new parameter in call to ix86_split_fp_branch. config/i386/predicates.md (float_operator): New predicate. From-SVN: r91856
2004-12-08c-common.c (verify_tree): Don't check code length if we know we are handling ↵Kazu Hirata5-35/+18
tcc_unary. * c-common.c (verify_tree): Don't check code length if we know we are handling tcc_unary. * print_tree.c (print_node): Remove code to handle RTL appearing as a part of a tree node. * tree-gimple.c (recalculate_side_effects): Rename fro as len. * tree.c (build1_stat): Don't check TREE_CODE_LENGTH. (PROCESS_ARG): Don't refer to fro. (build2_stat, build3_stat, build4_stat): Don't compute fro. From-SVN: r91855
2004-12-08re PR middle-end/18293 (Redundant copy operation introduced by expand)Roger Sayle3-6/+31
PR middle-end/18293 * expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Move definition earlier. (expand_mult): Special case powers of two to avoid synth_mult. * loop.c (product_cheap_p): Handle case where expand_mult does require/generate any instructions (i.e. multiplication by zero). From-SVN: r91851
2004-12-07tree-pretty-print.c (dump_array_domain): Split out from dump_generic_node; ↵Richard Henderson2-42/+39
fix off-by-one error on zero-based array bounds. * tree-pretty-print.c (dump_array_domain): Split out from dump_generic_node; fix off-by-one error on zero-based array bounds. (dump_generic_node): Use it. (print_declaration): Likewise. From-SVN: r91850
2004-12-08invoke.texi: Adjust default values for large-function-growth and ↵Richard Guenther2-6/+15
inline-unit-growth to match... * doc/invoke.texi: Adjust default values for large-function-growth and inline-unit-growth to match params.def. Clarify used algorithm. From-SVN: r91845