Commit Graph

116235 Commits

Author SHA1 Message Date
Jason Merrill
1c4010c6d6 re PR c++/51148 ([C++0x] Unexpanded template param packs wrongly accepted in friend class declarations)
PR c++/51148
	* friend.c (make_friend_class): Call check_for_bare_parameter_packs.

From-SVN: r186495
2012-04-16 10:15:36 -04:00
Richard Guenther
ac9a074c72 re PR c/52977 (internal compiler error: Segmentation fault with -x c-header' or -x cxx-header' option)
2012-04-16  Richard Guenther  <rguenther@suse.de>

	PR middle-end/52977
	* tree.h (VECTOR_CST_NELTS): Adjust.
	(struct tree_vector): Add explicit length field.
	(make_vector_stat): Declare.
	(make_vector): Define.
	* tree.c (make_vector_stat): New function.
	(build_vector_stat): Use it.
	* tree-streamer-in.c (streamer_alloc_tree): Likewise.

From-SVN: r186494
2012-04-16 13:21:30 +00:00
Bill Schmidt
fba621209f re PR tree-optimization/52976 (Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math)
2012-04-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/52976
	* tree-ssa-reassoc.c (add_to_ops_vec_max_rank): New function.
	(undistribute_ops_list): Ops with repeat counts aren't eligible for
	undistribution.
	(attempt_builtin_powi): Call add_to_ops_vec_max_rank.

From-SVN: r186493
2012-04-16 12:15:50 +00:00
Jan Hubicka
65c70e6b03 cgraph.h (FOR_EACH_VARIABLE, [...]): New macros.
* cgraph.h (FOR_EACH_VARIABLE, FOR_EACH_VARIABLE, FOR_EACH_FUNCTION):
	New macros.
	* lto-symtab.c (lto_symtab_merge_cgraph_nodes): Use FOR_EACH
	walkers to walk cgraph and varpool.
	* cgraph.c (cgraph_node_for_asm): Likewise.
	(dump_cgraph): Likewise.
	* value-prof.c (init_node_map): Likewise.
	* tree.c (free_lang_data_in_cgraph): Likewise.
	* tree-emutls.c: (ipa_lower_emutls): Likewise.
	* ipa-reference.c (generate_summary, propagate): Likewise.
	* cgraphunit.c (verify_cgraph, cgraph_process_same_body_aliases,
	cgraph_mark_functions_to_output, cgraph_output_in_order,
	output_weakrefs, cgraph_materialize_all_clones,
	cgraph_optimize): Likewise.
	* lto-cgraph.c (merge_profile_summaries): Likewise.
	(input_cgraph): Likewise.
	* ipa-pure-const.c (generate_summary): Likewise.
	(propagate): Likwise.
	* ipa-utils.c (ipa_reduced_postorder): Likewise.
	(ipa_free_postorder_info): Likewise.
	(ipa_reverse_postorder): Likewise.
	* ipa-inline.c (ipa_inline): Likewise.
	* matrix-reorg.c (find_matrices_decl): Likewise.
	(matrix_reorg): Likewise.
	* tree-vectorizer.c (increase_alignment): Likewise.
	* ipa.c (cgraph_remove_unreachable_nodes): Likewise.
	(function_and_variable_visibility): Likewise.
	(whole_program_function_and_variable_visibility): Likewise.
	(ipa_cdtor_merge): Likewise.
	* trans-mem.c (ipa_tm_execute): Likewise.
	* ipa-inline-analysis.c (dump_inline_summaries): Likewise.
	* ipa-prop.c (ipa_print_all_jump_functions): Likewise.
	(ipa_print_all_params): Likewise.
	(ipa_update_after_lto_read): Likewise.
	* tree-profie.c (tree_profiling): Likewise.
	* tree-ssa-structalias.c (ipa_pta_execute): Likewise.
	* passes.c (dump_passes): Likewise.
	(do_per_function): Likewise.
	(ipa_write_summaries): Likewise.
	* varpool.c (dump_varpool): Likewise.
	(varpool_node_for_asm): Likewise.
	(varpool_assemble_pending_decls): Likewise.


	* decl2.c (collect_candidates_for_java_method_alias): Use FOR_EACH
        walkers to walk cgraph and varpool.

	* lto.c (read_cgraph_and_symbols): Use FOR_EACH
        walkers to walk cgraph and varpool.
	(materialize_cgraph): Likewise.
	* lto-partition.c (lto_1_to_1_map): Likewise.
	(lto_balanced_map): Likewise.
	(lto_promote_cross_file_statics): Likewise.

