Commit Graph

125675 Commits

Author SHA1 Message Date
Tim Shen
c2669da93d Makefile.am: Add regex.tcc.
2013-09-24  Tim Shen  <timshen91@gmail.com>

	* include/Makefile.am: Add regex.tcc.
	* include/Makefile.in: Regenerate.
	* include/bits/regex.h: Remove definitions to regex.tcc.
	* include/bits/regex.tcc: New.
	(match_results::format, regex_replace): Implement;
	* include/bits/regex_compiler.h: Move _M_flags to the top of class
	member list, because other members' initialization depend on it.
	* include/bits/regex_compiler.tcc
	(_Compiler<>::_Compiler): Adjust member initializations.
	(_Compiler<>::_M_quantifier): Fix ungreedy interval quantifier.
	* include/bits/regex_executor.h: Remove _RegexT from _*Executor classes.
	In the future, all regex classes may refactor to *Impl style.
	* include/bits/regex_executor.tcc (_Executor::_M_set_results):
	Merge identical code from _*Executor classes.
	* testsuite/28_regex/algorithms/regex_match/extended/
	string_dispatch_01.cc (fake_match<>): Adjust the hacking-style testcase
	caller for new __get_executors interface.
	* testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
	New.
	* testsuite/28_regex/match_results/format.cc: New.
	* testsuite/28_regex/traits/char/lookup_collatename.cc: Remove digraph
	testcase.
	* testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.

From-SVN: r202858
2013-09-24 02:05:00 +00:00
GCC Administrator
5704e02240 Daily bump.
From-SVN: r202854
2013-09-24 00:16:43 +00:00
Adam Butcher
ef4369671c Fix 58500.
gcc/cp/
	PR c++/58500
	* type-utils.h (find_type_usage): Only traverse one type level into
	member function pointers.

gcc/testsuite/
	PR c++/58500
	* g++.dg/cpp1y/pr58500.C: New testcase.

From-SVN: r202851
2013-09-23 23:43:44 +01:00
Adam Butcher
7a9a6e2449 Fix instantiation of implicit function template forward declarations.
* parser.c (cp_parser_init_declarator): Defer calling
	finish_fully_implicit_template for forward declarations until after
	other decl processing is complete.  Cleanup for clarity: Extract 'else'
	case after 'if' containing unconditional return.

From-SVN: r202850
2013-09-23 23:43:34 +01:00
Adam Butcher
1a4109b685 Generate more intuitive name for 'auto' parameters.
* parser.c (make_generic_type_name): Spell generic type names '<autoN>'
	rather than '__GenN'.

From-SVN: r202849
2013-09-23 23:43:25 +01:00
Adam Butcher
162b25fa1b Support nested generic lambdas.
* lambda.c (maybe_add_lambda_conv_op): Don't check for instantiated
	callop in the case of generic lambdas.

From-SVN: r202848
2013-09-23 23:43:15 +01:00
Adam Butcher
707df8ad64 Use translation-unit-global rather than parameter-list-local counter for generic type names to facilitate nested implicit function templates.
* parser.c (make_generic_type_name): Use global count rather than
	parameter and ...
	(add_implicit_template_parms): ... propagate interface change here.

