- 16 Mar, 2011 8 commits
-
-
PR lto/46944 * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor): Handle in-tree gold. (ld_vers): Extract binutils version for gold. (gcc_cv_ld_hidden): Handle gold here. (gcc_cv_lto_plugin): Determine level of linker plugin support. * configure: Regenerate. * config.in: Regenerate. * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject -fuse-linker-plugin otherwise. (LINK_PLUGIN_SPEC): Define. Extract from LINK_COMMAND_SPEC. (LINK_COMMAND_SPEC): Use it. (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0. From-SVN: r171039
Rainer Orth committed -
* emit-rtl.c (try_split): Don't call copy_call_info debug hook. * calls.c: Remove debug.h include. (emit_call_1): Don't call virtual_call_token debug hook. * dwarf2out.c (debug_dcall_section, debug_vcall_section, dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn, vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION, size_of_dcall_table, output_dcall_table, size_of_vcall_table, output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash, vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn, dwarf2out_virtual_call_token, dwarf2out_copy_call_info, dwarf2out_virtual_call): Remove. (dwarf2_debug_hooks): Remove direct_call, virtual_call_token, copy_call_info and virtual_call hooks. (dwarf2out_init): Don't initialize vcall_insn_table, debug_dcall_section and debug_vcall_section. (prune_unused_types): Don't mark nodes from dcall_table. (dwarf2out_finish): Don't output dcall or vcall tables. * final.c (final_scan_insn): Don't call direct_call or virtual_call debug hooks. * debug.h (struct gcc_debug_hooks): Remove direct_call, virtual_call_token, copy_call_info and virtual_call hooks. (debug_nothing_uid): Remove prototype. * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token, copy_call_info and virtual_call hooks. * vmsdbgout.c (vmsdbg_debug_hooks): Likewise. * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise. * debug.c (do_nothing_debug_hooks): Likewise. (debug_nothing_uid): Remove. * doc/invoke.texi (-fenable-icf-debug): Remove. * common.opt (-fenable-icf-debug): Likewise. * g++.dg/debug/dwarf2/icf.C: Adjust for -fenable-icf-debug removal. From-SVN: r171037
Jakub Jelinek committed -
* calls.c (emit_call_1): Set MEM_EXPR on call's MEM. * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on call's MEM. Handle functions returning aggregate through a hidden first pointer. For virtual calls add clobbered pc to call arguments chain. * dwarf2out.c (gen_subprogram_die): Emit DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target can't be emitted. From-SVN: r171036
Jakub Jelinek committed -
PR debug/45882 * rtl.def (ENTRY_VALUE): Change format from "e" to "0". * rtl.h (ENTRY_VALUE_EXP): Define. * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE. * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise. * print-rtl.c (print_rtx): Likewise. * gengtype.c (adjust_field_rtx_def): Likewise. * var-tracking.c (vt_add_function_parameter): Adjust gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro. * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro. * cfgexpand.c (expand_debug_expr): If a SSA_NAME without partition is a default definition of a PARM_DECL, use ENTRY_VALUE of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set. * gcc.dg/guality/pr45882.c: New test. From-SVN: r171035
Jakub Jelinek committed -
* final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION. Call var_location debug hook even on CALL_INSNs. (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION. * rtl.def (ENTRY_VALUE): New. * dwarf2out.c: Include cfglayout.h. (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands, output_loc_operands_raw): Handle DW_OP_GNU_entry_value. (struct call_arg_loc_node): New type. (call_arg_locations, call_arg_loc_last, block_map, call_site_count, tail_call_site_count): New variables. (dwarf_tag_name): Handle DW_TAG_GNU_call_site and DW_TAG_GNU_call_site_parameter. (dwarf_attr_name): Handle DW_AT_GNU_call_site_value, DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target, DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call, DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites and DW_AT_GNU_all_source_call_sites. (mem_loc_descriptor): Handle ENTRY_VALUE. (add_src_coords_attributes): Don't add enything if DECL_SOURCE_LOCATION is UNKNOWN_LOCATION. (dwarf2out_abstract_function): Save and clear call_arg_location, call_site_count and tail_call_site_count around dwarf2out_decl call. (gen_call_site_die): New function. (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites. (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map. (dwarf2out_function_decl): Clear call_arg_locations, call_arg_loc_last, set call_site_count and tail_call_site_count to -1 and free block_map. (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and CALL_INSNs. Add NOTE_DURING_CALL_P var location notes even when not followed by any real instructions. (dwarf2out_begin_function): Set call_site_count and tail_call_site_count to 0. (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL attempt to force a DIE for it and worst case remove the attribute. (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of the decl itself. * var-tracking.c: Include tm_p.h. (vt_stack_adjustments): For calls call note_register_arguments. (argument_reg_set): New variable. (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set ensure the VALUE is resolved. (call_arguments): New variable. (prepare_call_arguments): New function. (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it. (struct expand_loc_callback_data): Add ignore_cur_loc field. (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and always use the best expression. (vt_expand_loc): Add ignore_cur_loc argument. (vt_expand_loc_dummy): Clear ignore_cur_loc field. (emit_note_insn_var_location): Adjust vt_expand_loc callers. (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION note for all calls. (vt_add_function_parameter): Use cselib_lookup_from_insn. If dv is a VALUE, enter into hash table also ENTRY_VALUE for the argument. Don't call cselib_preserve_only_values and cselib_reset_table. (note_register_arguments): New function. (vt_initialize): Compute argument_reg_set. Call vt_add_function_parameters before processing basic blocks instead of afterwards. For calls call prepare_call_arguments before calling cselib_process_insn. * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION. * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H). (var-tracking.o): Depend on $(TM_P_H). * cfglayout.h (insn_scope): New prototype. * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION. * cfglayout.c (insn_scope): No longer static. * insn-notes.def (CALL_ARG_LOCATION): New. * calls.c (expand_call, emit_library_call_value_1): Put USEs for MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally. * integrate.c (set_block_origin_self, set_block_abstract_flags): Do nothing for DECL_EXTERNAL BLOCK_VARS. cp/ * cp-objcp-common.c (cp_function_decl_explicit_p): Don't crash if DECL_LANG_SPECIFIC is NULL. include/ * dwarf2.h (DW_TAG_GNU_call_site, DW_TAG_GNU_call_site_parameter, DW_AT_GNU_call_site_value, DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target, DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call, DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites,, DW_AT_GNU_all_source_call_sites, DW_OP_GNU_entry_value): New. From-SVN: r171033
Jakub Jelinek committed -
PR target/45844 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't create invalid offset address for vsx splat insn. * config/rs6000/predicates.md (splat_input_operand): New. * config/rs6000/vsx.md (vsx_splat_*): Use it. From-SVN: r171031
Alan Modra committed -
From-SVN: r171026
GCC Administrator committed -
2011-03-15 Benjamin Kosnik <bkoz@redhat.com> * include/std/thread: Revert. * src/thread.cc: Same. * config/abi/pre/gnu.ver: Same. From-SVN: r171021
Benjamin Kosnik committed
-
- 15 Mar, 2011 24 commits
-
-
2011-03-15 Doug Kwan <dougkwan@google.com> PR libstdc++/48123 * include/Makefile.am (install-freestanding-headers): Install cpu_defines.h * include/Makefile.in: Regenerate. From-SVN: r171019
Doug Kwan committed -
2011-03-15 Benjamin Kosnik <bkoz@redhat.com> * config/abi/pre/gnu.ver: Make nested_exception exports super clear. Move bad_function_call exports from CXXABI_1.3.5 to GLIBCXX_3.4.15. From-SVN: r171014
Benjamin Kosnik committed -
* pt.c (value_dependent_expression_p) [NOEXCEPT_EXPR]: Don't check value_dependent_expression_p on the operand. From-SVN: r171013
Jason Merrill committed -
c-family/ * c-common.c (max_constexpr_depth): New. * c-common.h: Declare it. * c-opts.c (c_common_handle_option): Set it. * c.opt (fconstexpr-depth): New option. cp/ * semantics.c (push_cx_call_context): Return bool. (cxx_eval_call_expression): Handle excess depth. From-SVN: r171012
Jason Merrill committed -
Core 1191 * method.c (synthezized_method_walk): Cleanups don't affect the triviality of a constructor, but do affect deletion and exception specification. From-SVN: r171011
Jason Merrill committed -
* decl2.c (cp_check_const_attributes): New. (cplus_decl_attributes): Call cp_check_const_attributes. From-SVN: r171010
Rodrigo Rivas Costa committed -
PR c++/34758 * call.c (convert_default_arg): Use DECL_ORIGIN of fn. Check for recursion first. (push_defarg_context, pop_defarg_context): New. * parser.c (cp_parser_late_parsing_default_args): Use them. * cp-tree.h: Declare them. From-SVN: r171009
Jason Merrill committed -
From-SVN: r171008
Xinliang David Li committed -
From-SVN: r171005
Ramana Radhakrishnan committed -
Fixed PR target/46788 and not PR 47688 From-SVN: r171002
Ramana Radhakrishnan committed -
Fix PR 47688 2011-03-18 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> PR target/47668 gcc/ * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c' in the output template. gcc/testsuite/ * gcc.target/arm/pr47688.c: New. From-SVN: r171000
Ramana Radhakrishnan committed -
2011-03-15 Richard Guenther <rguenther@suse.de> PR middle-end/47650 * tree-pretty-print.c (dump_function_declaration): Properly dump unprototyped and varargs function types. * gfortran.dg/c_f_pointer_tests_3.f90: Adjust. * gfortran.dg/ishft_4.f90: Likewise. * gfortran.dg/leadz_trailz_3.f90: Likewise. From-SVN: r170995
Richard Guenther committed -
2011-03-15 Richard Guenther <rguenther@suse.de> PR tree-optimization/13954 * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy and friends. * g++.dg/tree-ssa/pr13954.C: New testcase. From-SVN: r170994
Richard Guenther committed -
2011-03-15 Richard Guenther <rguenther@suse.de> PR tree-optimization/48037 * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector selects into BIT_FIELD_REFs. (non_rewritable_mem_ref_base): Check if a MEM_REF is a vector select. * gcc.target/i386/pr48037-1.c: New testcase. From-SVN: r170986
Richard Guenther committed -
PR tree-optimization/48129 * builtins.c (fold_builtin_snprintf): Convert to type of built_in_decls[BUILT_IN_SNPRINTF] retval instead of implicit_built_in_decls[BUILT_IN_SNPRINTF] retval. From-SVN: r170985
Jakub Jelinek committed -
2011-03-15 Richard Guenther <rguenther@suse.de> PR tree-optimization/41490 * tree-ssa-dce.c (propagate_necessity): Handle returns without value but with VUSE. * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all return statements. * tree-ssa-sink.c (statement_sink_location): Fix store sinking. * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs. * tree-tailcall.c (find_tail_calls): Ignore returns. * gcc.dg/tree-ssa/ssa-sink-6.c: New testcase. * gcc.dg/tree-ssa/ssa-sink-7.c: Likewise. * gcc.dg/tree-ssa/ssa-sink-8.c: Likewise. * gcc.dg/tree-ssa/ssa-sink-9.c: Likewise. * g++.dg/tree-ssa/pr33604.C: Adjust. From-SVN: r170984
Richard Guenther committed -
re PR tree-optimization/48031 (gcc.c-torture/compile/pr42956.c ICEs gcc on m68k-linux, ivopts related?) 2011-03-15 Richard Guenther <rguenther@suse.de> PR middle-end/48031 * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized or variable-indexed array accesses when in gimple form. From-SVN: r170983
Richard Guenther committed -
2011-03-15 Richard Guenther <rguenther@suse.de> * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently. From-SVN: r170981
Richard Guenther committed -
From-SVN: r170980
Francois-Xavier Coudert committed -
2011-03-14 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/48130 * src/future.cc: Guard definitions. * libsupc++/nested_exception.cc: Same. From-SVN: r170979
Benjamin Kosnik committed -
2011-03-14 Benjamin Kosnik <bkoz@redhat.com> * include/bits/regex_compiler.h: Nest namespace versioning. * include/bits/regex_grep_matcher.tcc: Same. * include/bits/regex_grep_matcher.h: Same. * include/bits/regex_cursor.h: Same. * include/bits/regex_nfa.h: Same. * include/bits/regex_nfa.tcc: Same. * include/bits/regex_grep_matcher.h: Version forward declarations. * include/bits/c++config: Add namespace association for __regex. * include/bits/regex.h: Make sub_match consistent. From-SVN: r170978
Benjamin Kosnik committed -
PR target/48032 * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not presume symbol_refs without a symbol_ref_decl are suitably aligned, nor other trees we may see here. Handle anchor symbols. (legitimate_constant_pool_address_p): Comment. Add mode param. Check cmodel=medium addresses. Adjust all calls. (rs6000_emit_move): Don't call offsettable_ok_by_alignment on creating cmodel=medium optimized access to locals. * config/rs6000/constraints.md (R): Pass QImode to legitimate_constant_pool_address_p. * config/rs6000/predicates.md (input_operand): Pass mode to legitimate_constant_pool_address_p. * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p): Update prototype. From-SVN: r170976
Alan Modra committed -
2011-03-14 Benjamin Kosnik <bkoz@redhat.com> * src/Makefile.am: Add functional.cc, shared_ptr.cc. * src/Makefile.in: Regenerate. * libsupc++/Makefile.am: Add nested_exception.cc. * libsupc++/Makefile.in: Regenerate. * src/system_error.cc: Add ctor and dtor definitions for error_category. * src/functional.cc: New. Add dtor definition for bad_function_call. * src/stdexcept.cc: Add dtor definitions for domain_error, invalid_argument, length_error, out_of_range, range_error, overflow_error, underflow_error. * src/future.cc: Add dtor definition for __future_base::_Result_base. * src/shared_ptr.cc: New. Add dtor definition for bad_weak_ptr. * src/thread.cc: Add dtor for thread::_Impl_base. * include/std/system_error: Adjust. * include/std/stdexcept: Same. * include/std/future: Same. * include/std/functional: Same. * include/std/thread: Same. * include/bits/shared_ptr_base.h: Same. * libsupc++/nested_exception.cc: New. Add dtor for nested_exception. * libsupc++/nested_exception.h: Adjust. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same. * config/abi/pre/gnu.ver: Add new exports. * include/bits/regex_compiler.h: Nest namespace versioning. * include/bits/regex_grep_matcher.tcc: Same. * include/bits/regex_grep_matcher.h: Same. * include/bits/regex_cursor.h: Same. * include/bits/regex_nfa.h: Same. * include/bits/regex_nfa.tcc: Same. From-SVN: r170975
Benjamin Kosnik committed -
From-SVN: r170974
GCC Administrator committed
-
- 14 Mar, 2011 8 commits
-
-
From-SVN: r170962
Michael Meissner committed -
gcc: * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs. libstdc++-v3: * doc/xml/manual/abi.xml: Replace docs.sun.com URLs by their OTN equivalents. * doc/html/manual/abi.html: Regenerate. From-SVN: r170960
Rainer Orth committed -
PR middle-end/47917 * builtins.c (fold_builtin_snprintf): New function. (fold_builtin_3): Call it for BUILT_IN_SNPRINTF. (fold_builtin_4): Likewise. * gcc.c-torture/execute/pr47917.c: New test. * gcc.dg/pr47917.c: New test. From-SVN: r170959
Jakub Jelinek committed -
* python/libstdcxx/v6/printers.py (_use_gdb_pp): New global. Try to import `gdb.printing' module. (UniquePointerPrinter.__init__): Add 'typename' argument. (StdSlistPrinter.__init__): Likewise. (StdSlistIteratorPrinter.__init__): Likewise. (StdVectorIteratorPrinter.__init__): Likewise. (StdRbtreeIteratorPrinter.__init__): Likewise. (StdDebugIteratorPrinter.__init__): Likewise. (StdDequeIteratorPrinter.__init__): Likewise. (StdStringPrinter.__init__): Likewise. (RxPrinter, Printer): New class. (libstdcxx_printer): New global. (register_libstdcxx_printers): Rewrite. (build_libstdcxx_dictionary): Rewrite. (pretty_printers_dict): Remove. From-SVN: r170958
Tom Tromey committed -
PR middle-end/38878 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add STRIP_NOPS on arg0 and arg1. When optimizing X +- C == X and C - X == X also strip nops from +/-/p+ operand. When optimizing -X == C, fold C to arg0's type. * gcc.dg/tree-ssa/foldaddr-1.c: Remove xfail. From-SVN: r170957
Jakub Jelinek committed -
PR debug/47946 * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative, emit it as add_AT_int instead of add_AT_unsigned. From-SVN: r170956
Jakub Jelinek committed -
* unwind-dw2.c: Include sys/sdt.h if it exists. (_Unwind_DebugHook): Use STAP_PROBE2. * config.in, configure: Rebuild. * configure.ac: Check for sys/sdt.h. From-SVN: r170954
Tom Tromey committed -
* config/i386/i386.md (ROUND_FLOOR): New constant. (ROUND_CEIL): Ditto. (ROUND_TRUNC): Ditto. (ROUND_MXCSR): Ditto. (ROUND_NO_EXC): Ditto. (rint<mode>2): Use new defines instead of numerical constants. (floor<mode>2): Ditto. (ceil<mode>2): Ditto. (btrunc<mode>2): Ditto. * config/i386/i386-builtin-types.def: Define ROUND function type aliases. * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines. (struct builtin_description): Add __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions. (ix86_expand_sse_round): New static function. (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND function types. (ix86_builtin_vectorized_function): Handle BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins. testsuite/ChangeLog: * gcc.target/i386/sse4_1-floor-vec.c: New test. * gcc.target/i386/sse4_1-ceil-vec.c: Ditto. * gcc.target/i386/sse4_1-trunc-vec.c: Ditto. * gcc-target/i386/sse4_1-rint-vec.c: Ditto. * gcc.target/i386/sse4_1-floorf-vec.c: Ditto. * gcc.target/i386/sse4_1-ceilf-vec.c: Ditto. * gcc.target/i386/sse4_1-truncf-vec.c: Ditto. * gcc.target/i386/sse4_1-rintf-vec.c: Ditto. * gcc.target/i386/avx-floor-vec.c: Ditto. * gcc.target/i386/avx-ceil-vec.c: Ditto. * gcc.target/i386/avx-trunc-vec.c: Ditto. * gcc.target/i386/avx-rint-vec.c: Ditto. * gcc.target/i386/avx-floorf-vec.c: Ditto. * gcc.target/i386/avx-ceilf-vec.c: Ditto. * gcc.target/i386/avx-truncf-vec.c: Ditto. * gcc.target/i386/avx-rintf-vec.c: Ditto. From-SVN: r170953
Uros Bizjak committed
-