From-SVN: r186492
2012-04-16 12:04:17 +00:00
Richard Guenther
8b7db2596e re PR tree-optimization/52975 (Ofast produces not optimized code for vectorized "converted if")
2012-04-16  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/52975
	* tree-if-conv.c (predicate_bbs): Do not simplify inverted
	condition but always mark it with TRUTH_NOT_EXPR.

From-SVN: r186491
2012-04-16 11:03:16 +00:00
Rainer Orth
3be7407913 Fix plugin testsuite, remove uses of TODO_dump_func (PR testsuite/52948)
* lib/plugin-support.exp (plugin-test-execute): Properly determine
	testcase name.
	Use fail, pass instead of unresolved.
	Don't log $optstr.

	PR testsuite/52948
	* g++.dg/plugin/dumb_plugin.c (pass_dumb_plugin_example): Remove
	TODO_dump_func.
	* g++.dg/plugin/selfassign.c (pass_warn_self_assign): Likewise.
	* gcc.dg/plugin/one_time_plugin.c (one_pass): Likewise.
	* gcc.dg/plugin/selfassign.c (pass_warn_self_assign): Likewise.

From-SVN: r186490
2012-04-16 10:14:40 +00:00
Richard Guenther
2515d91645 re PR tree-optimization/52975 (Ofast produces not optimized code for vectorized "converted if")
2012-04-16  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/52975
	* tree-ssa-forwprop.c (combine_cond_exprs): New function.
	(ssa_forward_propagate_and_combine): Call it for COND_EXPRs
	and VEC_COND_EXPRs.  Also combine into VEC_COND_EXPRs condition.
	* fold-const.c (operand_equal_p): Handle TARGET_MEM_REF.

From-SVN: r186488
2012-04-16 09:25:14 +00:00
Janus Weil
42ff605a7b re PR fortran/52968 ([OOP] Call to type-bound procedure wrongly rejected)
2012-04-16  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/52968
	* class.c (gfc_build_class_symbol): Make sure the 'f2k_derived'
	namespace is present.


2012-04-16  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/52968
	* gfortran.dg/typebound_call_23.f03: New test case.

From-SVN: r186486
2012-04-16 10:48:11 +02:00
Jason Merrill
56992a7883 re PR c++/47220 ([C++0x] no error on unterminated template argument list for variadic parameter)
PR c++/47220
	* pt.c (coerce_template_parameter_pack): Check for error_mark_node.

From-SVN: r186480
2012-04-15 23:18:17 -04:00
Jason Merrill
f905751487 re PR c++/52292 ([C++11] Variadic template expansion into fixed template causes constructor to not match)
PR c++/52292
	PR c++/52380
	* pt.c (coerce_template_parms): Even if we aren't converting we
	want to expand argument packs.

From-SVN: r186479
2012-04-15 23:18:06 -04:00
GCC Administrator
51c8ebb3fb Daily bump.
From-SVN: r186478
2012-04-16 00:18:34 +00:00
Paolo Carlini
6a9ecd3492 re PR libstdc++/52702 ([C++11] std::is_trivially_destructible is missing)
2012-04-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/52702
	* include/std/type_traits (is_trivially_destructible): Add.
	(has_trivial_destructor): Remove.
	* testsuite/util/testsuite_common_types.h: Adjust.
	* testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
	* testsuite/20_util/pair/requirements/dr801.cc: Likewise.
	* testsuite/20_util/is_trivially_destructible/value.cc: New.
	* testsuite/20_util/is_trivially_destructible/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_trivially_destructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r186474
2012-04-15 23:35:27 +00:00
Jason Merrill
a3ddb73883 re PR c++/52706 ([C++11] Demangling of templates with std::nullptr_t as non-type parameter)
PR c++/52706
	* mangle.c (write_type): nullptr_t is a builtin type.

From-SVN: r186469
2012-04-15 13:07:39 -04:00
Jason Merrill
04b391c164 re PR c++/52818 (printf format %lf is erroneously rejected by C++11)
PR c++/52818
	* c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
	(C_STD_NAME): Distinguish between C++98 and C++11.

