1. 07 Oct, 2012 11 commits
    • pt.c (fold_non_dependent_expr_sfinae): Remove static specifier. · 81bd268c
      2012-10-07  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* pt.c (fold_non_dependent_expr_sfinae): Remove static specifier.
      	(tsubst_copy_and_build): Use get_target_expr_sfinae.
      	* call.c (build_conditional_expr_1, convert_like_real): Likewise.
      	* cvt.c (build_up_reference): Likewise.
      	(ocp_convert): Use abstract_virtuals_error_sfinae.
      	(build_up_reference): Propagate complain to cp_build_addr_expr.
      	* decl.c (compute_array_index_type): Use fold_non_dependent_expr_sfinae.
      	* cp-tree.h: Update declarations.
      
      	* cvt.c	(build_expr_type_conversion): Tidy.
      
      	* tree.c (stabilize_aggr_init): Change to static.
      
      From-SVN: r192188
      Paolo Carlini committed
    • re PR c++/51422 ([c++0x] ICE with invalid lambda expression) · a5061eed
      /cp
      2012-10-07  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/51422
      	* semantics.c (is_normal_capture_proxy): Return true for
      	error_mark_node as DECL_VALUE_EXPR.
      
      /testsuite
      2012-10-07  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/51422
      	* g++.dg/cpp0x/lambda/lambda-ice8.C: New.
      
      From-SVN: r192187
      Paolo Carlini committed
    • machmode.h (GET_MODE_UNIT_PRECISION): New macro. · 40c5ed5b
      gcc/
      	* machmode.h (GET_MODE_UNIT_PRECISION): New macro.
      	* simplify-rtx.c (simplify_truncation): New function,
      	extracted from simplify_subreg and (in small part) from
      	simplify_unary_operation_1.
      	(simplify_unary_operation_1) <TRUNCATE>: Use it.  Remove sign bit
      	test for !TRULY_NOOP_TRUNCATION_MODES_P.
      	(simplify_subreg): Use simplify_truncate for lowpart subregs
      	where both the inner and outer modes are scalar integers.
      	* config/mips/mips.c (mips_truncated_op_cost): New function.
      	(mips_rtx_costs): Adjust test for BADDU.
      	* config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
      
      From-SVN: r192186
      Richard Sandiford committed
    • ipa-inline-analysis.c (do_estimate_edge_time): Return actual time spent by the inlined sequence. · ed901e4c
      
      	* ipa-inline-analysis.c (do_estimate_edge_time): Return actual
      	time spent by the inlined sequence.
      	(do_estimate_edge_growth): Rename to ...
      	(do_estimate_edge_time): ... this one; return size of inlined
      	sequence.
      	* ipa-inline.h (do_estimate_edge_size): New.
      	(do_estimate_edge_growth): Remove.
      	(estimate_edge_size): New function.
      	(estimate_edge_growth): Use it.
      
      From-SVN: r192185
      Jan Hubicka committed
    • lto-cgraph.c (lto_symtab_encoder_new): New parameter FOR_INPUT. · e75f8f79
      
      	* lto-cgraph.c (lto_symtab_encoder_new): New parameter FOR_INPUT.
      	(lto_symtab_encoder_delete): Update.
      	(lto_symtab_encoder_encode): Update.
      	(compute_ltrans_boundary): Update.
      	(input_symtab): Update.
       	* lto-streamer.h (lto_symtab_encoder_new): Update.
      	
      	* lto.c (read_cgraph_and_symbols): Release type merging hash early;
      	release input encoders.
      	* lto-partition.c (new_partition): Update for new lto_symtab_encoder_new.
      
      From-SVN: r192184
      Jan Hubicka committed
    • Fix typo in previous commit: · 7c9bc875
      2012-10-07  Matthias Klose  <doko@ubuntu.com>
      
              * config/arm/unwind-arm.h (__gnu_unwind_24bit): Mark parameters
              as unused.
              (_Unwind_decode_typeinfo_ptr): Mark base as unused.
      
      From-SVN: r192182
      Matthias Klose committed
    • unwind-arm.h (__gnu_unwind_24bit): Mark parameters as unused. · acb72498
      2012-10-07  Matthias Klose  <doko@ubuntu.com>
      
              * config/arm/unwind-arm.h (__gnu_unwind_24bit): Mark parameters
              as unused.
              (_Unwind_decode_typeinfo_ptr): Mark base as unused.
      
      From-SVN: r192181
      Matthias Klose committed
    • basic: Remove empty directory. · d39e4c0c
      2012-10-07  Matthias Klose  <doko@ubuntu.com>
      
              * testsuite/28_regex/algorithms/match/basic: Remove empty directory.
              * testsuite/28_regex/algorithms/match/extended: Likewise.
              * testsuite/28_regex/algorithms/match: Likewise.
      
      From-SVN: r192180
      Matthias Klose committed
    • mips-protos.h (mips_split_type): New enum. · 4670abb0
      gcc/
      	* config/mips/mips-protos.h (mips_split_type): New enum.
      	(mips_split_64bit_move_p, mips_split_doubleword_move): Delete.
      	(mips_split_move_p, mips_split_move, mips_split_move_insn_p)
      	(mips_split_move_insn): Declare.
      	* config/mips/mips.c (mips_tuning_info): New variable.
      	(mips_load_store_insns): Use mips_split_move_insn_p instead of
      	mips_split_64bit_move_p.
      	(mips_emit_move_or_split, mips_mult_move_p): New functions.
      	(mips_split_64bit_move_p): Rename to...
      	(mips_split_move_p): ...this and take a mips_split_type argument.
      	Generalize to all moves.  Call mips_mult_move_p.
      	(mips_split_doubleword_move): Rename to...
      	(mips_split_move): ...this and take a mips_split_type argument.
      	Assert that mips_split_move_p holds.
      	(mips_insn_split_type, mips_split_move_insn_p, mips_split_move_insn):
      	New functions.
      	(mips_output_move): Use mips_split_move_p instead of
      	mips_split_64bit_move_p.  Handle MULT $0, $0 moves.
      	(mips_save_reg): Use mips_emit_move_or_split.
      	(mips_sim_reset): Assign to curr_state.  Call targetm.sched.init
      	and advance_state.
      	(mips_sim_init): Call targetm.sched.init_dfa_pre_cycle_insn and
      	targetm.sched.init_dfa_post_cycle_insn, if defined.
      	(mips_sim_next_cycle): Assign to curr_state.  Use advance_state
      	instead of state_transition.
      	(mips_sim_issue_insn): Assign to curr_state.  Use
      	targetm.sched.variable_issue to see how many more insns
      	can be issued.
      	(mips_seq_time, mips_mult_zero_zero_cost)
      	(mips_set_fast_mult_zero_zero_p, mips_set_tuning_info)
      	(mips_expand_to_rtl_hook): New functions.
      	(TARGET_EXPAND_TO_RTL_HOOK): Define.
      	* config/mips/mips.md (move_type): Add imul.
      	(type): Map imul move_types to imul.
      	(*movdi_32bit, *movti): Add imul alternatives.
      	Use mips_split_move_insn_p and mips_split_move_insn instead of
      	mips_split_64bit_move_p and mips_split_doubleword_move in move
      	splitters.
      
      gcc/testsuite/
      2012-10-07  Richard Sandiford  <rdsandiford@googlemail.com>
      	    Sandra Loosemore  <sandra@codesourcery.com>
      
      	* gcc.target/mips/madd-9.c: Force code to be tuned for the 4kc
      	and test that the accumulator is initialized using MULT.
      	* gcc.target/mips/mips32-dsp-accinit-1.c: New test.
      	* gcc.target/mips/mips32-dsp-accinit-2.c: Likewise.
      
      Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
      
      From-SVN: r192179
      Richard Sandiford committed
    • rs6000.c (print_operand): Delete. · 03d15315
      gcc/
      	* config/rs6000/rs6000.c (print_operand) ['A']: Delete.
      
      From-SVN: r192178
      Segher Boessenkool committed
    • Daily bump. · d82f0a93
      From-SVN: r192177
      GCC Administrator committed
  2. 06 Oct, 2012 21 commits
  3. 05 Oct, 2012 8 commits
    • config.host (*-*-openbsd*): Add t-eh-dw2-dip to tmake_file. · 8eaee0f0
      	* config.host (*-*-openbsd*): Add t-eh-dw2-dip to tmake_file.
      	* unwind-dw2-fde-dip.c: Don't include <elf.h> on OpenBSD.
      	(USE_PT_GNU_EH_FRAME): Define for OpenBSD.
      	(ElfW): Likewise.
      
      From-SVN: r192148
      Mark Kettenis committed
    • match: Rename to... · d2edfb15
      2012-10-05  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* testsuite/28_regex/algorithms/match: Rename to...
      	* testsuite/28_regex/algorithms/regex_match: ...this.
      	* testsuite/28_regex/basic_regex/regex.cc: Rename to...
      	* testsuite/28_regex/basic_regex/ctors/basic/default.cc: ...this.
      	* testsuite/util/testsuite_regex.h: New.
      	* testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: New.
      
      From-SVN: r192146
      Benjamin Kosnik committed
    • pa.md: Adjust unamed HImode add insn pattern. · 74bf7dbb
      	* config/pa/pa.md: Adjust unamed HImode add insn pattern.
      
      From-SVN: r192143
      John David Anglin committed
    • sh.c (builtin_description): Add is_enabled member. · 6d9e1220
      	* config/sh/sh.c (builtin_description): Add is_enabled member.
      	(shmedia_builtin_p): New function.
      	(bdesc): Use shmedia_builtin_p for existing built-ins.
      	(sh_media_init_builtins, sh_init_builtins): Merge into single function
      	sh_init_builtins.  Add is_enabled checking.  Move variable declarations
      	to where they are actually used.
      	(sh_media_builtin_decl, sh_builtin_decl): Merge into single function
      	sh_builtin_decl.  Add is_enabled checking.
      	(sh_expand_builtin): Move variable declarations to where they are
      	actually used.
      
      From-SVN: r192142
      Oleg Endo committed
    • cp-tree.h (SIZEOF_EXPR_TYPE_P): Define. · 0d23cf7a
      cp/
      	* cp-tree.h (SIZEOF_EXPR_TYPE_P): Define.
      	* tree.c (cp_tree_equal): Handle SIZEOF_EXPR with
      	SIZEOF_EXPR_TYPE_P.
      	* mangle.c (write_expression): Likewise.
      	* cxx-pretty-print.c (pp_cxx_unary_expression): Likewise.
      	* error.c (dump_expr): Likewise.
      	* parser.c (cp_parser_unary_expression): For sizeof call
      	cxx_sizeof_or_alignof_{type,expr} just for diagnostics and
      	return SIZEOF_EXPR with the operand.
      	* pt.c (tsubst_copy, tsubst_copy_and_build): For SIZEOF_EXPR,
      	call cxx_sizeof_or_alignof_{type,expr} for diagnostics, but
      	return SIZEOF_EXPR with tsubsted operand.
      	(value_dependent_expression_p): Handle SIZEOF_EXPR with
      	SIZEOF_EXPR_TYPE_P.
      	(instantiation_dependent_r): Likewise.
      	* call.c (null_ptr_cst_p): Call maybe_constant_value for C++98.
      	* semantics.c (finish_call_expr): Call
      	sizeof_pointer_memaccess_warning if needed.
      	(cxx_eval_constant_expression): Handle SIZEOF_EXPR.
      	(potential_constant_expression_1): Remove early exit for
      	C++98.  Handle PROPERTY_REF.
      	* decl.c (duplicate_decls): When redeclaring a builtin function,
      	keep the merged decl builtin also if newdecl is a gnu_inline
      	inline definition.
      	(fold_sizeof_expr_r): New function.
      	(compute_array_index_type): Fold SIZEOF_EXPRs in itype.
      	* cp-gimplify.c (cp_genericize_r): Fold SIZEOF_EXPR.
      	* typeck.c (cp_build_binary_op): For warn_for_sign_compare
      	try harder using maybe_constant_value to get INTEGER_CSTs.
      
      	* decl.c (stabilize_vla_size): Call pointer_set_destroy
      	at the end.
      testsuite/
      	* g++.dg/torture/Wsizeof-pointer-memaccess1.C: New test.
      	* g++.dg/torture/Wsizeof-pointer-memaccess2.C: New test.
      	* g++.dg/warn/Wsign-compare-5.C: New test.
      	* g++.dg/warn/Wsizeof-pointer-memaccess-1.C: New test.
      	* g++.dg/warn/Wnull-conversion-1.C: For c++11 add dg-error.
      	* g++.dg/ext/builtin30.C: New test.
      	* g++.dg/ext/vla12.C: New test.
      	* gcc.dg/builtins-85.c: New test.
      libstdc++-v3/
      	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line
      	numbers.
      
      From-SVN: r192141
      Jakub Jelinek committed
    • tree-inline.c (expand_call_inline): Move VAR_DECLs with PARM_DECL origins from… · 94645a02
      tree-inline.c (expand_call_inline): Move VAR_DECLs with PARM_DECL origins from remapped DECL_INITIAL's BLOCK_VARS...
      
      	* tree-inline.c (expand_call_inline): Move VAR_DECLs with
      	PARM_DECL origins from remapped DECL_INITIAL's BLOCK_VARS
      	into id->block's BLOCK_VARS.
      
      From-SVN: r192140
      Jakub Jelinek committed
    • re PR debug/54519 (Debug info quality regression due to (pointless) partial inlining) · 878eef4a
      	PR debug/54519
      	* ipa-split.c (split_function): Add debug args and
      	debug source and normal stmts for args_to_skip which are
      	gimple regs.
      	* tree-inline.c (copy_debug_stmt): When inlining, adjust
      	source debug bind stmts to debug binds of corresponding
      	DEBUG_EXPR_DECL.
      
      	* gcc.dg/guality/pr54519-1.c: New test.
      	* gcc.dg/guality/pr54519-2.c: New test.
      	* gcc.dg/guality/pr54519-3.c: New test.
      	* gcc.dg/guality/pr54519-4.c: New test.
      	* gcc.dg/guality/pr54519-5.c: New test.
      	* gcc.dg/guality/pr54519-6.c: New test.
      
      From-SVN: r192139
      Jakub Jelinek committed
    • re PR target/54686 (std::abs (long long) resorts to std::abs (double) if llabs is absent) · 3b1cd14d
      2012-10-05  Marc Glisse  <marc.glisse@inria.fr>
      
      	PR libstdc++/54686
      	* include/c_global/cstdlib (abs(long long)): Define with
      	__builtin_llabs when we have long long.
      	(abs(long)): Use __builtin_labs.
      	(abs(__int128)): Define when we have __int128.
      
      From-SVN: r192138
      Marc Glisse committed