1. 16 Mar, 2011 4 commits
    • final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION. · 2b1c5433
      	* 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
    • re PR target/45844 (FAIL: gfortran.dg/vect/pr45714-b.f -O (internal compiler error)) · 9ef13bd0
      	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
    • Daily bump. · 33824157
      From-SVN: r171026
      GCC Administrator committed
    • thread: Revert. · d5545744
      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
  2. 15 Mar, 2011 24 commits
  3. 14 Mar, 2011 12 commits
    • Fix fix to PR 48053 · 35f61ba4
      From-SVN: r170962
      Michael Meissner committed
    • sol2.c (solaris_assemble_visibility): Remove obsolete URLs. · 07332e6d
      	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
    • re PR middle-end/47917 (snprintf(..., "const string") should be optimized into memcpy) · ba3ceb2d
      	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
    • printers.py (_use_gdb_pp): New global. · d63c53cc
      	* 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
    • re PR middle-end/38878 (gcc.dg/tree-ssa/foldaddr-1.c XFAILed) · 2e64f8b8
      	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
    • re PR debug/47946 (Dwarf uses 64-bits to refer to a structure offset unnecessarily) · de888d90
      	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. · f4e749b4
      	* 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
    • i386.md (ROUND_FLOOR): New constant. · d34abfd2
      	* 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
    • c-parser.c (c_parser_asm_string_literal): Clear warn_overlength_strings. · 87f9e23d
      gcc
      	* c-parser.c (c_parser_asm_string_literal): Clear
      	warn_overlength_strings.
      gcc/testsuite
      	* gcc.dg/Woverlength-strings-pedantic-c90-asm.c: New file.
      	* gcc.dg/Woverlength-strings-pedantic-c89-asm.c: New file.
      	* gcc.dg/Woverlength-strings-pedantic-c99-asm.c: New file.
      
      From-SVN: r170948
      Tom Tromey committed
    • c-parser.c (disable_extension_diagnostics): Save warn_overlength_strings. · b3ab9ea2
      gcc
      	* c-parser.c (disable_extension_diagnostics): Save
      	warn_overlength_strings.
      	(restore_extension_diagnostics): Restore warn_overlength_strings.
      gcc/testsuite
      	* gcc.dg/Woverlength-strings-pedantic-c89-ext.c: New file.
      	* gcc.dg/Woverlength-strings-pedantic-c90-ext.c: New file.
      	* gcc.dg/Woverlength-strings-pedantic-c99-ext.c: New file.
      
      From-SVN: r170947
      Tom Tromey committed
    • re PR libstdc++/48114 ([C++0x] binomial_distribution incorrect for p > .5 and… · d8d4db33
      re PR libstdc++/48114 ([C++0x] binomial_distribution incorrect for p > .5 and geometric_distribution wrongly implements the TR1 definition)
      
      2011-03-14  Andrey Zholos  <aaz@althenia.net>
      
      	PR libstdc++/48114
      	* include/bits/random.h (geometric_distribution): Correct formula
      	in comment, per C++0x.
      	(geometric_distribution<>::param_type::param_type(double)): Fix check.
      	(geometric_distribution<>::param_type::_M_initialize):
      	Store log(1 - p).
      	* include/bits/random.tcc (geometric_distribution<>::operator()):
      	Fix computation.
      	(binomial_distribution<>::operator()): Likewise.
      
      From-SVN: r170946
      Andrey Zholos committed
    • Enable __float128 test for 32bit. · 7edc478c
      2011-03-14  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* gcc.target/i386/builtin-copysign.c: Remove __LP64__ check.
      
      From-SVN: r170945
      H.J. Lu committed