From-SVN: r186468
2012-04-15 13:07:30 -04:00
Thomas Koenig
79617d7e2e re PR libfortran/38199 (missed optimization: I/O performance)
2012-04-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/38199
	PR libfortran/50673
	* intrinsics/string_intriniscs_inc.c (string_len_trim):
	Remove prototypes for string_len_trim and move to...
	* libgfortran.h (string_len_trim): ... here and
	(string_len_trim_char4): ...here.
	* io/unit.c: For non-array internal arrays where we do reading,
	adjust the record length to the last non-blank character.
	* io/unix.c:  Fix typo.

From-SVN: r186466
2012-04-15 11:52:44 +00:00
Janus Weil
9b63dcab1e re PR fortran/51082 ([F03] Wrong result for a pointer to a proc-pointer component)
2012-04-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/51082
	* trans-expr.c (gfc_conv_expr_reference): Check if the expression is a
	simple function call (or a more involved PPC reference).


2012-04-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/51082
	* gfortran.dg/proc_ptr_comp_34.f90: New test case.

From-SVN: r186465
2012-04-15 13:47:49 +02:00
Tobias Burnus
cdd244b832 re PR fortran/52916 (481.wrf in SPEC CPU 2006 failed to build)
2012-04-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52916
        PR fortran/40973
        * gfortran.h (symbol_attribute): Add public_used.
        * interface.c (check_sym_interfaces, check_uop_interfaces,
        gfc_check_interfaces): Set it.
        * resolve.c (resolve_typebound_procedure): Ditto.
        * trans-decl.c (build_function_decl): Use it.

2012-04-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52916
        PR fortran/40973
        * gfortran.dg/public_private_module_3.f90: New.
        * gfortran.dg/public_private_module_4.f90: New.

From-SVN: r186464
2012-04-15 07:52:51 +02:00
GCC Administrator
9aad845a63 Daily bump.
From-SVN: r186460
2012-04-15 00:18:22 +00:00
Paolo Carlini
f84ca6e7ce re PR libstdc++/52699 (infinite loop generated with -O0)
2012-04-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/52699
	* include/bits/random.tcc (independent_bits_engine<>::operator()())
	Avoid various overflows; use common_type on result_type and
	_RandomNumberEngine::result_type; avoid floating point computations;
	other smaller tweaks.

	* include/bits/random.tcc (uniform_int_distribution<>::operator())
	Use common_type; assume _UniformRandomNumberGenerator::result_type
	unsigned; tidy.

	* include/bits/stl_algobase.h (__lg(unsigned), __lg(unsigned long),
	__lg(unsigned long long)): Add.

From-SVN: r186456
2012-04-14 22:33:22 +00:00
Uros Bizjak
608dccd7ab * config/i386/sse.md: Fix whitespace and formatting.
From-SVN: r186455
2012-04-14 16:09:11 +02:00
Uros Bizjak
8861ba4daf sse.md (ssse3_plusminus): New code iterator.
2012-04-14  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/sse.md (ssse3_plusminus): New code iterator.
	(avx2_ph<plusminus_mnemonic>wv16hi3): Macroize insn from
	avx2_ph{add,adds,sub,subs}wv16hi3 using ssse3_plusminus code iterator.
	(ssse3_ph<plusminus_mnemonic>wv8hi3): Macroize insn from
	ssse3_ph{add,adds,sub,subs}wv8hi3 using ssse3_plusminus code iterator.
	(ssse3_ph<plusminus_mnemonic>wv4hi3): Macroize insn from
	ssse3_ph{add,adds,sub,subs}wv4hi3 using ssse3_plusminus code iterator.

	(avx2_ph<plusminus_mnemonic>dv8si3): Macroize insn from
	avx2_ph{add,adds,sub,subs}dv8si3 using plusminus code iterator.
	(ssse3_ph<plusminus_mnemonic>dv4si3): Macroize insn from
	ssse3_ph{add,adds,sub,subs}dv4si3 using plusminus code iterator.
	(ssse3_ph<plusminus_mnemonic>dv2si3): Macroize insn from
	ssse3_ph{add,adds,sub,subs}dv2si3 using plusminus code iterator.

	(xop_plus): New code iterator.
	(macs): New code attribute.
	(macds): Ditto.
	(xop_p<macs><ssemodesuffix><ssemodesuffix>): Macroize insn from
	xop_pmacs{,s}{ww,dd} using xop_plus code iterator and VI24_128 mode
	iterator.
	(xop_p<macs>dql): Macroize insn from xop_pmacs{,s}dql using
	xop_plus code iterator.
	(xop_p<macs>dqh): Macroize insn from xop_pmacs{,s}dqh using
	xop_plus code iterator.
	(xop_p<macs>wd): Macroize insn from xop_pmacs{,s}wd using
	xop_plus code iterator.
	(xop_p<madcs>wd): Macroize insn from xop_pmadcs{,s}wd using
	xop_plus code iterator.

	(xop_phadd<u>bw): Macroize insn from xop_phadd{,u}bw usign
	any_extend code iterator.
	(xop_phadd<u>bd): Macroize insn from xop_phadd{,u}bd usign
	any_extend code iterator.
	(xop_phadd<u>bq): Macroize insn from xop_phadd{,u}bq usign
	any_extend code iterator.
	(xop_phadd<u>wd): Macroize insn from xop_phadd{,u}wd usign
	any_extend code iterator.
	(xop_phadd<u>wq): Macroize insn from xop_phadd{,u}wq usign
	any_extend code iterator.
	(xop_phadd<u>dq): Macroize insn from xop_phadd{,u}dq usign
	any_extend code iterator.