From-SVN: r202847
2013-09-23 23:43:06 +01:00
Michael Meissner
5e8586d720 rs6000.h (enum r6000_reg_class_enum): Add new constraints: wu, ww, and wy.
2013-09-20  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add new
	constraints: wu, ww, and wy.  Repurpose wv constraint added during
	power8 changes.  Put wg constraint in alphabetical order.

	* config/rs6000/rs6000.opt (-mvsx-scalar-float): New debug switch
	for future work to add ISA 2.07 VSX single precision support.
	(-mvsx-scalar-double): Change default from -1 to 1, update
	documentation comment.
	(-mvsx-scalar-memory): Rename debug switch to -mupper-regs-df.
	(-mupper-regs-df): New debug switch to control whether DF values
	can go in the traditional Altivec registers.
	(-mupper-regs-sf): New debug switch to control whether SF values
	can go in the traditional Altivec registers.

	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Print wu, ww,
	and wy constraints.
	(rs6000_init_hard_regno_mode_ok): Use ssize_t instead of int for
	loop variables.  Rename -mvsx-scalar-memory to -mupper-regs-df.
	Add new constraints, wu/ww/wy.  Repurpose wv constraint.
	(rs6000_debug_legitimate_address_p): Print if we are running
	before, during, or after reload.
	(rs6000_secondary_reload): Add a comment.
	(rs6000_opt_masks): Add -mupper-regs-df, -mupper-regs-sf.

	* config/rs6000/constraints.md (wa constraint): Sort w<x>
	constraints.  Update documentation string.
	(wd constraint): Likewise.
	(wf constraint): Likewise.
	(wg constraint): Likewise.
	(wn constraint): Likewise.
	(ws constraint): Likewise.
	(wt constraint): Likewise.
	(wx constraint): Likewise.
	(wz constraint): Likewise.
	(wu constraint): New constraint for ISA 2.07 SFmode scalar
	instructions.
	(ww constraint): Likewise.
	(wy constraint): Likewise.
	(wv constraint): Repurpose ISA 2.07 constraint that we not used in
	the previous submissions.
	* doc/md.texi (PowerPC and IBM RS6000): Likewise.

From-SVN: r202843
2013-09-23 21:13:38 +00:00
Richard Sandiford
e5af9ddd01 rtl.texi (REG_NOTES): Say that int_list can also be used.
gcc/
	* doc/rtl.texi (REG_NOTES): Say that int_list can also be used.
	(REG_BR_PROB): Say that the probability is stored in an int_list.
	* reg-notes.def: Update commentary to mention INT_LIST.
	* rtl.def (EXPR_LIST, INSN_LIST): Capitalize comments.
	(INT_LIST): New rtx.
	* rtl.h (add_int_reg_note, add_shallow_copy_of_reg_note): Declare.
	* rtlanal.c (int_reg_note_p): New function.
	(alloc_reg_note): Assert that the note does not have an int argument.
	(add_int_reg_note, add_shallow_copy_of_reg_note): New functions.
	* combine.c (distribute_notes): Use add_shallow_copy_of_rtx.
	* cse.c (cse_process_notes_1): Expect REG_EQUAL to be an EXPR_LIST
	rather than an INSN_LIST.  Handle INT_LIST.
	* ifcvt.c (cond_exec_process_insns): Take the probability as an int
	rather than an rtx.  Use gen_rtx_INT_LIST to create a REG_BR_PROB note.
	(cond_exec_process_if_block): Use XINT to extract REG_BR_PROB values.
	Manipulate them as ints rather than rtxes.
	* reg-stack.c (subst_asm_stack_regs): Only handle EXPR_LIST notes.
	* regmove.c (copy_src_to_dest): Likewise.
	* sched-vis.c (print_insn_with_notes): Handle INT_LIST.

	* config/i386/winnt.c (i386_pe_seh_unwind_emit): Sink pat assignment
	into the cases that need it.
	* config/arm/arm.c (arm_unwind_emit): Likewise.

	* asan.c (asan_clear_shadow): Use add_int_reg_note for REG_BR_PROB.
	* emit-rtl.c (try_split, emit_copy_of_insn_after): Likewise.
	* loop-doloop.c (add_test, doloop_modify): Likewise.
	* loop-unswitch.c (compare_and_jump_seq): Likewise.
	* optabs.c (emit_cmp_and_jump_insn_1): Likewise.
	* predict.c (combine_predictions_for_insn): Likewise.
	* print-rtl.c (print_rtx): Handle INT_LIST.
	* config/aarch64/aarch64.c (aarch64_emit_unlikely_jump): Likewise.
	* config/alpha/alpha.c (emit_unlikely_jump): Likewise.
	* config/arm/arm.c (emit_unlikely_jump): Likewise.
	* config/i386/i386.c (ix86_expand_split_stack_prologue): Likewise.
	(ix86_split_fp_branch, predict_jump): Likewise.
	* config/rs6000/rs6000.c (emit_unlikely_jump): Likewise.
	* config/sh/sh.c (expand_cbranchsi4): Likewise.
	* config/spu/spu.c (ea_load_store_inline): Likewise.

	* cfgbuild.c (compute_outgoing_frequencies): Use XINT to access the
	value of a REG_BR_PROB note.
	* cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
	(update_br_prob_note, rtl_verify_edges, purge_dead_edges): Likewise.
	* emit-rtl.c (try_split): Likewise.
	* predict.c (br_prob_note_reliable_p): Likewise.
	(invert_br_probabilities, combine_predictions_for_insn): Likewise.
	* reorg.c (mostly_true_jump): Likewise.
	* config/bfin/bfin.c (cbranch_predicted_taken_p): Likewise.
	* config/frv/frv.c (frv_print_operand_jump_hint): Likewise.
	* config/i386/i386.c (ix86_print_operand): Likewise.
	* config/ia64/ia64.c (ia64_print_operand): Likewise.
	* config/mmix/mmix.c (mmix_print_operand): Likewise.
	* config/rs6000/rs6000.c (output_cbranch): Likewise.
	* config/s390/s390.c (s390_expand_tbegin): Likewise.
	* config/sh/sh.c (sh_print_operand, sh_adjust_cost): Likewise.
	* config/sparc/sparc.c (output_cbranch): Likewise.
	* config/spu/spu.c (get_branch_target): Likewise.
	* config/tilegx/tilegx.c (cbranch_predicted_p): Likewise.
	* config/tilepro/tilepro.c (cbranch_predicted_p): Likewise.

