aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2009-03-28re PR tree-optimization/38458 (copy-propagation doesn't handle cycles)Richard Guenther2-1/+7
2009-03-28 Richard Guenther <rguenther@suse.de> PR tree-optimization/38458 * tree-ssa-copy.c (copy_prop_visit_phi_node): For the first argument use the arguments copy-of value. From-SVN: r145185
2009-03-28re PR tree-optimization/38180 (CCP does not propagate through constant ↵Richard Guenther4-75/+107
initializers) 2009-03-28 Richard Guenther <rguenther@suse.de> PR tree-optimization/38180 * tree-ssa-ccp.c (get_default_value): Simplify. (likely_value): Likewise. (surely_varying_stmt_p): Properly handle VOP case. (ccp_initialize): Likewise. (ccp_fold): Handle propagating through *&. (fold_const_aggregate_ref): Also handle decls. * gcc.dg/tree-ssa/ssa-ccp-24.c: New testcase. From-SVN: r145184
2009-03-28gfortran.h (gfc_option_t): Add rtcheck.Francois-Xavier Coudert11-36/+128
2009-03-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> Paul Thomas <pault@gcc.gnu.org> Tobias Burnus <burnus@net-b.de> * gfortran.h (gfc_option_t): Add rtcheck. * lang.opt: New option -fruntime-check. * libgfortran.h: Add GFC_RTCHECK_* constants. * invoke.texi: Document -fruntime-check. * options.c (gfc_handle_runtime_check_option): New function. (gfc_init_options,gfc_post_options,gfc_handle_option): Add -fruntime-check option. Co-Authored-By: Paul Thomas <pault@gcc.gnu.org> Co-Authored-By: Tobias Burnus <burnus@net-b.de> From-SVN: r145183
2009-03-28cgraph.c (dump_cgraph_node): Add replace output flag by process.Jan Hubicka6-15/+32
* cgraph.c (dump_cgraph_node): Add replace output flag by process. * cgraph.h (cgraph_node): Likewise. * cgraphunit.c (cgraph_process_new_functions): Set process flag. (cgraph_reset_node): Use process flag. (cgraph_mark_functions_to_output): Likewise. (cgraph_expand_function): Likewise. (cgraph_expand_all_functions): Likewise. (cgraph_output_in_order): Likewise. * dwarf2out.c (reference_to_unused): Likewise. * passes.c do_per_function_toporder): Likewise. From-SVN: r145178
2009-03-28Bring from lto-branch:Doug Kwan1-0/+86
2008-09-03 Doug Kwan <dougkwan@google.com> * cgraphbuild.c (initialize_inline_failed): Use cgraph_inline_failed_t enums instead of reason strings. * cgraph.c (cgraph_create_edge): Same. (cgraph_inline_failed_string): New function. * cgraph.h (cgraph_inline_failed_t): New enum type. (cgraph_inline_failed_string): New prototype. (struct cgraph_edge): Change type of INLINED_FAILED from constant char pointer to cgraph_inline_failed_t. (cgraph_inline_p): Adjust prototype to use cgraph_inline_failed_t. (cgraph_default_inline_p): Ditto. * gcc/cgraphunit.c (cgraph_inline_p): Change type of parameter REASON to cgraph_inline_failed_t pointer. * cif-code.def: New file. * ipa-inline.c (cgraph_mark_inline_edge): Use an enum instead of a reason string. (cgraph_check_inline_limits): Change type of REASON to pointer to cgraph_inline_failed_t. Replace reason strings with enums. (cgraph_default_inline_p): Ditto. (cgraph_recursive_inlining_p): Ditto. (update_caller_keys): Change type of FAILED_REASON to cgraph_inline_failed_t. (cgraph_set_inline_failed): Change type of REASON to pointer to cgraph_inline_failed_t. Call cgraph_inline_failed_string to convert enums to strings for text output. (cgraph_decide_inlining_of_small_function): Change FAILED_REASON to be of type cgraph_inline_failed_t. Replace reason strings with enums. Call cgraph_inline_failed_string to covert enums to strings for text output. (cgraph_decide_inlining): Replace reason strings with enums. (cgraph_decide_inlining_incrementally): Change type of FAILED_REASON to cgraph_inline_failed_t type. Call cgraph_inline_failed_string for text output. * tree-inline.c (expand_call_inline): Change type of REASON to cgraph_inline_failed_t. Replace reason strings with enums. Call cgraph_inline_failed_string for text output. * Makefile.in (CGRAPH_H): Add cif-code.def to dependencies. (cgraph.o): Ditto. From-SVN: r145177
2009-03-28Bring from lto-branch:Jan Hubicka7-52/+127
2008-09-03 Doug Kwan <dougkwan@google.com> * cgraphbuild.c (initialize_inline_failed): Use cgraph_inline_failed_t enums instead of reason strings. * cgraph.c (cgraph_create_edge): Same. (cgraph_inline_failed_string): New function. * cgraph.h (cgraph_inline_failed_t): New enum type. (cgraph_inline_failed_string): New prototype. (struct cgraph_edge): Change type of INLINED_FAILED from constant char pointer to cgraph_inline_failed_t. (cgraph_inline_p): Adjust prototype to use cgraph_inline_failed_t. (cgraph_default_inline_p): Ditto. * gcc/cgraphunit.c (cgraph_inline_p): Change type of parameter REASON to cgraph_inline_failed_t pointer. * cif-code.def: New file. * ipa-inline.c (cgraph_mark_inline_edge): Use an enum instead of a reason string. (cgraph_check_inline_limits): Change type of REASON to pointer to cgraph_inline_failed_t. Replace reason strings with enums. (cgraph_default_inline_p): Ditto. (cgraph_recursive_inlining_p): Ditto. (update_caller_keys): Change type of FAILED_REASON to cgraph_inline_failed_t. (cgraph_set_inline_failed): Change type of REASON to pointer to cgraph_inline_failed_t. Call cgraph_inline_failed_string to convert enums to strings for text output. (cgraph_decide_inlining_of_small_function): Change FAILED_REASON to be of type cgraph_inline_failed_t. Replace reason strings with enums. Call cgraph_inline_failed_string to covert enums to strings for text output. (cgraph_decide_inlining): Replace reason strings with enums. (cgraph_decide_inlining_incrementally): Change type of FAILED_REASON to cgraph_inline_failed_t type. Call cgraph_inline_failed_string for text output. * tree-inline.c (expand_call_inline): Change type of REASON to cgraph_inline_failed_t. Replace reason strings with enums. Call cgraph_inline_failed_string for text output. * Makefile.in (CGRAPH_H): Add cif-code.def to dependencies. (cgraph.o): Ditto. From-SVN: r145176
2009-03-28cgraph.c (cgraph_node, [...]): Remove master clone handling.Jan Hubicka5-43/+13
* cgraph.c (cgraph_node, cgraph_remove_node, dump_cgraph_node, cgraph_clone_node): Remove master clone handling. (cgraph_is_master_clone, cgraph_master_clone): Remove. * cgraph.h (master_clone): Remove. (cgraph_is_master_clone, cgraph_master_clone): Remove. * ipa-type-escape.c (type_escape_execute): Remove use of master clone. (tree-ssa-structalias.c (ipa_pta_execute): Likewise. From-SVN: r145175
2009-03-28cgraph.c (cgraph_function_body_availability): Functions declared inline are ↵Jan Hubicka2-9/+13
always safe to assume that it is not going to be... * cgraph.c (cgraph_function_body_availability): Functions declared inline are always safe to assume that it is not going to be replaced. From-SVN: r145174
2009-03-28re PR tree-optimization/38513 (Only postreload will remove a no-op store)Richard Guenther14-68/+128
2009-03-28 Richard Guenther <rguenther@suse.de> PR tree-optimization/38513 * tree-ssa-pre.c (eliminate): Remove redundant stores. * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle EXC_PTR_EXPR and FILTER_EXPR. (get_ref_from_reference_ops): Likewise. * gcc.dg/tree-ssa/ssa-fre-21.c: New testcase. * gcc.dg/tree-ssa/ssa-dse-11.c: Adjust. * gcc.dg/vect/vect-reduc-dot-u8a.c: Likewise. * gcc.dg/vect/vect-reduc-dot-u8b.c: Likewise. * gcc.dg/vect/slp-widen-mult-u8.c: Likewise. * gcc.dg/vect/vect-multitypes-16.c: Likewise. * gcc.dg/vect/vect-35.c: Likewise. * gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Likewise. * gcc.dg/vect/vect-multitypes-17.c: Likewise. * gcc.dg/vect/slp-widen-mult-s16.c: Likewise. From-SVN: r145172
2009-03-28re PR tree-optimization/38968 (Complex matrix product is not vectorized)Richard Guenther4-1/+33
2009-03-28 Richard Guenther <rguenther@suse.de> PR tree-optimization/38968 * tree-vect-analyze.c (vect_compute_data_ref_alignment): Use FLOOR_MOD_EXPR to compute misalignment. * gfortran.dg/vect/fast-math-pr38968.f90: New testcase. From-SVN: r145171
2009-03-28re PR tree-optimization/37795 (if-combine doesn't optimize != after >= test)Richard Guenther6-35/+72
2009-03-28 Richard Guenther <rguenther@suse.de> PR tree-optimization/37795 * tree.h (combine_comparisons): Declare. * fold-const.c (combine_comparisons): Export. * tree-ssa-ifcombine.c (ifcombine_ifandif): Optimize two successive comparisons. (ifcombine_iforif): Use combine_comparisons. * gcc.dg/tree-ssa/ssa-ifcombine-7.c: New testcase. From-SVN: r145170
2009-03-28tree-eh.c (inlinable_call_p): New function.Jan Hubicka4-30/+79
* tree-eh.c (inlinable_call_p): New function. (make_eh_edges): Use it. (verify_eh_edges): Use it. (stmt_can_throw_external, stmt_can_throw_internal): Use it. * except.c (reachable_next_level): Add inlinable_function argument (sjlj_find_directly_reachable_regions): Update. (add_reachable_handler): Do not set saw_any_handlers. (reachable_next_level): Handle MUST_NOT_THROW more curefully. (foreach_reachable_handler, can_throw_internal_1, can_throw_external_1): Add new inlinable call parameter. (can_throw_internal, can_throw_external): Update. * except.h (can_throw_internal_1, can_throw_external_1, foreach_reachable_handler): Update declaration. From-SVN: r145166
2009-03-28* gcc.pot: Regenerate.Joseph Myers2-4811/+4695
From-SVN: r145162
2009-03-28inclhack.def (aix_syswait, [...]): Remove.Joseph Myers47-10207/+127
fixincludes: * inclhack.def (aix_syswait, exception_structure, pthread_page_size): Remove. (math_exception): Remove mention of fixproto in comment. * fixincl.x: Regenerate. * mkheaders.in: Do not handle STMP_FIXPROTO. gcc: * config/arm/t-arm-coff, config/h8300/coff.h, config/i386/i386-aout.h, config/i386/i386-coff.h, config/libgloss.h, config/m68k/coff.h, config/m68k/m68k-aout.h, config/pdp11/2bsd.h, config/rs6000/aix41.h, config/rs6000/aix41.opt, config/rs6000/t-newas, config/sh/coff.h, fix-header.c, fixproto, gen-protos.c, protoize.c, scan-decls.c, scan-types.sh, scan.c, scan.h, sort-protos, sys-protos.h, sys-types.h: Remove. * Makefile.in: Remove protoize and fixproto support and references in comments. (SYSCALLS.c.X-warn, TARGET_GETGROUPS_T, STMP_FIXPROTO, PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, FIXPROTO_DEFINES): Remove. (ALL_HOST_OBJS): Remove $(PROTO_OBJS). (MOSTLYCLEANFILES): Remove protoize$(exeext) and unprotoize$(exeext). (rest.encap): Don't depend on $(STMP_FIXPROTO) (.PHONY): Don't depend on proto. (libgcc-support): Don't depend on $(STMP_FIXPROTO). (proto, PROTO_OBJS, protoize$(exeext), unprotoize$(exeext), protoize.o, unprotoize.o, SYSCALLS.c.X, test-protoize-simple, deduced.h, GEN_PROTOS_OBJS, build/gen-protos$(build_exeext), build/gen-protos.o, build/scan.o, xsys-protos.h, build/fix-header$(build_exeext), build/fix-header.o, build/scan-decls.o, fixhdr.ready, stmp-fixproto, stmp-install-fixproto): Remove. (mostlyclean): Don't remove xsys-protos.hT, SYSCALLS.c.X, SYSCALLS.c or fixproto files. (install-common): Don't install protoize. (install-headers-tar, install-headers-cpio, install-headers-cp): Don't depend on $(STMP_FIXPROTO). (install-mkheaders): Don't depend on $(STMP_FIXPROTO). Don't install fixproto files or write out fixproto settings. (uninstall): Don't uninstall protoize. * config.gcc (use_fixproto): Remove. (arm-*-coff*, armel-*-coff*, h8300-*-*, i[34567]86-*-aout*, i[34567]86-*-coff*, m68k-*-aout*, m68k-*-coff*, pdp11-*-bsd, rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*, sh-*-*): Remove. * config/m32r/t-linux (STMP_FIXPROTO): Remove. * config/m68k/m68k.c: Remove M68K_TARGET_COFF-conditional code. * config/mips/t-iris (FIXPROTO_DEFINES): Remove. * config/pa/t-pa-hpux (FIXPROTO_DEFINES): Remove. * config/pdp11/pdp11.c: Remove TWO_BSD-conditional code. * config/t-svr4 (FIXPROTO_DEFINES): Remove. * config/t-vxworks (STMP_FIXPROTO): Remove. * configure.ac (AC_TYPE_GETGROUPS, TARGET_GETGROUPS_T, STMP_FIXPROTO): Remove. * config.in, configure: Regenerate. * crtstuff.c (gid_t, uid_t): Don't undefine. * doc/install.texi: Change m68k-coff to m68k-elf in example. (arm-*-coff, arm-*-aout: Remove target entries. (*-ibm-aix*): Mention removal of support for AIX 4.2 and older. Remove mention of AIX 4.1. (m68k-*-*): Remove mention of m68k-*-aout and m68k-*-coff*. * doc/invoke.texi (Running Protoize): Remove. * doc/trouble.texi (Actual Bugs): Remove mention of fixproto. (Protoize Caveats): Remove. * tsystem.h: Update comments on headers assumed to exist. gcc/po: * EXCLUDES (fix-header.c, gen-protos.c, scan-decls.c, scan.c, scan.h): Remove. gcc/testsuite: * g++.old-deja/g++.ext/attrib5.C, g++.old-deja/g++.jason/thunk3.C, gcc.c-torture/compile/981006-1.c: Don't XFAIL or add special options for removed targets. libgcc: * config.host (arm-*-coff*, armel-*-coff*, arm-semi-aof, armel-semi-aof, h8300-*-*, i[34567]86-*-aout*, i[34567]86-*-coff*, m68k-*-aout*, m68k-*-coff*, pdp11-*-bsd, rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*, sh-*-*): Remove. From-SVN: r145158
2009-03-27genautomata.c: Add a new year to the copyright.Vladimir Makarov4-61/+123
2009-03-27 Vladimir Makarov <vmakarov@redhat.com> * genautomata.c: Add a new year to the copyright. Add a new reference. (struct insn_reserv_decl): Add comments for member bypass_list. (find_bypass): Remove. (insert_bypass): New. (process_decls): Use insert_bypass. (output_internal_insn_latency_func): Output all bypasses with the same input insn in one switch case. * rtl.def (define_bypass): Describe bypass choice. * doc/md.texi (define_bypass): Ditto. From-SVN: r145152
2009-03-28Daily bump.GCC Administrator1-1/+1
From-SVN: r145150
2009-03-27gimplify.c (mark_addressable): Export.Richard Biener1-0/+29
2009-03-27 Richard Guenther <rguenther@suse.de> * gimplify.c (mark_addressable): Export. * tree-flow.h (mark_addressable): Declare. * tree-ssa-loop-manip.c (create_iv): Mark the base addressable. * tree-ssa.c (verify_phi_args): Verify that address taken variables have TREE_ADDRESSABLE set. 2009-03-27 Richard Guenther <rguenther@suse.de> * fold-const.c (build_fold_addr_expr_with_type_1): Rename back to ... (build_fold_addr_expr_with_type): ... this. Remove in_fold handling. Do not mark decls TREE_ADDRESSABLE. (build_fold_addr_expr): Adjust. (fold_addr_expr): Remove. (fold_unary): Use build_fold_addr_expr. (fold_comparison): Likewise. (split_address_to_core_and_offset): Likewise. * coverage.c (tree_coverage_counter_addr): Mark the array decl TREE_ADDRESSABLE. * gimplify.c (mark_addressable): Do not exclude RESULT_DECLs. (gimplify_modify_expr_to_memcpy): Mark source and destination addressable. * omp-low.c (create_omp_child_function): Mark the object decl TREE_ADDRESSABLE. (lower_rec_input_clauses): Mark the var we take the address of TREE_ADDRESSABLE. (lower_omp_taskreg): Mark the sender decl TREE_ADDRESSABLE. fortran/ * trans-array.c (gfc_conv_descriptor_data_addr): Use gfc_build_addr_expr instead of build_fold_addr_expr. (gfc_trans_allocate_array_storage, gfc_trans_array_constructor_value, gfc_trans_constant_array_constructor, gfc_conv_array_data, gfc_conv_expr_descriptor, gfc_conv_array_parameter): Likewise. * trans-expr.c (gfc_conv_missing_dummy, gfc_conv_variable, gfc_conv_function_val, gfc_conv_operator_assign, gfc_conv_subref_array_arg, gfc_conv_function_call, gfc_conv_expr_reference, gfc_trans_scalar_assign): Likewise. * trans-intrinsic.c (gfc_conv_intrinsic_exponent, gfc_conv_intrinsic_ctime, gfc_conv_intrinsic_fdate, gfc_conv_intrinsic_ttynam, gfc_conv_intrinsic_minmax_char, gfc_conv_intrinsic_fraction, gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_set_exponent, gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_transfer, gfc_conv_intrinsic_si_kind, gfc_conv_intrinsic_trim): Likewise. * trans-io.c (gfc_trans_io_runtime_check, set_parameter_ref, gfc_convert_array_to_string, gfc_trans_open, gfc_trans_close, build_filepos, gfc_trans_inquire, gfc_trans_wait, nml_get_addr_expr, transfer_namelist_element, build_dt, gfc_trans_dt_end, transfer_array_component, transfer_expr, transfer_array_desc, gfc_trans_transfer): Likewise. * trans-stmt.c (gfc_trans_allocate, gfc_trans_deallocate): Likewise. * trans.c (gfc_build_addr_expr): Mark the base of the address TREE_ADDRESSABLE. From-SVN: r145143
2009-03-27gimplify.c (mark_addressable): Export.Richard Guenther14-115/+134
2009-03-27 Richard Guenther <rguenther@suse.de> * gimplify.c (mark_addressable): Export. * tree-flow.h (mark_addressable): Declare. * tree-ssa-loop-manip.c (create_iv): Mark the base addressable. * tree-ssa.c (verify_phi_args): Verify that address taken variables have TREE_ADDRESSABLE set. 2009-03-27 Richard Guenther <rguenther@suse.de> * fold-const.c (build_fold_addr_expr_with_type_1): Rename back to ... (build_fold_addr_expr_with_type): ... this. Remove in_fold handling. Do not mark decls TREE_ADDRESSABLE. (build_fold_addr_expr): Adjust. (fold_addr_expr): Remove. (fold_unary): Use build_fold_addr_expr. (fold_comparison): Likewise. (split_address_to_core_and_offset): Likewise. * coverage.c (tree_coverage_counter_addr): Mark the array decl TREE_ADDRESSABLE. * gimplify.c (mark_addressable): Do not exclude RESULT_DECLs. (gimplify_modify_expr_to_memcpy): Mark source and destination addressable. * omp-low.c (create_omp_child_function): Mark the object decl TREE_ADDRESSABLE. (lower_rec_input_clauses): Mark the var we take the address of TREE_ADDRESSABLE. (lower_omp_taskreg): Mark the sender decl TREE_ADDRESSABLE. fortran/ * trans-array.c (gfc_conv_descriptor_data_addr): Use gfc_build_addr_expr instead of build_fold_addr_expr. (gfc_trans_allocate_array_storage, gfc_trans_array_constructor_value, gfc_trans_constant_array_constructor, gfc_conv_array_data, gfc_conv_expr_descriptor, gfc_conv_array_parameter): Likewise. * trans-expr.c (gfc_conv_missing_dummy, gfc_conv_variable, gfc_conv_function_val, gfc_conv_operator_assign, gfc_conv_subref_array_arg, gfc_conv_function_call, gfc_conv_expr_reference, gfc_trans_scalar_assign): Likewise. * trans-intrinsic.c (gfc_conv_intrinsic_exponent, gfc_conv_intrinsic_ctime, gfc_conv_intrinsic_fdate, gfc_conv_intrinsic_ttynam, gfc_conv_intrinsic_minmax_char, gfc_conv_intrinsic_fraction, gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_set_exponent, gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_transfer, gfc_conv_intrinsic_si_kind, gfc_conv_intrinsic_trim): Likewise. * trans-io.c (gfc_trans_io_runtime_check, set_parameter_ref, gfc_convert_array_to_string, gfc_trans_open, gfc_trans_close, build_filepos, gfc_trans_inquire, gfc_trans_wait, nml_get_addr_expr, transfer_namelist_element, build_dt, gfc_trans_dt_end, transfer_array_component, transfer_expr, transfer_array_desc, gfc_trans_transfer): Likewise. * trans-stmt.c (gfc_trans_allocate, gfc_trans_deallocate): Likewise. * trans.c (gfc_build_addr_expr): Mark the base of the address TREE_ADDRESSABLE. From-SVN: r145142
2009-03-27except.c (choose_personality_routine): Set terminate_node to abort for java ↵Jan Hubicka2-0/+6
exceptions. * except.c (choose_personality_routine): Set terminate_node to abort for java exceptions. From-SVN: r145140
2009-03-27re PR middle-end/39315 (Unaligned move used on aligned stack variable)H.J. Lu8-2/+109
gcc/ 2009-03-27 H.J. Lu <hongjiu.lu@intel.com> PR middle-end/39315 * cfgexpand.c (expand_one_stack_var_at): Change alignment limit to MAX_SUPPORTED_STACK_ALIGNMENT. gcc/testsuite/ 2009-03-27 H.J. Lu <hongjiu.lu@intel.com> PR middle-end/39315 * gcc.target/i386/pr39315-1.c: New. * gcc.target/i386/pr39315-2.c: Likewise. * gcc.target/i386/pr39315-3.c: Likewise. * gcc.target/i386/pr39315-4.c: Likewise. * gcc.target/i386/pr39315-check.c: Likewise. From-SVN: r145138
2009-03-27re PR tree-optimization/39120 (Missed escape constraints for call results)Richard Guenther5-101/+170
2009-03-27 Richard Guenther <rguenther@suse.de> PR tree-optimization/39120 * tree-ssa-structalias.c (handle_rhs_call): Fill out return constraints. (handle_lhs_call): Process return constraints. Add escape constraints if necessary. (handle_const_call): Fill out return constraints. Make nested case more precise. Avoid consttmp if possible. (handle_pure_call): Fill out return constraints. Avoid callused if possible. (find_func_aliases): Simplify call handling. * gcc.c-torture/execute/pr39120.c: New testcase. 2009-03-27 Richard Guenther <rguenther@suse.de> PR tree-optimization/39120 * tree-ssa-structalias.c (do_sd_constraint): Do not use CALLUSED as a representative. (solve_graph): Do propagate CALLUSED. (handle_pure_call): Use a scalar constraint from CALLUSED for the return value. (find_what_p_points_to): CALLUSED shall not appear in poins-to solutions. * gcc.dg/torture/pta-callused-1.c: New testcase. From-SVN: r145137
2009-03-27re PR target/39323 (MAX_OFILE_ALIGNMENT in elfos.h is too big)H.J. Lu11-9/+56
gcc/ 2009-03-27 H.J. Lu <hongjiu.lu@intel.com> PR c/39323 * c-common.c (handle_aligned_attribute): Properly check alignment overflow. Use (1U << i) instead of (1 << i). * emit-rtl.c (get_mem_align_offset): Use "unsigned int" for align. * expr.h (get_mem_align_offset): Updated. * tree.h (tree_decl_common): Change align to "unsigned int" and move it before pointer_alias_set. gcc/ada/ 2009-03-27 H.J. Lu <hongjiu.lu@intel.com> PR c/39323 * gcc-interface/utils.c (create_field_decl): Use "unsigned int" on bit_align. gcc/testsuite/ 2009-03-27 H.J. Lu <hongjiu.lu@intel.com> PR c/39323 * gcc.dg/pr39323-1.c: New. * gcc.dg/pr39323-2.c: Likewise. * gcc.dg/pr39323-3.c: Likewise. From-SVN: r145136
2009-03-27re PR rtl-optimization/38034 (Unnecessary register move)H.J. Lu4-6/+43
gcc/ 2009-03-27 H.J. Lu <hongjiu.lu@intel.com> Jakub Jelinek <jakub@redhat.com> PR target/38034 * config/ia64/sync.md (cmpxchg_rel_<mode>): Replace input gr_register_operand with gr_reg_or_0_operand. (cmpxchg_rel_di): Likewise. (sync_lock_test_and_set<mode>): Likewise. gcc/testsuite/ 2009-03-27 H.J. Lu <hongjiu.lu@intel.com> PR target/38034 * gcc.target/ia64/sync-1.c: New. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r145135
2009-03-27jump.c (rtx_renumbered_equal_p): Use subreg_get_info.H.J. Lu4-39/+50
2009-03-27 H.J. Lu <hongjiu.lu@intel.com> * jump.c (rtx_renumbered_equal_p): Use subreg_get_info. (true_regnum): Likewise. * rtlanal.c (subreg_info): Moved to ... * rtl.h (subreg_info): Here. New. (subreg_get_info): New. * rtlanal.c (subreg_get_info): Make it extern. From-SVN: r145134
2009-03-27re PR target/39472 (Add -mabi=[ms|sysv])H.J. Lu18-51/+334
gcc/ 2009-03-27 H.J. Lu <hongjiu.lu@intel.com> PR target/39472 * config/i386/i386.c (ix86_abi): New. (override_options): Handle -mabi=. (ix86_function_arg_regno_p): Replace DEFAULT_ABI with ix86_abi. (ix86_call_abi_override): Likewise. (init_cumulative_args): Likewise. (function_arg_advance): Likewise. (function_arg_64): Likewise. (function_arg): Likewise. (ix86_pass_by_reference): Likewise. (ix86_function_value_regno_p): Likewise. (ix86_build_builtin_va_list_abi): Likewise. (setup_incoming_varargs_64): Likewise. (is_va_list_char_pointer): Likewise. (ix86_init_machine_status): Likewise. (ix86_reg_parm_stack_space): Use enum calling_abi on call_abi. (ix86_function_type_abi): Return enum calling_abi. Rewrite for 64bit. Replace DEFAULT_ABI with ix86_abi. (ix86_function_abi): Make it static and return enum calling_abi. (ix86_cfun_abi): Return enum calling_abi. Replace DEFAULT_ABI with ix86_abi. (ix86_fn_abi_va_list): Updated. * config/i386/i386.h (ix86_abi): New. (STACK_BOUNDARY): Replace DEFAULT_ABI with ix86_abi. (CONDITIONAL_REGISTER_USAGE): Likewise. (CUMULATIVE_ARGS): Change call_abi type to enum calling_abi. (machine_function): Likewise. * config/i386/i386.md (untyped_call): Replace DEFAULT_ABI with ix86_abi. * config/i386/cygming.h (TARGET_64BIT_MS_ABI): Likewise. (STACK_BOUNDARY): Likewise. * config/i386/mingw32.h (EXTRA_OS_CPP_BUILTINS): Likewise. * config/i386/i386.opt (mabi=): New. * config/i386/i386-protos.h (ix86_cfun_abi): Changed to return enum calling_abi. (ix86_function_type_abi): Likewise. (ix86_function_abi): Removed. * doc/invoke.texi: Document -mabi= option for x86. gcc/testsuite/ 2009-03-27 H.J. Lu <hongjiu.lu@intel.com> PR target/39472 * gcc.target/x86_64/abi/callabi/func-2a.c: New. * gcc.target/x86_64/abi/callabi/func-2b.c: Likewise. * gcc.target/x86_64/abi/callabi/func-indirect-2a.c: Likewise. * gcc.target/x86_64/abi/callabi/func-indirect-2b.c: Likewise. * gcc.target/x86_64/abi/callabi/vaarg-4a.c: Likewise. * gcc.target/x86_64/abi/callabi/vaarg-4b.c: Likewise. * gcc.target/x86_64/abi/callabi/vaarg-5a.c: Likewise. * gcc.target/x86_64/abi/callabi/vaarg-5b.c: Likewise. From-SVN: r145133
2009-03-27builtins.c (real_dconstp): Delete.Kaveh R. Ghazi4-28/+10
* builtins.c (real_dconstp): Delete. (fold_builtin_logarithm): Remove inaccurate log(e) special case. testsuite: * gcc.dg/torture/builtin-explog-1.c: Remove tests that aren't true for low precision (i.e. float). From-SVN: r145130
2009-03-27gfortran.h (enum init_local_real.): Add GFC_INIT_REAL_SNAN.Tobias Burnus9-20/+50
2009-03-27 Tobias Burnus <burnus@net-b.de> * gfortran.h (enum init_local_real.): Add GFC_INIT_REAL_SNAN. (gfc_expr): Add is_snan. * trans-const.c (gfc_conv_mpfr_to_tree): Support SNaN. (gfc_conv_constant_to_tree): Update call to gfc_conv_mpfr_to_tree. * trans-const.h (gfc_conv_mpfr_to_tree): Update prototype. * resolve.c (build_default_init_expr): Update call. * target-memory.c (encode_float): Ditto. * trans-intrinsic.c * (gfc_conv_intrinsic_aint,gfc_conv_intrinsic_mod, From-SVN: r145129
2009-03-27re PR debug/37959 (g++ does not emit DW_AT_explicit)Dodji Seketeli9-2/+73
PR debug/37959 * dwarf2out.c (dwarf_attr_name): Handle DW_AT_explicit attribute. (gen_subprogram_die): When a function is explicit, generate the DW_AT_explicit attribute. * langhooks.h (struct lang_hooks_for_decls): Add function_decl_explicit_p langhook. * langhooks-def.h (LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P): Define. (LANG_HOOKS_DECLS): Add LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P. * cp-objcp-common.h (LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P): Define. (cp_function_decl_explicit_p): New prototype. * cp-objcp-common.c (cp_function_decl_explicit_p): New function. * g++.dg/debug/dwarf2/explicit-constructor.C: New test. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r145128
2009-03-27builtins.c (fold_builtin_memory_op): Optimize memmove into memcpy if we can ↵Jakub Jelinek5-5/+102
prove source and destination don't overlap. * builtins.c (fold_builtin_memory_op): Optimize memmove into memcpy if we can prove source and destination don't overlap. * gcc.dg/memmove-2.c: New test. * gcc.dg/memmove-3.c: New test. From-SVN: r145127
2009-03-27tree-inline.c: Include gt-tree-inline.h.Jakub Jelinek5-3/+42
* tree-inline.c: Include gt-tree-inline.h. (clone_fn_id_num): New variable. (clone_function_name): New function. (tree_function_versioning): Use it. * Makefile.in (GTFILES): Add tree-inline.c. * gcc.dg/ipa/ipacost-1.c: Adjust match pattern for change in clone naming. From-SVN: r145126
2009-03-27* BASE-VER: Change to 4.5.0.Mark Mitchell2-1/+5
From-SVN: r145124
2009-03-27Fix for PR39557Xinliang David Li4-0/+67
From-SVN: r145119
2009-03-27Fix for PR39548Xinliang David Li4-1/+752
From-SVN: r145118
2009-03-27c-common.c (pointer_int_sum): Use %wd on return from tree_low_cst.H.J. Lu2-2/+7
2009-03-27 H.J. Lu <hongjiu.lu@intel.com> * c-common.c (pointer_int_sum): Use %wd on return from tree_low_cst. From-SVN: r145112
2009-03-27c-common.c (pointer_int_sum): Use HOST_WIDE_INT_PRINT_DEC on return from ↵H.J. Lu2-2/+7
tree_low_cst. 2009-03-27 H.J. Lu <hongjiu.lu@intel.com> * c-common.c (pointer_int_sum): Use HOST_WIDE_INT_PRINT_DEC on return from tree_low_cst. From-SVN: r145109
2009-03-27re PR c++/38638 (ICE superfluous 'typename')Andrew Pinski5-1/+42
gcc/cp/ 2009-03-27 Andrew Pinski <andrew_pinski@playstation.sony.com> PR c++/38638 * parser.c (cp_parser_elaborated_type_specifier): If we have a typename tag and don't have either a TYPE_DECL or a TEMPLATE_ID_EXPR, set the type to NULL. gcc/testsuite/ 2009-03-27 Andrew Pinski <andrew_pinski@playstation.sony.com> PR c++/38638 * g++.dg/template/typename17.C: New testcase. * g++.dg/template/typename18.C: New testcase. From-SVN: r145107
2009-03-27re PR c++/36799 ([c++0x] error on va_copy in -std=c++0x mode)Andrew Pinski4-1/+25
gcc/ 2009-03-27 Andrew Pinski <andrew_pinski@playstation.sony.com> PR c++/36799 * ginclude/stdarg.h (va_copy): Define also for __GXX_EXPERIMENTAL_CXX0X__. gcc/testsuite/ 2009-03-27 Andrew Pinski <andrew_pinski@playstation.sony.com> PR c++/36799 * g++.dg/other/var_copy-1.C: New test. From-SVN: r145106
2009-03-27re PR c++/37647 (ICE with invalid use of constructor)Simon Martin4-0/+26
gcc/cp/ 2009-03-27 Simon Martin <simartin@users.sourceforge.net> PR c++/37647 * decl.c (grokdeclarator): Reject [con|de]stuctors in a non-class scope. gcc/testsuite/ 2009-03-27 Simon Martin <simartin@users.sourceforge.net> PR c++/37647 * g++.dg/parse/ctor9.C: New test. From-SVN: r145105
2009-03-27re PR c++/29727 (ICE on invalid initializer for template member)Simon Martin4-3/+34
gcc/cp/ 2009-03-27 Simon Martin <simartin@users.sourceforge.net> PR c++/29727 * decl.c (check_array_designated_initializer): Handle error_mark_node. gcc/testsuite/ 2009-03-27 Simon Martin <simartin@users.sourceforge.net> PR c++/29727 * g++.dg/init/error2.C: New test. From-SVN: r145104
2009-03-27re PR c++/35652 (offset warning should be given in the front-end)Manuel López-Ibáñez11-20/+110
gcc/ 2009-03-27 Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR c++/35652 * builtins.h (c_strlen): Do not warn here. * c-typeck.c (build_binary_op): Adjust calls to pointer_int_sum. * c-common.c (pointer_int_sum): Take an explicit location. Warn about offsets out of bounds. * c-common.h (pointer_int_sum): Adjust declaration. gcc/cp/ 2009-03-27 Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR c++/35652 * typeck.c (cp_pointer_sum): Adjust call to pointer_int_sum. gcc/testsuite/ 2009-03-27 Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR c++/35652 * gcc.dg/pr35652.C: New. * g++.dg/warn/pr35652.C: New. * gcc.dg/format/plus-1.c: Adjust message. From-SVN: r145102
2009-03-27Daily bump.GCC Administrator1-1/+1
From-SVN: r145100
2009-03-26invoke.texi (i386 and x86-64 Windows Options): Fix texinfo markup glitch.Ralf Wildenhues2-1/+6
gcc/ * doc/invoke.texi (i386 and x86-64 Windows Options): Fix texinfo markup glitch. From-SVN: r145095
2009-03-26re PR c++/39554 (-Wdisallowed-function-list fails when #including <algorithm>)Jakub Jelinek5-3/+43
PR c++/39554 * opts.c (warn_if_disallowed_function_p): Don't assume get_callee_fndecl must return non-NULL. * gcc.dg/wdisallowed-functions-3.c: New test. * g++.dg/warn/Wdisallowed-functions-3.C: New test. From-SVN: r145094
2009-03-26re PR rtl-optimization/39522 (fix for PR37514 gives FAIL: ↵Vladimir Makarov2-12/+28
gcc.c-torture/execute/stdarg-3.c compilation, -O3 -fomit-frame-pointer -funroll-loops (internal compiler error)) 2009-03-26 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/39522 * reload1.c (reload_as_needed): Invalidate reg_last_reload_reg too when reg_reloaded_valid is set. From-SVN: r145093
2009-03-26re PR c++/39380 (All programs that link Java and C++ libraries fail when ↵Andrew Haley4-1/+16
optimized) 2009-03-26 Andrew Haley <aph@redhat.com> PR C++/39380 * decl2.c (possibly_inlined_p): If java exceptions are in use don't inline a decl unless it is explicitly marked inline. * lex.c: (pragma_java_exceptions): New variable. (handle_pragma_java_exceptions): Set pragma_java_exceptions. * cp-tree.h (pragma_java_exceptions): Declare new variable. From-SVN: r145091
2009-03-26divv2df3.c: New file.Ulrich Weigand3-1/+210
* config/spu/divv2df3.c: New file. * config/spu/t-spu-elf (LIB2FUNCS_STATIC_EXTRA): Add it. (DPBIT_FUNCS): Filter out _div_df. From-SVN: r145089
2009-03-26inline-33.c: Fix when pic.Kaveh R. Ghazi2-0/+5
* gcc.dg/inline-33.c: Fix when pic. From-SVN: r145085
2009-03-26Daily bump.GCC Administrator1-1/+1
From-SVN: r145083
2009-03-25bfin.c (bfin_optimize_loop): If the LSETUP goes before a jump insn...Bernd Schmidt2-3/+16
* config/bfin/bfin.c (bfin_optimize_loop): If the LSETUP goes before a jump insn, count that jump in the distance to the loop start. From-SVN: r145080
2009-03-25re PR target/39523 (SH: global registers are wrongly saved)Kaz Kojima2-1/+9
PR target/39523 * config/sh/sh.c (calc_live_regs): Fix condition for global registers except PIC_OFFSET_TABLE_REGNUM. From-SVN: r145077