From-SVN: r186454
2012-04-14 15:30:46 +02:00
Alan Modra
531b2c7b74 re PR libstdc++/52839 (double free or corruption running tr1/.../default_weaktoshared.exe)
PR libstdc++/52839
	* acinclude.m4 (_GLIBCXX_ATOMIC_BUILTINS): Do not depend on
	glibcxx_cv_atomic_long_long.
	* configure: Regenerate.

From-SVN: r186453
2012-04-14 22:54:43 +09:30
Tom de Vries
01e3d28cd5 superblock.c: New test.
2012-04-14  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/superblock.c: New test.

From-SVN: r186452
2012-04-14 12:17:50 +00:00
Tom de Vries
03fbe718cb cfgcleanup.c (try_optimize_cfg): Replace call to delete_insn_chain by call to delete_insn.
2012-04-14  Tom de Vries  <tom@codesourcery.com>

	* cfgcleanup.c (try_optimize_cfg): Replace call to delete_insn_chain by
	call to delete_insn.  Remove code to reorder BASIC_BLOCK note and
	DELETED_LABEL note, and move it to ...
	* cfgrtl.c (delete_insn): ... here.  Change return type to void.
	(delete_insn_and_edges): Likewise.
	(delete_insn_chain): Handle new return type of delete_insn.  Delete
	chain backwards rather than forwards.
	* rtl.h (delete_insn, delete_insn_and_edges): Change return type to
	void.
	* cfglayout.c (fixup_reorder_chain): Delete unused label.

From-SVN: r186451
2012-04-14 12:17:41 +00:00
Jan Hubicka
960bfb6929 cgraph.h: Update copyrights;
* cgraph.h: Update copyrights;
	(symtab_node): Turn to union typedef.
	(symtab_node_base): New structure.
	(symtab_type): Add SYMTAB_SYMBOL tag.
	* cgraph.c: Update references to fields
	(cgraph_hash, assembler_name_hash): Turn into symtab_node.
	(cgraph_local_info): Remove lto_file_data
	and externally_visible.
	(cgraph_node): Remove decl; same_comdat_group list;
	aux; ref_list; order; address_taken; reachable_from_other_parittion,
	in_other_partition; resolution.
	(varpool_node): Remove decl; same_comdat_group;
	ref_list; lto_file_data; aux; order; resolution; externally_visible;
	used_from_other_partition; in_other_partition.
	(symtab_node_def); New union.
	(cgraph, varpool): Update.
	(varpool_first_static_initializer, varpool_next_static_initializer,
	cgraph_only_called_directly_or_aliased_p,
	varpool_can_remove_if_no_refs, varpool_can_remove_if_no_refs,
	varpool_all_refs_explicit_p, cgraph_alias_aliased_node,
	varpool_alias_aliased_node, cgraph_edge_recursive_p): Update
	field references.
	* cgraph.c: Likewise.
	* cgraphbuild.c: Likewise.
	* lto-symtab.c: Likewise.
	* c-gimplify.c: Likewise.
	* value-prof.c: Likewise.
	* tree.c: Likewise.
	* ipa-cp.c: Likewise.
	* tree-emutls.c: Likewise.
	* ipa-inline-transform.c: Likwise.
	* ipa-reference.c: Likewise.
	* cgraphunit.c: Likewise.
	* ipa-ref.c: Likewise.
	* lto-cgraph.c: Likewise.
	* ipa-ref-inline.h: Likewise.
	* ipa-pure-const.c: Likewise.
	* lto-streamer-out.c: Likewise.
	* ipa-utils.c: Likewise.
	* ipa-inline.c: Likewise.
	* matrix-reorg.c: Likewise.
	* tree-eh.c: Likewise.
	* tree-vectorizer.c: Likewise.
	* ipa-split.c: Likewise.
	* ipa.c: Likewise.
	* trans-mem.c: Likewise.
	* ipa-inline-analysis.c: Likewise.
	* gimplify.c: Likewise.
	* cfgexpand.c: Likewise.
	* tree-sra.c: Likewise.
	* ipa-prop.c: Likewise.
	* varasm.c: Likewise.
	* tree-nested.c: Likewise.
	* tree-inline.c: Likewise.
	* tree-profile.c: Likewise.
	* tree-ssa-structalias.c: Likewise.
	* passes.c: Likewise.
	* varpool.c: Likewise.

	* tree.c: Update field referenced for new cgraph/varpool layout.
	* decl2.c: Likewise.

	* gcc-interface/trans.c (finalize_nrv): Update field referenced for new
	cgraph/varpool layout.

	* lto.c: Update field referenced for new cgraph/varpool layout.
	* lto-partition.c: Likewise.