From-SVN: r202839
2013-09-23 17:41:02 +00:00
Jan Hubicka
450ad0cd44 ipa-cp.c (ipa_get_indirect_edge_target_1): Add sanity check for ipa-devirt.
* ipa-cp.c (ipa_get_indirect_edge_target_1): Add sanity check
	for ipa-devirt.
	* ipa-utils.h (possible_polymorphic_call_target_p): New function.
	* ipa-devirt.c (possible_polymorphic_call_target_p): Be tolerant
	of external calls
	* gimple-fold.c: Include ipa-utils.h and gimple-pretty-print.h
	(gimple_fold_call): Dump inconsistent devirtualizations; add
	sanity check for type based devirtualizations.
	* ipa-prop.c: Include ipa-utils.h
	(ipa_intraprocedural_devirtualization): Add sanity check.
	(try_make_edge_direct_virtual_call): Likewise.

From-SVN: r202837
2013-09-23 16:54:34 +00:00
Paul Pluzhnikov
dfff7c4692 snprintf_lite.cc (__concat_size_t): Use unsigned long long conditionally.
2013-09-23  Paul Pluzhnikov  <ppluzhnikov@google.com>

	* src/c++11/snprintf_lite.cc (__concat_size_t): Use
	unsigned long long conditionally.

From-SVN: r202836
2013-09-23 09:36:11 -07:00
Eric Botcazou
cefce76908 tree-ssa-ccp.c (insert_clobber_before_stack_restore): Recurse on copy assignment statements.
* tree-ssa-ccp.c (insert_clobber_before_stack_restore): Recurse on copy
	assignment statements.

From-SVN: r202833
2013-09-23 16:07:19 +00:00
Paul Pluzhnikov
5303f3a48f Unbreak i386 and other builds where size_t != unsigned long.
2013-09-23  Paul Pluzhnikov  <ppluzhnikov@google.com>

	* src/c++11/snprintf_lite.cc (__concat_size_t): Use only
	std::__int_to_char<unsigned long long>()

