aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2004-07-13target-def.h (TARGET_MUST_PASS_IN_STACK): New.Richard Henderson46-336/+242
* target-def.h (TARGET_MUST_PASS_IN_STACK): New. * target.h (struct gcc_target): Add calls.must_pass_in_stack. * expr.h (MUST_PASS_IN_STACK): Remove. * system.h (MUST_PASS_IN_STACK): Poison. * tree.h (must_pass_in_stack_var_size): Declare. (must_pass_in_stack_var_size_or_pad): Declare. * calls.c (must_pass_in_stack_var_size): New. (must_pass_in_stack_var_size_or_pad): Rename from default_must_pass_in_stack. * config/alpha/alpha.c (unicosmk_must_pass_in_stack): New. (TARGET_MUST_PASS_IN_STACK): New. * config/alpha/unicosmk.h (MUST_PASS_IN_STACK): Remove. * config/fr30/fr30.c (fr30_must_pass_in_stack): New. (TARGET_MUST_PASS_IN_STACK): New. * config/fr30/fr30.h (MUST_PASS_IN_STACK): Remove. * config/frv/frv.c (frv_must_pass_in_stack): New. (TARGET_MUST_PASS_IN_STACK): New. * config/frv/frv.h (MUST_PASS_IN_STACK): Remove. * config/i386/i386-protos.h (ix86_must_pass_in_stack): Remove. * config/i386/i386.c (TARGET_MUST_PASS_IN_STACK): New. (ix86_must_pass_in_stack): Make static. * config/i386/i386.h (MUST_PASS_IN_STACK): Remove. * config/ia64/ia64.c (TARGET_MUST_PASS_IN_STACK): New. * config/ia64/ia64.h (MUST_PASS_IN_STACK): Remove. * config/m32r/m32r.c (TARGET_MUST_PASS_IN_STACK): New. * config/m32r/m32r.h (MUST_PASS_IN_STACK): Remove. * config/mcore/mcore-protos.h (mcore_must_pass_on_stack): Remove. * config/mcore/mcore.c (TARGET_MUST_PASS_IN_STACK): New. (mcore_must_pass_on_stack): Remove. * config/mcore/mcore.h (MUST_PASS_IN_STACK): Remove. * config/mips/mips.c (TARGET_MUST_PASS_IN_STACK): New. * config/mips/mips.h (MUST_PASS_IN_STACK): Remove. * config/pa/pa.c (TARGET_MUST_PASS_IN_STACK): New. * config/pa/pa.h (MUST_PASS_IN_STACK): Remove. * config/rs6000/aix.h (MUST_PASS_IN_STACK): Remove. * config/rs6000/linux64.h (MUST_PASS_IN_STACK): Remove. * config/rs6000/rs6000.c (rs6000_must_pass_in_stack): New. (TARGET_MUST_PASS_IN_STACK): New. * config/sh/sh.c (TARGET_MUST_PASS_IN_STACK): New. * config/sh/sh.h (MUST_PASS_IN_STACK): Remove. * config/sparc/sparc.c (TARGET_MUST_PASS_IN_STACK): New. * config/sparc/sparc.h (MUST_PASS_IN_STACK): Remove. * config/xtensa/xtensa.c (TARGET_MUST_PASS_IN_STACK): New. * config/xtensa/xtensa.h (MUST_PASS_IN_STACK): Remove. * doc/tm.texi (TARGET_MUST_PASS_IN_STACK): Update from MUST_PASS_IN_STACK. * calls.c, function.c, config/alpha/alpha.c, config/alpha/alpha.h, config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.c, config/cris/cris.h, config/fr30/fr30.c, config/fr30/fr30.h, config/frv/frv.c, config/i386/i386.c, config/iq2000/iq2000.c, config/mcore/mcore.c, config/mcore/mcore.h, config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h, config/rs6000/rs6000.c, config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c, config/xtensa/xtensa.c: Use target hook. From-SVN: r84606
2004-07-13Copy files from g77.f-torture/compile.David Billinghurst10-0/+1521
2004-07-13 David Billinghurst (David.Billinghurst@riotinto.com) Copy files from g77.f-torture/compile. Add "{ dg-do compile}". Other changes as noted * gfortran.dg/g77/19990905-0.f: XFAIL PR 16511 * gfortran.dg/g77/20010519-1.f: Add dg-warning as required * gfortran.dg/g77/20030115-1.f: Add dg-warning as required * gfortran.dg/g77/20030326-1.f: XFAIL PR 16511 * gfortran.dg/g77/970125-0.f: Add dg-excess-errors. * gfortran.dg/g77/980519-2.f: Declare hd_S,hd_Z,hd_T * gfortran.dg/g77/990115-1.f: Declare RANK as INTEGER * gfortran.dg/g77/alpha1.f: Separate declaration and DATA statement to conform to standard. Append alpha1.x for reference. * gfortran.dg/g77/xformat.f: Add dg-warning From-SVN: r84605
2004-07-13configure.ac (gcc_cv_as_offsetable_lo10): Fix a typo.Anthony Heading3-2/+7
2004-07-13 Anthony Heading <aheading@jpmorgan.com> * configure.ac (gcc_cv_as_offsetable_lo10: Fix a typo. * configure: Rebuilt. From-SVN: r84603
2004-07-13invoke.texi: Remove documentation for MIPS -mrnames option.Richard Sandiford4-337/+62
* doc/invoke.texi: Remove documentation for MIPS -mrnames option. * config/mips/mips.h (mips_reg_names): Don't declare. (MASK_NAME_REGS): Delete. Shuffle other MASK_* values down. (TARGET_NAME_REGS): Delete. (TARGET_SWITCHES): Remove -mrnames. (REGISTER_NAMES): Initialise with the old contents of mips_reg_names[]. (ADDITIONAL_REGISTER_NAMES): Remove entries for names mentioned in REGISTER_NAMES. * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Delete. (override_options): Remove handling of TARGET_NAME_REGS. From-SVN: r84602
2004-07-13* config/mips/mips.h (TARGET_*): Boolify.Richard Sandiford2-31/+36
From-SVN: r84601
2004-07-12Fix NM/AR propagation from toplevel for recursive makes.James E Wilson4-4/+116
* Makefile.in (AR): Use @AR@ not ar. (NM): New. (AR_FOR_TARGET): Use $(AR) not ar for native. (NM_FOR_TARGET): Use $(NM) not nm for native. * configure.ac: Add AC_CHECK_PROG calls for NM and AR. * configure: Regenerate. From-SVN: r84600
2004-07-12sparc.md (ashlsi3): Eliminate const 1 special case.David S. Miller2-4/+6
2004-07-12 David S. Miller <davem@nuts.davemloft.net> * config/sparc/sparc.md (ashlsi3): Eliminate const 1 special case. (ashldi3_sp64): Likewise. From-SVN: r84599
2004-07-13re PR target/16477 (Failure of gcc.c-torture/execute/strct-stdarg-1.c)John David Anglin3-15/+22
PR target/16477 * pa.c (function_arg): Update comment. * pa.h (BLOCK_REG_PADDING): Define. From-SVN: r84598
2004-07-13re PR tree-optimization/16461 (ICE: expected ssa_name, have integer_cst in ↵Zdenek Dvorak2-0/+11
independent_of_stmt_p, at tree-tailcall.c:210) PR tree-optimization/16461 * tree-tailcall.c (independent_of_stmt_p): Handle non-SSA name arguments of phi nodes. From-SVN: r84595
2004-07-12* doc/invoke.texi (Darwin Options): Document -gused and -gfull.Devang Patel2-1/+15
From-SVN: r84594
2004-07-13Daily bump.GCC Administrator1-1/+1
From-SVN: r84592
2004-07-13cpp.F: Copy from g77.f-torture/compile.David Billinghurst3-1/+25
2004-07-13 David Billinghurst (David.Billinghurst@riotinto.com) * gfortran.dg/g77/cpp.F: Copy from g77.f-torture/compile. Add {dg-do compile} directive. * gfortran.dg/g77/cpp2.F: Likewise From-SVN: r84589
2004-07-12cp-tree.h (get_aggr_typedef): Remove.Mark Mitchell3-31/+3
* cp-tree.h (get_aggr_typedef): Remove. * init.c (get_aggr_typedef): Likewise. From-SVN: r84588
2004-07-12re PR c++/5402 (ICE in pop_binding)Volker Reichelt4-0/+61
PR c++/5402 * g++.dg/lookup/name-clash1.C: New test. PR c++/9777 * g++.dg/lookup/name-clash2.C: New test. PR c++/12102 * g++.dg/lookup/name-clash3.C: New test. From-SVN: r84587
2004-07-12* name-lookup.c (push_class_level_binding): Simplify.Mark Mitchell2-48/+49
From-SVN: r84585
2004-07-12function.c (expand_function_start): Ensure r_save is in Pmode.Steve Ellcey5-0/+19
* function.c (expand_function_start): Ensure r_save is in Pmode. * calls.c (prepare_call_address): Ensure static_chain_value is in Pmode. * builtins.c (expand_builtin_nonlocal_goto): Ensure r_label and r_save_area are in Pmode. * config/ia64/ia64.c (ia64_initialize_trampoline): Ensure addr, fnaddr, and static_chain are in Pmode. From-SVN: r84584
2004-07-12re PR c++/16475 (FAIL: g++.dg/rtti/tinfo1.C scan-assembler _ZTIP9CTemplateIhE:)Andrew Pinski2-5/+10
2004-07-12 Andrew Pinski <apinski@apple.com> PR c++/16475 Revert: 2004-07-07 H.J. Lu <hongjiu.lu@intel.com> PR c++/16276 * rtti.c (emit_tinfo_decl): Turn off DECL_ONE_ONLY if typeinfo is not public. From-SVN: r84583
2004-07-12re PR target/16445 (Gcc 3.4 ICE on valid code)Vladimir Makarov2-1/+8
2004-07-12 Vladimir Makarov <vmakarov@redhat.com> PR target/16445 * config/ia64/ia64.c (bundling): Don't count ignored insns. From-SVN: r84580
2004-07-12target.h (struct gcc_target): Move gimplify_va_arg_expr next to ↵Richard Henderson5-8/+16
build_builtin_va_list. * target.h (struct gcc_target): Move gimplify_va_arg_expr next to build_builtin_va_list. * target-def.h (TARGET_GIMPLIFY_VA_ARG_EXPR): Update to match. * builtins.c (gimplify_va_arg_expr): Likewise. * gimplify.c (copy_if_shared_r): Likewise. From-SVN: r84578
2004-07-12passes.c (rest_of_decl_compilation): Don't defer call of assemble_variable ↵Alexandre Oliva2-1/+13
if its DECL_RTL is already set. * passes.c (rest_of_decl_compilation): Don't defer call of assemble_variable if its DECL_RTL is already set. From-SVN: r84576
2004-07-12cfgloop.h (struct loop): Add nb_iterations field.Sebastian Pop6-49/+2547
* cfgloop.h (struct loop): Add nb_iterations field. (current_loops): Declare. * tree-chrec.c (chrec_not_analyzed_yet, chrec_dont_know, chrec_known, count_ev_in_wider_type, chrec_contains_symbols_defined_in_loop): Remove the temporary hooks. * tree-flow-inline.h (loop_containing_stmt): New function. * tree-scalar-evolution.c: Add implementation. * tree-scalar-evolution.h: Add declarations. From-SVN: r84573
2004-07-12parser.c (cp_parser_class_head): Remove unused variable.Eric Christopher2-80/+83
2004-07-12 Eric Christopher <echristo@redhat.com> * parser.c (cp_parser_class_head): Remove unused variable. From-SVN: r84571
2004-07-12re PR java/16474 (gcjh: Illegal C++ produced for some non-gcj bytecode)Bryce McKinlay2-4/+8
2004-07-12 Bryce McKinlay <mckinlay@redhat.com> PR java/16474 gjavah.c (print_field_info): Emit constant only if field is static. From-SVN: r84570
2004-07-12re PR rtl-optimization/15921 (gcc.c-torture/compile/920501-4.c fails on ↵Vladimir Makarov3-4/+181
powerpc-*) 2004-07-12 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/15921 * Makefile.in (global.o): Add recog.h. * global.c (recog.h): Add the include-clause. (bb_info): New member earlyclobber. (allocate_bb_info, free_bb_info): Initialize/finish the new member. (earlyclobber_regclass, earlyclobber_regclass_length): The new global variables. (check_earlyclobber, regclass_intersect, mark_reg_use_for_earlyclobber, mark_reg_use_for_earlyclobber_1): New functions. (calculate_local_reg_bb_info): Calculate value of earlyclobber. (make_accurate_live_analysis): Modify pavin. From-SVN: r84569
2004-07-12decl.c (grok_op_properties): Reject [de-]allocation functions declared in a ↵Giovanni Bajo5-34/+40
namespace, or declared as static. * decl.c (grok_op_properties): Reject [de-]allocation functions declared in a namespace, or declared as static. * g++.dg/lookup/new2.C: New test. * g++.old-deja/g++.ns/new1.C: Remove (ill-formed). From-SVN: r84567
2004-07-12cp-tree.h (make_binfo): Remove.Nathan Sidwell4-62/+27
* cp-tree.h (make_binfo): Remove. * decl.c (xref_basetypes): Use make_tree_binfo directly. * tree.h (copy_base_binfos): Likewise. (make_binfo): Remove. From-SVN: r84566
2004-07-12missed in previous commitNathan Sidwell1-6/+7
From-SVN: r84563
2004-07-12call.c (build_user_type_conversion_1, [...]): Pass type directly to ↵Nathan Sidwell16-91/+186
lookup_fnfields & build_special_member_call. * call.c (build_user_type_conversion_1, build_new_op, check_constructor_callable, build_temp, perform_direct_initialization_of_possible): Pass type directly to lookup_fnfields & build_special_member_call. (build_special_member_call): Accept a type, and complete it. * class.c (finish_stuct_bits): Copy the BINFOs here. * cvt.c (ocp_convert): Pass type directly to build_special_member_call. * decl.c (build_ptrmemfunc_type): Call xref_bastypes here. (xref_basetypes): Allocate the binfo here. Adjust. * init.c (build_init, build_new_1): Pass type directly to build_special_member_call. * lex.c (cxx_make_type): Do not allocate binfo here. * name-lookup.c (arg_assoc_class): Incomplete types have no binfo. * parser.c (cp_parser_class_head): Always call xref_basetypes. * pt.c (instantiate_class_template): Likewise. Inhibit access checking for template friends. * ptree.c (cxx_print_type): Adjust record printing. * search.c (lookup_base): When taking a type, complete it before looking for a binfo. (lookup_member): Delay completing a type. (push_class_decls): Don't walk an incomplete type. (lookup_conversions): Likewise. * semantics.c (finish_stmt_expr_expr): Pass type directly to build_special_member_call. * tree.c (copy_base_binfos): Adjust. (make_binfo): Likewise. * typeck.c (build_modify_expr): Pass type directly to build_special_member_call. * typeck2.c (process_init_constructor): Check a binfo exists. (build_m_component_ref): Allow accessing an incomplete type. (build_functional_cast): Pass type directly to build_special_member_call. From-SVN: r84562
2004-07-12tree-cfg.c (find_taken_edge): Statically compute the truth value of a ↵Diego Novillo2-3/+26
predicate comparing an SSA_NAME to itself. * tree-cfg.c (find_taken_edge): Statically compute the truth value of a predicate comparing an SSA_NAME to itself. From-SVN: r84561
2004-07-12rs6000.c (rs6000_rtx_costs): Indicate that the rs6000 doesn't have ↵Roger Sayle2-0/+18
shift-and-add or shift-and-sub... * config/rs6000/rs6000.c (rs6000_rtx_costs): Indicate that the rs6000 doesn't have shift-and-add or shift-and-sub instructions by returning the cost of a multiplication plus an addition. From-SVN: r84556
2004-07-12004-07-12 David Billinghurst (David.Billinghurst@riotinto.com)David Billinghurst40-0/+2158
* gfortran.dg/g77/12002.f: Copy from g77.f-torture/compile. Add {dg-do compile} directive. * gfortran.dg/g77/13060.f: Likewise * gfortran.dg/g77/19990218-0.f: Likewise * gfortran.dg/g77/19990305-0.f: Likewise * gfortran.dg/g77/19990419-0.f: Likewise * gfortran.dg/g77/19990502-0.f: Likewise * gfortran.dg/g77/19990502-1.f: Likewise * gfortran.dg/g77/19990525-0.f: Likewise * gfortran.dg/g77/19990826-1.f: Likewise * gfortran.dg/g77/19990826-3.f: Likewise * gfortran.dg/g77/19990905-2.f: Likewise * gfortran.dg/g77/20000412-1.f: Likewise * gfortran.dg/g77/20000511-1.f: Likewise * gfortran.dg/g77/20000511-2.f: Likewise * gfortran.dg/g77/20000518.f: Likewise * gfortran.dg/g77/20000601-1.f: Likewise * gfortran.dg/g77/20000601-2.f: Likewise * gfortran.dg/g77/20000629-1.f: Likewise * gfortran.dg/g77/20000630-2.f: Likewise * gfortran.dg/g77/20010115.f: Likewise * gfortran.dg/g77/20010321-1.f: Likewise * gfortran.dg/g77/20010426.f: Likewise * gfortran.dg/g77/20020307-1.f: Likewise * gfortran.dg/g77/8485.f: Likewise * gfortran.dg/g77/960317-1.f: Likewise * gfortran.dg/g77/970915-0.f: Likewise * gfortran.dg/g77/980310-1.f: Likewise * gfortran.dg/g77/980310-2.f: Likewise * gfortran.dg/g77/980310-3.f: Likewise * gfortran.dg/g77/980310-4.f: Likewise * gfortran.dg/g77/980310-6.f: Likewise * gfortran.dg/g77/980310-7.f: Likewise * gfortran.dg/g77/980310-8.f: Likewise * gfortran.dg/g77/980419-2.f: Likewise * gfortran.dg/g77/980424-0.f: Likewise * gfortran.dg/g77/980427-0.f: Likewise * gfortran.dg/g77/980729-0.f: Likewise * gfortran.dg/g77/981117-1.f: Likewise * gfortran.dg/g77/toon_1.f: Likewise From-SVN: r84553
2004-07-12re PR c++/2204 (G++ doesn't check (member) function parameter for ↵Giovanni Bajo9-22/+273
abstract-ness.) PR c++/2204 * config-lang.in (gtfiles): Add typeck2.c. * Make-lang.in: Tweak typeck2.c dependencies, and add rule for gt-cp-typeck2.h. * cp-tree.h: Declare complete_type_check_abstract. * typeck2.c (pat_calc_hash, pat_compare, complete_type_check_abstract): New functions. (abstract_virtuals_error): If the type is abstract, register the declaration within abstract_pending_vars for further checks. Inspect also dependent types. Handle IDENTIFIER_NODEs as decl. * decl.c (cp_finish_decl): Do not strip array types. (create_array_type_for_decl): Check for abstractness of the element type. (complete_vars): Call complete_type_check_abstract. * class.c (finish_struct): Prepare a list of virtual functions for template types, and call complete_vars on it to check for abstractness. PR c++/2204 * g++.dg/other/abstract2.C: New test. From-SVN: r84552
2004-07-12config.gcc: Add sh-*-symbianelf target.Nick Clifton8-23/+1164
* config.gcc: Add sh-*-symbianelf target. * config/sh/sh.c: Add new target macros: TARGET_ENCODE_SECTION_INFO, TARGET_STRIP_NAME_ENCODING, TARGET_CXX_IMPORT_EXPORT_CLASS. (sh_file_start): Create a definition of the .directive section. (sh_attribute): Add dllimport and dllexport attributes. * config/sh/symbian-pre.h: New file. * config/sh/symbian-post.h: New file. * config/sh/symbian.c: New file. Contains Symbian specific functions. * config/sh/sh-protos.h: Add prototypes for new functions provided by symbian.c. * config/sh/t-symbian: New file. * doc/extend.texi: Document support for dllimport and dllexport attributes by the sh-symbianelf target. From-SVN: r84551
2004-07-12re PR tree-optimization/14107 (Return warnings don't work without ↵Paolo Bonzini5-9/+17
optimizations enabled) gcc/ChangeLog: 2004-06-29 Paolo Bonzini <bonzini@gnu.org> PR tree-optimization/14107 * gimplify.c (gimplify_return_expr): Accept a RETURN_EXPR with an error argument. * tree-optimize.c (init_tree_optimization_passes): Run pass_warn_function_return at -O0. gcc/cp/ChangeLog: 2004-06-29 Paolo Bonzini <bonzini@gnu.org> PR tree-optimization/14107 * decl.c (finish_function): Remove temporary band-aid. From-SVN: r84550
2004-07-12invoke.texi: Correct -fasynchronous-unwind-tables option index entry.Roger Sayle2-1/+6
* doc/invoke.texi: Correct -fasynchronous-unwind-tables option index entry. From-SVN: r84549
2004-07-12mips.c (mips_use_dfa_pipeline_interface): Delete.Richard Sandiford11-386/+571
* config/mips/mips.c (mips_use_dfa_pipeline_interface): Delete. (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. * config/mips/3000.md: Add copyright notice. Remove automota and function units; use generic ones instead. Only define reservations for things that are different from generic.md. Extend each clause to include r3900. * config/mips/{4000,4100,4300,4600,5000,6000,generic}.md: New files. * config/mips/mips.md: Include them. Remove define_function_units. (alu, imuldiv): New automata and units. From-SVN: r84547
2004-07-12invoke.texi (Optimize Options): Document -frename-registers not being ↵Ben Elliston2-2/+6
enabled by default at -O3. * doc/invoke.texi (Optimize Options): Document -frename-registers not being enabled by default at -O3. From-SVN: r84546
2004-07-12call.c (build_operator_new_call): Avoid using push_to_top_level.Mark Mitchell5-39/+66
* call.c (build_operator_new_call): Avoid using push_to_top_level. (build_new_op): Adjust call to lookup_function_nonclass. * name-lookup.c (identifier_type_value): Adjust call to lookup_name_real. (lookup_name_real): Add block_p parameter. (lookup_name_nonclass): Adjust call to lookup_name_real. (lookup_function_nonclass): Likewise. (lookup_name): Likewise. * name-lookup.h (lookup_name_real): Change prototype. (lookup_name_nonclass): Likewise. * parser.c (cp_parser_lookup_name): Likewise. From-SVN: r84543
2004-07-12expr.c (gfc_check_assign_symbol): Handle pointer assignments.Paul Brook9-140/+97
* expr.c (gfc_check_assign_symbol): Handle pointer assignments. * trans-array.c (gfc_trans_auto_array_allocation): Remove initialization code. * trans-common.c (create_common): Use gfc_conv_initializer. * trans-decl.c (gfc_get_symbol_decl): Use gfc_conv_initializer. * trans-expr.c (gfc_conv_initializer): New function. (gfc_conv_structure): Use it. * trans.h (gfc_conv_initializer): Add prototype. testsuite/ * gfortran.dg/pointer_init_1.f90: New test. From-SVN: r84542
2004-07-12expr.c (java_truthvalue_conversion, [...]): Convert calls to "build" into ↵Roger Sayle2-247/+272
calls to the prefered "buildN" functions. * expr.c (java_truthvalue_conversion, flush_quick_stack, java_stack_swap, java_stack_dup, build_java_athrow, build_java_jsr, build_java_ret, build_java_throw_out_of_bounds_exception, build_java_array_length_access, java_check_reference, build_java_arrayaccess, build_java_arraystore_check, build_newarray, build_anewarray, expand_java_multianewarray, expand_java_arraystore, expand_java_arrayload, build_java_monitor, expand_java_return, expand_load_internal, expand_java_NEW, build_get_class, build_instanceof, expand_java_CHECKCAST, expand_iinc, build_java_soft_divmod, build_java_binop, build_field_ref, expand_compare, expand_java_goto, expand_java_switch, expand_java_add_case, build_class_init, build_known_method_ref, invoke_build_dtable, build_invokevirtual, build_invokeinterface, expand_invoke, build_jni_stub, expand_java_field_op, java_expand_expr, expand_byte_code, STORE_INTERNAL, force_evaluation_order, emit_init_test_initialization): Convert calls to "build" into calls to the prefered "buildN" functions. From-SVN: r84541
2004-07-12Daily bump.GCC Administrator1-1/+1
From-SVN: r84539
2004-07-11re PR fortran/15986 (Forward referenced procedure not handled correctly)Paul Brook4-1/+49
PR fortran/15986 * parse.c (gfc_fixup_sibling_symbols): Also look for untyped variables. (parse_contained): Mark contained symbols as referenced. testsuite/ * gfortran.dg/contained_1.f90: New test. From-SVN: r84536
2004-07-11fold-const.c (fold): Canonicalize X + -C as X - C for floating point ↵Roger Sayle2-1/+22
additions... * fold-const.c (fold) <PLUS_EXPR>: Canonicalize X + -C as X - C for floating point additions, to keep real immediate constant positive. <MINUS_EXPR>: For floating point subtractions, only transform X - -C into X + C, and leave positive real constants as X - C. From-SVN: r84535
2004-07-11cp-tree.h (saved_scope): Make old_bindings a vector.Mark Mitchell10-110/+109
* cp-tree.h (saved_scope): Make old_bindings a vector. (unuse_fields): Remove. * name-lookup.h (cxx_saved_binding): Define it. * class.c (pushclass): Don't use unuse_fields. * name-lookup.c (cxx_saved_binding_make): Remove. (store_binding): Add new bindings to a vector, using an accumulator style, rather than adding them to a list. (store_bindings): Adjust accordingly. (store_class_bindings): Likewise. (push_to_top_level): Likewise. (pop_from_top_level): Likewise. * optimize.c (maybe_clone_body): Must push_to_top_level and pop_from_top_level calls outside of loop. * parser.c (cp_parser_class_specifier): Move push_scope/pop_scope calls here from cp_parser_late_parsing_default_args. (cp_parser_save_default_args): Record the class type in which the function is declared. (cp_parser_late_parsing_default_args): Do not call push_nested_class/pop_nested_class. * search.c (dfs_unuse_fields): Remove. (unuse_fields): Remove. * g++.dg/parse/defarg8.C: New test. From-SVN: r84530
2004-07-11* pa.c (hppa_gimplify_va_arg_expr): Remove comment.John David Anglin2-8/+4
From-SVN: r84529
2004-07-11re PR tree-optimization/15654 (ICE in calculate_live_on_entry with -O2 ↵Zdenek Dvorak2-0/+21
-fno-tree-dominator-opts) PR tree-optimization/15654 * tree-tailcall.c (eliminate_tail_call): Remove unreachable code. From-SVN: r84527
2004-07-11builtins.c (fold_builtin_fputs): Don't bother converting the return type to ↵Roger Sayle6-17/+100
integer_type_node... * builtins.c (fold_builtin_fputs): Don't bother converting the return type to integer_type_node, as we've already checked that the result will be ignored. * tree-eh.c (tree_could_trap_p): Add support for -ftrapv such that signed addition, subtraction, multiplication, division, remainder, negation and absolute value may potentially trap. * fold-const.c (fold_ignored_result): New function to strip non-side-effecting tree nodes from an expression whose result is ignored. (fold_convert): Call fold_ignored_result when casting a value to VOID_TYPE. (omit_one_operand): Call fold_ignored_result on the "omitted" operand when building a COMPOUND_EXPR. (pedantic_omit_one_operand): Likewise. * tree.h (fold_ignored_result): Prototype here. * tree-ssa-ccp.c (ccp_fold_builtin): Call fold_ignored_result when we're going to ignore the result. From-SVN: r84525
2004-07-11re PR tree-optimization/16383 (internal compiler error: in ↵Richard Henderson5-44/+126
generate_element_copy, at tree-sra.c:1466) PR tree-opt/16383 * tree-ssa-ccp.c (fold_stmt_r): Split out... * tree.c (fields_compatible_p, find_compatible_field): ... new. * tree.h (fields_compatible_p, find_compatible_field): Declare. * tree-sra.c (sra_hash_tree): Hash fields by offset. (sra_elt_eq): Use fields_compatible_p. (generate_one_element_ref): Use find_compatible_field. From-SVN: r84524
2004-07-11re PR tree-optimization/16422 (gcc.c-torture/execute/980223.c fails)Richard Henderson3-3/+69
PR tree-opt/16422 * tree-sra.c (generate_one_element_init): New. (generate_element_init): Use it. (scalarize_init): Push/pop gimplify context around it. (find_new_referenced_vars_1, find_new_referenced_vars): New. * gimplify.c (gimplify_expr): Allow SSA_NAME. From-SVN: r84523
2004-07-11re PR fortran/15754 (Accepts assignment of the form P = NULL())Tobias Schlüter1-0/+3
PR fortran/17574 * gfortran.dg/pr15754.f90: New test. Add ChangeLog missing from previous commit. From-SVN: r84522