From-SVN: r186450
2012-04-14 10:24:59 +00:00
Tom de Vries
30d1ab7583 pr51879-12.c: New test.
2012-04-14  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/pr51879-12.c: New test.

From-SVN: r186448
2012-04-14 05:49:24 +00:00
Tom de Vries
b2b2f160ae tree-ssa-tail-merge.c (stmt_local_def): New function, factored out of same_succ_hash, with local_def inlined.
2012-04-14  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-tail-merge.c (stmt_local_def): New function, factored out of
	same_succ_hash, with local_def inlined.  Use SINGLE_SSA_DEF_OPERAND.
	Use FOR_EACH_IMM_USE_FAST instead of FOR_EACH_IMM_USE_STMT.  Remove use
	of find_edge.
	(gsi_advance_fw_nondebug_nonlocal): New function.
	(local_def): Removed function.
	(same_succ_hash): Use stmt_local_def.
	(same_succ_equal): Use gsi_advance_fw_nondebug_nonlocal.
	(gsi_advance_bw_nondebug_nonlocal): Use stmt_local_def.

From-SVN: r186447
2012-04-14 05:49:15 +00:00
Paolo Carlini
6a9218cc9c 51083.cc: Move...
2012-04-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/26_numerics/cmath/51083.cc: Move...
	* testsuite/26_numerics/headers/cmath/51083.cc: ... here.

From-SVN: r186445
2012-04-14 01:34:00 +00:00
GCC Administrator
939fdefd05 Daily bump.
From-SVN: r186444
2012-04-14 00:20:40 +00:00
Jason Merrill
c26b89b7bf re PR c++/52824 ([C++11] expanding variadic template arguments into non-variadic template)
PR c++/52824
	* pt.c (any_pack_expanson_args_p): New.
	(coerce_template_parms): Use it.

From-SVN: r186434
2012-04-13 15:43:57 -04:00
Jason Merrill
7aca561c86 re PR c++/52905 ([C++0x] ice on invalid brace-enclosed initializer of vector of enums)
PR c++/52905
	* call.c (joust): Handle comparing list and non-list ctors.

From-SVN: r186433
2012-04-13 15:43:47 -04:00
Jason Merrill
7996b7273c re PR c++/52915 ([C++11] Deleted default-constructor of anonymous unions not honored)
PR c++/52915
	* decl2.c (finish_anon_union): Use cp_finish_decl.
	* error.c (dump_function_name): Avoid showing anonymous "name".

From-SVN: r186432
2012-04-13 15:43:37 -04:00
H.J. Lu
6573c644e8 Define _ILP32 and __ILP32__ for x32
* config/i386/i386-c.c (ix86_target_macros): Define _ILP32
	and __ILP32__ for x32.