From-SVN: r202832
2013-09-23 08:29:14 -07:00
Kugan Vivekanandarajah
a895a2b8a9 gimple-pretty-print.c (dump_ssaname_info): New function.
2013-09-23  Kugan Vivekanandarajah  <kuganv@linaro.org>

	gcc/
	* gimple-pretty-print.c (dump_ssaname_info): New function.
	(dump_gimple_phi): Call it.
	(pp_gimple_stmt_1): Likewise.
	* tree-core.h (tree_ssa_name): New union ssa_name_info_type field.
	(range_info_def): Declare.
	* tree-pretty-print.c (pp_double_int): New function.
	(dump_generic_node): Call it.
	* tree-pretty-print.h (pp_double_int): Declare.
	* tree-ssa-alias.c (dump_alias_info): Check pointer type.
	* tree-ssanames.h (range_info_def): New structure.
	(value_range_type): Move definition here.
	(set_range_info, value_range_type, duplicate_ssa_name_range_info):
	Declare.
	* tree-ssanames.c (make_ssa_name_fn): Check pointer type at
	initialization.
	(set_range_info): New function.
	(get_range_info): Likewise.
	(duplicate_ssa_name_range_info): Likewise.
	(duplicate_ssa_name_fn): Check pointer type and call
	duplicate_ssa_name_range_info.
	* tree-ssa-copy.c (fini_copy_prop): Likewise.
	* tree-vrp.c (value_range_type): Remove definition, now in
	tree-ssanames.h.
	(vrp_finalize): Call set_range_info to update value range of
	SSA_NAMEs.
	* tree.h (SSA_NAME_PTR_INFO): Macro changed to access via union.
	(SSA_NAME_RANGE_INFO): New macro.

From-SVN: r202831
2013-09-23 17:13:39 +02:00
Richard Biener
984af6ac75 re PR tree-optimization/58464 (Crashes with SIGSEGV (infinite recursion in phi_translate))
2013-09-23  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58464
	* tree-ssa-pre.c (phi_trans_lookup): Remove.
	(phi_trans_add): Change to add conditionally on being not
	present.
	(phi_translate_1): Remove recursion detection here.
	(phi_translate): Pre-seed the cache with NULL to catch
	recursion here in a more generic way.
	(bitmap_find_leader): Adjust comment.
	(get_representative_for): Dump value-numbers.
	(create_expression_by_pieces): Likewise.
	(insert_into_preds_of_block): Likewise.

	* g++.dg/torture/pr58464.C: New testcase.

From-SVN: r202826
2013-09-23 12:37:17 +00:00
Christian Bruel
0e26cf7972 re PR target/58475 (SH4 insn swapb does not satisfy its constraints:)
2013-09-23  Christian Bruel  <christian.bruel@st.com>

        PR target/58475
        * config/sh/sh.md (movsf_ie): Allow fpul_operand.
        * config/sh/predicate.md (arith_reg_operand): Disallow FPUL_REG.

From-SVN: r202825
2013-09-23 10:30:00 +02:00
James Greenhalgh
4d0e5b54a8 Revert r202780:
* config/aarch64/aarch64.c (aarch64_expand_prologue): Use plus_constant.
	(aarch64_expand_epilogue): Likewise.
	(aarch64_legitimize_reload_address): Likewise.

From-SVN: r202824
2013-09-23 08:25:55 +00:00
Janus Weil
42e3d759b9 re PR fortran/58355 ([F03] ICE with TYPE, EXTENDS before parent TYPE defined)
2013-09-23  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58355
	* decl.c (check_extended_derived_type): Prevent segfault, modify error
	message.

2013-09-23  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58355
	* gfortran.dg/extends_15.f90: New.

From-SVN: r202823
2013-09-23 09:40:39 +02:00
GCC Administrator
fb635b1123 Daily bump.
From-SVN: r202822
2013-09-23 00:16:55 +00:00
Eric Botcazou
ca081cc8da gimplify.c (gimplify_asm_expr): Reset the TREE_CHAIN of clobbers to NULL_TREE before pushing them onto the vector.
* gimplify.c (gimplify_asm_expr): Reset the TREE_CHAIN of clobbers to
	NULL_TREE before pushing them onto the vector.  Likewise for labels.

From-SVN: r202819
2013-09-22 21:57:39 +00:00
Paul Pluzhnikov
9779c871af Print additional info when various out-of-range conditions are detected.
2013-09-21  Paul Pluzhnikov  <ppluzhnikov@google.com>

	* include/bits/functexcept.h (__throw_out_of_range_fmt): New.
	* src/c++11/functexcept.cc (__throw_out_of_range_fmt): New.
	* src/c++11/snprintf_lite.cc: New.
	* src/c++11/Makefile.am: Add snprintf_lite.cc.
	* src/c++11/Makefile.in: Regenerate.
	* config/abi/pre/gnu.ver: Add _ZSt24__throw_out_of_range_fmtPKcz.
	* include/std/array (at): Use __throw_out_of_range_fmt.
	* include/debug/array (at): Likewise.
	* include/profile/array (at): Likewise.
	* include/std/bitset (_M_check_initial_position, _M_check): New.
	(bitset::bitset): Use _M_check_initial_position.
	(set, reset, flip, test): Use _M_check.
	* include/ext/vstring.h (_M_check, at): Use __throw_out_of_range_fmt.
	* include/bits/stl_vector.h (_M_range_check): Likewise.
	* include/bits/stl_bvector.h (_M_range_check): Likewise.
	* include/bits/stl_deque.h (_M_range_check): Likewise.
	* include/bits/basic_string.h (_M_check, at): Likewise.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc:
	Likewise.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
	Likewise.
	* testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
	Likewise.
	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: Likewise.
	* testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc:
	Likewise.
	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
	* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Likewise.
	* testsuite/util/exception/safety.h (generate): Use __throw_out_of_range_fmt.

From-SVN: r202818
2013-09-21 19:04:13 -07:00
GCC Administrator
0e2148ad57 Daily bump.
From-SVN: r202817
2013-09-22 00:16:50 +00:00
Eric Botcazou
8fc53a5f44 predicates.md (ia64_cbranch_operator): Accept unordered comparison operators when -fno-trapping-math is in effect.
* config/ia64/predicates.md (ia64_cbranch_operator): Accept unordered
	comparison operators when -fno-trapping-math is in effect.
	* config/ia64/ia64.c (ia64_expand_compare): Add support for unordered
	comparison operators in TFmode and assert that unsupported operators
	cannot reach here.
	(ia64_print_operand): Likewise.

From-SVN: r202814
2013-09-21 21:12:20 +00:00
Jan Hubicka
0ca6c49ff1 x86-tune.def (partial_reg_stall): Disable for CoreI7 and newer.
* x86-tune.def (partial_reg_stall): Disable for CoreI7 and newer.
	(sse_typeless_stores): Enable for core
	(sse_load0_by_pxor): Likewise.
	(four_jump_limit): Disable for core.
	(pad_returns): Likewise.
	(avoid_vector_decode): Likewise.
	(fuse_cmp_and_branch): Enable for cores.
	* i386.c (x86_accumulate_outgoing_args): Disable for cores.

From-SVN: r202813
2013-09-21 20:59:10 +00:00
GCC Administrator
765c1354c7 Daily bump.
From-SVN: r202811
2013-09-21 00:16:51 +00:00
John David Anglin
96ce28a308 re PR middle-end/56791 (Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload)
PR middle-end/56791
	* config/pa/pa.c (pa_option_override): Disable auto increment and
	decrement instructions until reload is completed.

From-SVN: r202807
2013-09-20 23:58:43 +00:00
John David Anglin
578e51e675 pa-linux.h (TARGET_OS_CPP_BUILTINS): Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1...
* config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Define
	__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2,
	and __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.

From-SVN: r202803
2013-09-20 23:37:56 +00:00
DJ Delorie
6fcd3a1318 rl78.c: Various whitespace and comment tweaks.
* config/rl78/rl78.c: Various whitespace and comment tweaks.
(need_to_save): Save bank 0 on interrupts.
(characterize_address): Strip far address wrappers.
(rl78_as_legitimate_address): Likewise.
(transcode_memory_rtx): Likewise.
(rl78_peep_movhi_p): Disable this peephole after devirt.
(rl78_propogate_register_origins): Forget all origins when a
CLOBBER is seen.
* config/rl78/rl78-virt.md: Various whitespace tweaks.
* config/rl78/rl78-real.md: Various whitespace tweaks.  Additional
peephole2's.
* config/rl78/rl78.md (sel_rb): Disable for G10 just in case.
* config/rl78/rl78-expand.md (movqi): Check for subregs of consts.
* config/rl78/rl78.h (LINK_SPEC): Pass -gc-sections unless
relocating.
* config/rl78/constraints.md: Various whitespace and paren tweaks.