From-SVN: r186429
2012-04-13 11:20:10 -07:00
Martin Jambor
8e8483e6dc re PR middle-end/52939 (ice in gimple_get_virt_method_for_binfo with -O3)
2012-04-13  Martin Jambor  <mjambor@suse.cz>

	PR middle-end/52939
	* gimple-fold.c (gimple_get_virt_method_for_binfo): Bail out if
	fold_ctor_reference returns a zero constant.

	* testsuite/g++.dg/ipa/pr52939.C: New test.

From-SVN: r186428
2012-04-13 19:57:21 +02:00
Enkovich Ilya
70a6950958 Add and use config/i386/gnu-user-common.h
* config.gcc: Add i386/gnu-user-common.h before all
	i386/gnu-user.h and i386/gnu-user64.h usages.

	* config/i386/gnu-user-common.h: New.

	* config/i386/gnu-user.h (CPP_SPEC): Moved to gnu-user-common.h.
	(CC1_SPEC): Likewise.
	(ENDFILE_SPEC): Likewise.
	(DEFAULT_PCC_STRUCT_RETURN): Likewise.
	(TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Likewise.
	(TARGET_OS_CPP_BUILTINS): Likewise.
	(LIBGCC2_HAS_TF_MODE): Likewise.
	(LIBGCC2_TF_CEXT): Likewise.
	(TF_SIZE): Likewise.
	(TARGET_ASM_FILE_END): Likewise.
	(STACK_CHECK_MOVING_SP): Likewise.
	(STACK_CHECK_STATIC_BUILTIN): Likewise.
	* config/i386/gnu-user64.h: Likewise.

From-SVN: r186427
2012-04-13 10:21:06 -07:00
Martin Jambor
65dc645a15 expr.c (expand_expr_real_1): Pass type, not the expression, to set_mem_attributes for a memory temporary.
2012-04-13  Martin Jambor  <mjambor@suse.cz>

	* expr.c (expand_expr_real_1): Pass type, not the expression, to
	set_mem_attributes for a memory temporary. Do not call the function
	for the memory temporary created for a bitfield.

From-SVN: r186426
2012-04-13 19:12:33 +02:00
Alexandre Oliva
1adbb3614d re PR debug/48866 (gcc hangs when -g is set)
PR debug/48866
* df.h (enum debug_temp_where): New.
(dead_debug_init, dead_debug_finish) Declare.
(dead_debug_add, dead_debug_insert_temp): Declare.
(struct dead_debug_use, struct dead_debug): Moved from...
* df-problems.c: ... here.
(df_set_unused_notes_for_mw): Bind debug uses of unused regno
to a debug temp.
(df_create_unused_note): Likewise.
(df_set_dead_notes_for_mw): Move comment where it belongs.
(dead_debug_init): Export.
(dead_debug_reset_uses): New, factored out of...
(dead_debug_finish): ...this.  Export.
(dead_debug_reset): Remove.
(dead_debug_add): Export.
(dead_debug_insert_before): Rename to...
(dead_debug_insert_temp): ... this.  Add where argument.  Export.
Locate stored value for BEFORE_WITH_VALUE.  Avoid repeat inserts.
Return insertion count.
(df_note_bb_compute): Adjust.
* dce.c (word_dce_process_block): Adjust dead debug uses.
(dce_process_block): Likewise.

From-SVN: r186422
2012-04-13 15:56:21 +00:00
Alexandre Oliva
6ae1d471b1 df-problems.c (df_note_bb_compute): Do not take note of debug uses for whose REGs we won't emit DEAD or UNUSED notes.
* df-problems.c (df_note_bb_compute): Do not take note of
debug uses for whose REGs we won't emit DEAD or UNUSED notes.

From-SVN: r186421
2012-04-13 15:56:07 +00:00
Alexandre Oliva
6a184afa58 re PR debug/51570 (FAIL: gcc.dg/guality/pr45003-[23].c)
PR debug/51570
* var-tracking.c (expand_depth): New type.
(onepart_aux, expand_loc_callback_data): Change depth type to it.
(loc_exp_dep_alloc): Adjust initializer.
(update_depth): Use new type.  Add entryvals.
(vt_expand_var_loc_chain): Take note of expansions with
ENTRY_VALUEs, but don't accept them right away.  Run an optional
second pass accepting the minimum ENTRY_VALUE count found in the
first pass.
(vt_expand_loc_callback, INIT_ELCD): Adjust.

From-SVN: r186420
2012-04-13 15:55:52 +00:00
Tom de Vries
f164e49a3f pr52734.c: New test.
2012-04-13  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/pr52734.c: New test.

From-SVN: r186419
2012-04-13 14:53:16 +00:00
Tom de Vries
4630113714 tree-ssa-tail-merge.c (gsi_advance_bw_nondebug_nonlocal): Add parameters vuse and vuse_escaped.
2012-04-13  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-tail-merge.c (gsi_advance_bw_nondebug_nonlocal): Add
	parameters vuse and vuse_escaped.
	(find_duplicate): Init vuse1, vuse2 and vuse_escaped.  Pass to
	gsi_advance_bw_nondebug_nonlocal.  Return if vuse_escaped and
	vuse1 != vuse2.

From-SVN: r186418
2012-04-13 14:53:07 +00:00
Richard Guenther
95df37bf8b re PR tree-optimization/52969 (ICE in in get_expr_operands, at tree-ssa-operands.c:1035 with -ftree-loop-if-convert-stores)
2012-04-13  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/52969
	* tree-if-conv.c (predicate_mem_writes): Properly gimplify
	the condition for the COND_EXPR and handle predicate negation
	by swapping the COND_EXPR arms.

	* gcc.dg/torture/pr52969.c: New testcase.

From-SVN: r186416
2012-04-13 12:22:16 +00:00
Christian Bruel
d0bcb5c33f fix last entry
From-SVN: r186415
2012-04-13 13:58:15 +02:00
Laurent Alfonsi
2db21e7eb9 PR:52604: (~__freelist): Reset pointer
From-SVN: r186414
2012-04-13 13:44:13 +02:00
Nick Clifton
7911cc9e23 rl78.c (rl78_devirt_pass): Remove use of TODO_dump_func flag.
* config/rl78/rl78.c (rl78_devirt_pass): Remove use of
	TODO_dump_func flag.

From-SVN: r186413
2012-04-13 10:59:02 +00:00
Paolo Carlini
079c74f3fc safe_iterator.h (_BeforeBeginHelper<>:: _S_Is_Beginnest): Add.
2012-04-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/safe_iterator.h (_BeforeBeginHelper<>::
	_S_Is_Beginnest): Add.
	* include/debug/forward_list (_BeforeBeginHelper<>::
	_S_Is_Beginnest): Likewise.
	(_Safe_iterator<>::_M_is_beginnest): Add.
	* include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range):
	Use the latter.
	* testsuite/23_containers/forward_list/debug/splice_after.cc:
	Add test.