Co-Authored-By: Nick Clifton <nickc@redhat.com>

From-SVN: r202801
2013-09-20 18:42:26 -04:00
John David Anglin
4a08db3376 pa.md: In "scc" insn patterns...
* config/pa/pa.md: In "scc" insn patterns, change output template to
	handle const0_rtx in reg_or_0_operand operands.

From-SVN: r202798
2013-09-20 22:28:34 +00:00
Paolo Carlini
950e6107f0 re PR c++/58481 (Internal compiler error when passing argument packs to base class method inside a lambda)
/cp
2013-09-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58481
	* pt.c (tsubst_copy): Use current_nonlambda_class_type to
	call tsubst_baselink.

/testsuite
2013-09-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58481
	* g++.dg/cpp0x/lambda/lambda-this17.C: New.

From-SVN: r202797
2013-09-20 21:04:09 +00:00
Jan-Benedict Glaw
7691132c91 Work around buggy gas not properly sign-extending a 64bit value on a 32bit host
PR target/56875
2013-09-20  Martin Husemann  <martin@NetBSD.org>
	    Jan-Benedict Glaw  <jbglaw@lug-owl.de>

gcc/
	* config/vax/vax.c (vax_output_int_move): Use D format specifier.
	* config/vax/vax.md (ashldi3, <unnamed>): Ditto.

gcc/testsuite/
	* gcc.target/vax/vax.exp: New.
	* gcc.target/vax/pr56875.c: Ditto.

From-SVN: r202796
2013-09-20 19:00:02 +00:00
Jakub Jelinek
bd599dea43 re PR testsuite/57605 (colors break note pruning in the testsuite)
PR testsuite/57605
libstdc++-v3/
	* testsuite/lib/libstdc++.exp (libstdc++_init): Prepend
	-fdiagnostics-color=never to cxxflags.
libmudflap/
	* testsuite/lib/libmudflap.exp (libmudflap-init): Append
	-fdiagnostics-color=never to cxxflags.
libgomp/
	* testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
	ALWAYS_CFLAGS.

From-SVN: r202791
2013-09-20 19:52:29 +02:00
Richard Biener
a3cc13ccc8 re PR middle-end/58484 (ICE in chrec_fold_plus_1, at tree-chrec.c:272 building 416.gamess)
2013-09-20  Richard Biener  <rguenther@suse.de>

	PR middle-end/58484
	* tree-scalar-evolution.c (struct scev_info_str): Shrink by
	remembering SSA name version and block index.
	(new_scev_info_str): Adjust.
	(hash_scev_info): Likewise.  Also hash the block index.
	(eq_scev_info): Adjust.
	(find_var_scev_info): Likewise.
	(struct instantiate_cache_entry): Remove.
	(struct instantiate_cache_type): Use a htab to map name, block
	to chrec.
	(instantiate_cache_type::~instantiate_cache_type): Adjust.
	(get_instantiated_value_entry): Likewise.
	(hash_idx_scev_info, eq_idx_scev_info): New functions.
	(instantiate_scev_name): Adjust.

	* gfortran.dg/pr58484.f: New testcase.

From-SVN: r202790
2013-09-20 17:49:45 +00:00
Jeff Law
925f3871db * tree-ssa-dom.c (record_temporary_equivalences): Add comment.
From-SVN: r202789
2013-09-20 11:43:08 -06:00
Jeff Law
b30c24df8c * gcc.dg/tree-ssa/ssa-dom-thread-3.c: Add missing dg-final clause.
From-SVN: r202788
2013-09-20 11:36:38 -06:00
Yufeng Zhang
2888c3311b aarch64-builtins.c (aarch64_simd_expand_args): Call aarch64_simd_expand_args to update op[argc].
gcc/

	* config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args):
	Call aarch64_simd_expand_args to update op[argc].

From-SVN: r202784
2013-09-20 16:25:07 +00:00
Basile Starynkevitch
0a811e96fd plugin.c (parse_plugin_arg_opt): Accept equal sign inside plugin argument.
2013-09-20  Basile Starynkevitch  <basile@starynkevitch.net>

	* plugin.c (parse_plugin_arg_opt): Accept equal sign inside 
          plugin argument.

From-SVN: r202783
2013-09-20 15:54:47 +00:00
Basile Starynkevitch
0078f46235 gengtype.c (file_rules): Added rule for *.cc files.
2013-09-20  Basile Starynkevitch  <basile@starynkevitch.net>

       * gengtype.c (file_rules): Added rule for *.cc files.
       (get_output_file_with_visibility): Give fatal message when no
       rules found.

From-SVN: r202782
2013-09-20 15:50:56 +00:00
Marc Glisse
d15ac9d9a3 re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)
2013-09-20  Marc Glisse  <marc.glisse@inria.fr>

	PR libstdc++/58338
	* include/bits/allocator.h (__alloc_swap::_S_do_it,
	__shrink_to_fit_aux::_S_do_it): Mark as noexcept.
	* include/bits/basic_string.h (basic_string::_Rep) [_S_empty_rep,
	_M_is_leaked, _M_is_shared, _M_set_leaked, _M_set_sharable,
	_M_set_length_and_sharable, _M_dispose]: Likewise.
	(basic_string::_Alloc_hider::_Alloc_hider): Likewise.
	(basic_string) [_M_data, _M_rep, _M_ibegin, _M_iend, _M_limit,
	_M_disjunct, _M_copy, _M_move, _M_assign, _S_copy_chars, _S_compare,
	_S_empty_rep, shrink_to_fit, operator[] const, front const, back const]:
	Likewise.
	[clear]: Link to PR 56166.
	[swap]: Link to PR 58265.
	* include/bits/stl_deque.h (_Deque_iterator) [_S_buffer_size,
	_Deque_iterator, _M_const_cast, operator*, operator->, operator++,
	operator--, operator+=, operator+, operator-=, operator-, operator[],
	_M_set_node]: Mark as noexcept.
	(operator==(const _Deque_iterator&, const _Deque_iterator&),
	operator!=(const _Deque_iterator&, const _Deque_iterator&),
	operator<(const _Deque_iterator&, const _Deque_iterator&),
	operator>(const _Deque_iterator&, const _Deque_iterator&),
	operator<=(const _Deque_iterator&, const _Deque_iterator&),
	operator>=(const _Deque_iterator&, const _Deque_iterator&),
	operator-(const _Deque_iterator&, const _Deque_iterator&),
	operator+(ptrdiff_t, const _Deque_iterator&)): Likewise.
	(_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
	_M_initialize_map.
	[~_Deque_base, _M_deallocate_node, _M_deallocate_map, _M_destroy_nodes]:
	Mark as noexcept.
	(_Deque_base::_Deque_impl) [_Deque_impl(const _Tp_alloc_type&),
	_Deque_impl(_Tp_alloc_type&&)]: Likewise.
	(deque) [_S_buffer_size, operator=(deque&&), shrink_to_fit, operator[],
	front, back, pop_front, pop_back, swap]: Likewise.
	[deque(), deque(const allocator_type&)]: Merge.
	* include/debug/deque (deque) [operator=(deque&&), shrink_to_fit,
	operator[], front, back, pop_front, pop_back, swap]: Mark as noexcept.
	* include/profile/deque (deque) [operator=(deque&&), operator[], front,
	back, pop_front, pop_back, swap]: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Adjust line number.
	* testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
	Likewise.
	* testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
	Likewise.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
	Likewise.

From-SVN: r202781
2013-09-20 15:50:09 +00:00
Renlin Li
d20e48b015 [AArch64] Use plus_constant.
2013-09-20  Renlin Li  <renlin.li@arm.com>

	* config/aarch64/aarch64.c (aarch64_expand_prologue): Use plus_constant.
	(aarch64_expand_epilogue): Likewise.
	(aarch64_legitimize_reload_address): Likewise.

From-SVN: r202780
2013-09-20 14:59:18 +00:00
Bernd Edlinger
59bb154488 re PR middle-end/57748 (ICE when expanding assignment to unaligned zero-sized array)
2013-09-20  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR middle-end/57748
        * expr.c (expand_assignment): Remove misalignp code path.

testsuite/

        PR middle-end/57748
        * gcc.dg/torture/pr57748-1.c: New test.
        * gcc.dg/torture/pr57748-2.c: New test.

From-SVN: r202778
2013-09-20 14:10:14 +00:00
Marek Polacek
a543001905 re PR sanitizer/58413 (ubsan constant folding)
2013-09-20  Marek Polacek  <polacek@redhat.com>

	PR sanitizer/58413
	* ubsan.c (get_ubsan_type_info_for_type): Use TYPE_SIZE instead of
	TYPE_PRECISION.  Add asserts.

testsuite/
	* c-c++-common/ubsan/shift-4.c: New test.

From-SVN: r202776
2013-09-20 13:26:07 +00:00
Richard Biener
9fed7f3aa8 re PR tree-optimization/58453 (Revision 202431 results in miscompare for CPU2006 434.zeusmp)
2013-09-20  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58453
	* tree-loop-distribution.c (distribute_loop): Apply the cost
	model for -ftree-loop-distribute-patterns, too.

	* gcc.dg/tree-ssa/ldist-23.c: New testcase.

From-SVN: r202775
2013-09-20 12:21:08 +00:00
Richard Biener
a820c83467 re PR tree-optimization/58473 (FAIL: ext/random/normal_mv_distribution/cons/default.cc (test for excess errors))
2013-09-20  Richard Biener  <rguenther@suse.de>

	PR middle-end/58473
	* tree-chrec.h (build_polynomial_chrec): Use gcc_checking_assert,
	make type comparison less strict.

From-SVN: r202774
2013-09-20 10:19:12 +00:00
Alan Modra
3cbe17f7de libtool.m4 (_LT_ENABLE_LOCK <ld -m flags>): Remove non-canonical ppc host match.
* libtool.m4 (_LT_ENABLE_LOCK <ld -m flags>): Remove non-canonical
	ppc host match.  Support little-endian powerpc linux hosts.
Regenerate configure throughout.

From-SVN: r202773
2013-09-20 19:17:52 +09:30
Janus Weil
1f46d137d0 re PR fortran/58099 ([F03] over-zealous procedure-pointer error checking)
2013-09-20  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58099
	* expr.c (gfc_check_pointer_assign): Remove second call to
	'gfc_compare_interfaces' with swapped arguments.
	* interface.c (gfc_compare_interfaces): Symmetrize the call to
	'check_result_characteristics' by calling it with swapped arguments.

2013-09-20  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58099
	* gfortran.dg/proc_ptr_43.f90: New.

From-SVN: r202766
2013-09-20 09:44:05 +02:00
Marek Polacek
87fccdbba5 re PR other/58467 (Documentation of the "used" variable attribute needs additional information)
2013-09-20  Marek Polacek  <polacek@redhat.com>

	PR other/58467
	* doc/extend.texi: Document that attribute used is meant to be used
	on variables with static storage duration.

From-SVN: r202764
2013-09-20 06:08:44 +00:00
GCC Administrator
aeca9c2e75 Daily bump.
From-SVN: r202763
2013-09-20 00:16:56 +00:00
Ian Lance Taylor
e8c24600cc compiler: Fix inconsistent check for structs using memcmp for ==.
Test is bug479.

From-SVN: r202751
2013-09-19 17:32:56 +00:00
Jakub Jelinek
8928eff3b2 re PR tree-optimization/58472 (gomp4: ICE in in vectorizable_store, at tree-vect-stmts.c:4192)
PR tree-optimization/58472
	* tree-vect-stmts.c (vectorizable_store, vectorizable_load): For
	simd_lane_access set inv_p = false.
	* omp-low.c (lower_rec_input_clauses): Set TREE_NO_WARNING on
	the simduid magic VAR_DECL.

	* c-c++-common/gomp/pr58472.c: New test.

From-SVN: r202748
2013-09-19 18:56:40 +02:00