From-SVN: r186411
2012-04-13 10:43:28 +00:00
Andrey Belevantsev
d66b8f4bfb re PR rtl-optimization/52203 (ICE: in reset_sched_cycles_in_current_ebb, at sel-sched.c:7136 with -fsel-sched-pipelining -fselective-scheduling2 and other custom flags)
PR rtl-optimization/52203
        PR rtl-optimization/52715

        Revert the 2012-03-07 fix for PR 52203.
        * sel-sched.c (reset_sched_cycles_in_current_ebb): Check that
        the insn does not modify DFA right before issuing, adjust
        issue_rate accordingly.

From-SVN: r186410
2012-04-13 13:36:42 +04:00
Richard Guenther
1e867b228f re PR c/52549 (ice in pointer_diff)
2012-04-13  Richard Guenther  <rguenther@suse.de>

	PR c/52549
	* c-typeck.c (pointer_diff): Remove bogus assert.

	* gcc.dg/pr52549.c: New testcase.

From-SVN: r186408
2012-04-13 09:24:28 +00:00
Richard Guenther
09c2b6d028 re PR c/52862 (ICE convert_to_pointer, at convert.c:50)
2012-04-13  Richard Guenther  <rguenther@suse.de>

	PR c/52862
	* convert.c (convert_to_pointer): Remove special-casing of
	zero.

	* gcc.dg/pr52862.c: New testcase.

From-SVN: r186407
2012-04-13 09:22:33 +00:00
Joey Ye
572a49c87c constraints.md (Pe): New constraint.
2012-04-13  Joey Ye  <joey.ye@arm.com>

	* config/arm/constraints.md (Pe): New constraint.
	* config/arm/arm.md: New split for imm 256-510.

testsuite:

	* gcc.target/arm/thumb1-imm.c: New testcase.

From-SVN: r186406
2012-04-13 08:05:39 +00:00