Commit Graph

125505 Commits

Author SHA1 Message Date
Tim Shen b21abceec3 regex.h: Add friend classes.
2013-09-18  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex.h: Add friend classes.
	(match_results<>::position, regex_iterator<>::operator++):
	Implement position specification in regex_iterator.
	(regex_match<>, regex_search<>):
	Move match_results initializations to these function. Remove `todo`.
	* include/bits/regex_compiler.tcc:
	(_Compiler<>::_M_quantifier): Fix greedy/ungreedy of interval matching.
	* include/bits/regex_constants.h:
	Fix indentation. Change match_flag_type to enum type.
	* include/bits/regex_executor.h:
	Merge identical code to the base class _Executor.
	Support flags in regex_constants.
	* include/bits/regex_executor.tcc: Likewise.
	* include/bits/regex_scanner.h: Add comments.
	* include/bits/regex_scanner.tcc: Same.
	* testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
	Add a testcase.
	* testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: New.
	* testsuite/28_regex/iterators/regex_iterator/char/
	string_position_01.cc: Remove `xfail`.
	* testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
	Remove `xfail` and make the case really work.

From-SVN: r202706
2013-09-18 15:56:20 +00:00
Paolo Carlini 64bc8861e9 search_n.cc: Fix typo.
2013-09-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/performance/25_algorithms/search_n.cc: Fix typo.

From-SVN: r202704
2013-09-18 14:49:28 +00:00
Kyrylo Tkachov 3c86bedbd7 pr58419.c (b): Change type to signed char.
[gcc/testsuite]
2013-09-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* gcc.c-torture/execute/pr58419.c (b): Change type to signed char.

From-SVN: r202703
2013-09-18 14:01:52 +00:00
Richard Earnshaw a0f70fcb8a arm.c (arm_get_frame_offsets): Validate architecture supports LDRD/STRD before accepting the tuning preference.
* arm.c (arm_get_frame_offsets): Validate architecture supports
	LDRD/STRD before accepting the tuning preference.
	(arm_expand_prologue): Likewise.
	(arm_expand_epilogue): Likewise.

From-SVN: r202702
2013-09-18 13:57:27 +00:00
Marek Polacek a24d975caa re PR sanitizer/58443 (ubsan doesn't properly honor fsanitize= flags)
2013-09-18  Marek Polacek  <polacek@redhat.com>

	PR sanitize/58443
cp/
	* typeck.c (cp_build_binary_op): Properly honor -fsanitize options.
	Remove unnecessary check.

c/
	* c-typeck.c (build_binary_op): Properly honor -fsanitize options.
	Remove unnecessary check.

testsuite/
	* g++.dg/ubsan/div-by-zero-1.C: Use the integer-divide-by-zero option
	instead of the shift option.
	* c-c++-common/ubsan/pr58443-1.c: New test.
	* c-c++-common/ubsan/pr58443-3.c: New test.
	* c-c++-common/ubsan/pr58443-2.c: New test.

From-SVN: r202701
2013-09-18 13:31:34 +00:00
Richard Biener 0547c9b695 re PR tree-optimization/58417 (Incorrect optimization in SCEV const-prop)
2013-09-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58417
	* tree-chrec.c (chrec_fold_plus_1): Assert that we do not
	have chrecs with symbols defined in the loop as operands.
	(chrec_fold_multiply): Likewise.
	* tree-scalar-evolution.c (interpret_rhs_expr): Instantiate
	parameters before folding binary operations.
	(struct instantiate_cache_entry_hasher): Remove.
	(struct instantiate_cache_type): Use a pointer-map.
	(instantiate_cache_type::instantiate_cache_type): New function.
	(instantiate_cache_type::get): Likewise.
	(instantiate_cache_type::set): Likewise.
	(instantiate_cache_type::~instantiate_cache_type): Adjust.
	(get_instantiated_value_entry): Likewise.
	(global_cache): New global.
	(instantiate_scev_r, instantiate_scev_poly, instantiate_scev_binary,
	instantiate_array_ref, instantiate_scev_convert, instantiate_scev_3,
	instantiate_scev_2, instantiate_scev_1): Do not pass along cache.
	(instantiate_scev_name): Adjust.
	(instantiate_scev): Construct global instead of local cache.
	(resolve_mixers): Likewise.

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

From-SVN: r202700
2013-09-18 12:31:45 +00:00
Marc Glisse 837bf5116d re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)
2013-09-18  Marc Glisse  <marc.glisse@inria.fr>

	PR libstdc++/58338
	* include/bits/list.tcc (_List_base::_M_clear, list::erase): Mark as
	noexcept.
	* include/bits/stl_list.h (_List_iterator) [_List_iterator,
	_M_const_cast, operator*, operator->, operator++, operator--,
	operator==, operator!=]: Likewise.
	(_List_const_iterator) [_List_const_iterator, _M_const_cast, operator*,
	operator->, operator++, operator--, operator==, operator!=]: Likewise.
	(operator==(const _List_iterator&, const _List_const_iterator&),
	operator!=(const _List_iterator&, const _List_const_iterator&)):
	Likewise.
	(_List_impl) [_List_impl(const _Node_alloc_type&),
	_List_impl(_Node_alloc_type&&)]: Likewise.
	(_List_base) [_M_put_node, _List_base(const _Node_alloc_type&),
	_List_base(_List_base&&), _M_clear, _M_init]: Likewise.
	(list) [list(), list(const allocator_type&)]: Merge.
	(list) [list(const allocator_type&), front, back, pop_front, pop_back,
	erase, _M_erase]: Mark as noexcept.
	* include/debug/list (list) [list(const _Allocator&), front, back,
	pop_front, pop_back, _M_erase, erase]: Likewise.
	* include/profile/list (list) [list(const _Allocator&), front, back,
	pop_front, pop_back, erase]: Likewise.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Adjust line number.
	* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
	Likewise.

From-SVN: r202699
2013-09-18 11:21:51 +00:00
Daniel Morris 309dc1aaee re PR c++/58458 (ISO 14882 typo in docs)
2013-09-18  Daniel Morris  <danielm@ecoscentric.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58458
	* doc/implement-cxx.texi: Fix references to the C++ standards.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r202696
2013-09-18 11:06:15 +00:00
Eric Botcazou 088d3b0fc3 re PR ada/58264 (incorrect bounds of string when assigned from dereference of function result)
PR ada/58264
	* gcc-interface/trans.c (Attribute_to_gnu): Define GNAT_PREFIX local
	variable and use it throughout.
	<Attr_Length>: Note whether the prefix is the dereference of a pointer
	to unconstrained array and, in this case, capture the result for both
	Attr_First and Attr_Last.

From-SVN: r202694
2013-09-18 10:51:43 +00:00
Kyrylo Tkachov 5ef054c392 omp-fesdr.C: Check for fopenmp effective target.
[gcc/testsuite/]
2013-09-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* g++.dg/debug/dwarf2/omp-fesdr.C: Check for fopenmp effective target.
	* gcc.dg/debug/dwarf2/omp-fesdr.c: Likewise.

From-SVN: r202693
2013-09-18 10:50:49 +00:00
Eric Botcazou d2c03c72c0 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Abstract_State>: New.
From-SVN: r202690
2013-09-18 10:35:53 +00:00
Eric Botcazou 195934c57c * gcc-interface/trans.c (gigi): Remove dead code.
From-SVN: r202688
2013-09-18 10:31:03 +00:00
Eric Botcazou df2abf5469 trans.c (Subprogram_Body_to_gnu): Pop the stack of return variables for subprograms using the CICO mechanism.
* gcc-interface/trans.c (Subprogram_Body_to_gnu): Pop the stack of
	return variables for subprograms using the CICO mechanism.

From-SVN: r202684
2013-09-18 10:21:37 +00:00
Jakub Jelinek 995a1b4a75 omp-low.c (copy_var_decl): Copy DECL_ATTRIBUTES.
* omp-low.c (copy_var_decl): Copy DECL_ATTRIBUTES.
	* tree-vect-data-refs.c (vect_analyze_data_refs): For
	simd_lane_access drs, update also DR_ALIGNED_TO.

From-SVN: r202683
2013-09-18 12:14:31 +02:00
Marek Polacek ce6923c53d re PR sanitizer/58411 (no_sanitize_undefined function attribute)
2013-09-18  Marek Polacek  <polacek@redhat.com>

	PR sanitizer/58411
	* doc/extend.texi: Document no_sanitize_undefined attribute.
	* builtins.c (fold_builtin_0): Don't sanitize function if it has the
	no_sanitize_undefined attribute.

From-SVN: r202682
2013-09-18 10:01:40 +00:00
Nick Clifton d30d00a2f1 msp430.h (ASM_SPEC): Pass -md on to the assembler.
* config/msp430/msp430.h (ASM_SPEC): Pass -md on to the assembler.
	(ASM_DECLARE_FUNCTION_NAME): Define.

From-SVN: r202681
2013-09-18 08:05:50 +00:00
Trevor Saunders 4d9192b50c compare-elim.c (find_comparison_dom_walker): New class
* compare-elim.c (find_comparison_dom_walker): New class
	(find_comparisons_in_bb): Rename to
	find_comparison_dom_walker::before_dom_children
	(find_comparisons): Adjust
	* domwalk.c (walk_dominator_tree): Rename to dom_walker::walk, and
	adjust.
	(init_walk_dominator_tree, fini_walk_dominator_tree): Remove
	* domwalk.h (dom_walk_data): Convert it To a class dom_walker.
	(init_walk_dominator_tree): Remove declaration.
	(fini_walk_dominator_tree): Remove declaration.
	* fwprop.c (single_def_use_dom_walker): New class
	(single_def_use_enter_block): Convert to
	single_def_use_dom_walker::before_dom_children.
	(single_def_use_leave_block): Convert to
	single_def_use_dom_walker::after_dom_children.
	(build_single_def_use_links): Adjust.
	* gimple-ssa-strength-reduction.c (find_candidates_dom_walker): New
	class.
	(find_candidates_in_block): Convert to
	find_candidates_dom_walker::before_dom_children.
	(execute_strength_reduction): Adjust.
	* graphite-sese-to-poly.c (struct bsc, build_sese_conditions): Remove.
	(sese_dom_walker): New class.
	(sese_dom_walker::sese_dom_walker): New constructor.
	(sese_dom_walker::~sese_dom_walker): New destructor.
	(build_sese_conditions_before): Convert to
	sese_dom_walker::before_dom_children.
	(build_sese_conditions_after): Convert to
	sese_dom_walker::after_dom_children.
	(build_poly_scop): Adjust
	* tree-into-ssa.c (rewrite_dom_walker): New class
	(rewrite_enter_block): Convert to
	rewrite_dom_walker::before_dom_children.
	(rewrite_leave_block): Convert to
	rewrite_dom_walker::after_dom_children.
	(rewrite_update_dom_walker): New class.
	(rewrite_update_enter_block): Convert to
	rewrite_update_dom_walker::before_dom_children.
	(rewrite_update_leave_block): Convert to
	rewrite_update_dom_walker::after_dom_children.
	(rewrite_blocks, rewrite_into_ssa): Adjust.
	(mark_def_dom_walker): New class.
	(mark_def_dom_walker::mark_def_dom_walker): New constructor.
	(mark_def_dom_walker::~mark_def_dom_walker): New destructor.
	(mark_def_sites_blocks): Convert to
	mark_def_dom_walker::before_dom_children.
	(mark_def_site_blocks): Remove.
	* tree-ssa-dom.c (dom_opt_dom_walker): New class.
	(tree_ssa_dominator_optimize): Adjust.
	(dom_thread_across_edge): Convert to method
	dom_opt_dom_walker::thread_across_edge.
	(dom_opt_enter_block): Convert to member function
	dom_opt_dom_walker::before_dom_children.
	(dom_opt_leave_block): Convert to member function
	dom_opt_dom_walker::after_dom_children.
	* tree-ssa-dse.c (dse_dom_walker): New class.
	(dse_enter_block): Convert to member function
	dse_dom_walker::before_dom_children.
	(tree_ssa_dse): Adjust.
	* tree-ssa-loop-im.c (invariantness_dom_walker): New class.
	(determine_invariantness_stmt): Convert to method
	invariantness_dom_walker::before_dom_children.
	(determine_invariantness): Remove
	(move_computations_dom_walker): New class.
	(move_computations_stmt): Convert to method
	move_computations_dom_walker::before_dom_children.
	(move_computations, tree_ssa_lim): Adjust.
	* tree-ssa-phiopt.c (nontrapping_dom_walker): new class
	(nt_init_block): Make method
	notrappping_dom_walker::before_dom_children.
	(nt_fini_block): Make
	method nontrapping_dom_walker::after_dom_children.
	(get_non_trapping): Adjust.
	* tree-ssa-pre.c (eliminate_dom_walker): New class.
	(eliminate_bb): Make method eliminate_dom_walker::before_dom_children.
	(eliminate_leave_block): Make method.
	eliminate_dom_walker::after_dom_children.
	(eliminate): Adjust
	* tree-ssa-strlen.c (strlen_dom_walker): New class.
	(strlen_enter_block): Make method
	strlen_dom_walker::before_dom_children.
	(strlen_leave_block): Make
	method strlen_dom_walker::after_dom_children.
	(tree_ssa_strlen): Adjust.
	* tree-ssa-uncprop.c (uncprop_dom_walker): New class.
	(tree_ssa_uncprop): Adjust.
	(uncprop_leave_block): Make method
	uncprop_dom_walker::after_dom_children.
	(uncprop_leave_block): Make method
	uncprop_dom_walker::before_dom_children.

From-SVN: r202679
2013-09-17 20:39:50 -06:00
Bin Cheng 3b3cc26bcc arm.c (thumb1_reorg): Search for flag setting insn before branch in same basic block.
* config/arm/arm.c (thumb1_reorg): Search for flag setting insn
	before branch in same basic block.  Check both src and dest of
	the move insn.

From-SVN: r202678
2013-09-18 02:01:07 +00:00
Nick Clifton b5ba3a9b55 rl78-real.md (bf): New pattern.
* config/rl78/rl78-real.md (bf): New pattern.
(bt): New pattern.
* config/rl78/rl78.c (rl78_print_operand_1): Handle %B.
(rl78_print_operand): Do not put a # before a %B.
* config/rl78/rl78.opt: Tweak doc strings.

From-SVN: r202676
2013-09-17 20:58:18 -04:00
GCC Administrator 05eac2ce91 Daily bump.
From-SVN: r202675
2013-09-18 00:16:54 +00:00
Ian Lance Taylor b15d794389 reflect: Fix bug calling method on indirect value.
The gccgo-specific iword function was checking v.kind, but for
a method value that is always Func.  Fix to check v.typ.Kind()
instead.

From-SVN: r202670
2013-09-17 22:11:43 +00:00
DJ Delorie 09d5094b2d constraints.md (Wcv): Allow up to $r31.
* config/rl78/constraints.md (Wcv): Allow up to $r31.
* config/rl78/rl78.c (rl78_asm_file_start: Likewise.
(rl78_option_override): Likewise, if -mallregs.
(is_virtual_register): Likewise.
* config/rl78/rl78.h (reg_class): Extend VREGS to $r31.
(REGNO_OK_FOR_BASE_P): Likewise.
* config/rl78/rl78.opt (-mallregs): New.

From-SVN: r202669
2013-09-17 18:06:53 -04:00
Nick Clifton 2ba1dca177 rl78.c (need_to_save): Change return type to bool.
* config/rl78/rl78.c (need_to_save): Change return type to bool.
For interrupt functions: save all call clobbered registers if the
interrupt handler is not a leaf function.
(rl78_expand_prologue): Always recompute the frame information.
For interrupt functions: only select bank 0 if one of the bank 0
registers is going to be psuhed.

From-SVN: r202667
2013-09-17 17:10:38 -04:00
DJ Delorie 2e7c3f214d constraints.md: For each W* constraint...
* config/rl78/constraints.md: For each W* constraint, rename to C*
and create a W* constraint that checks for an optional ES: prefix
pattern also.
* config/rl78/rl78.md (UNS_ES_ADDR): New.
(es_addr): New.  Used to wrap far addresses.
* config/rl78/rl78-protos.h (rl78_es_addr): New.
(rl78_es_base): New.
* config/rl78/rl78.c (rl78_as_legitimate_address): Accept "unspec"
wrapped far addresses.
(rl78_print_operand_1): Unwrap far addresses before processing.
(rl78_lo16): Wrap far addresses in unspecs.
(rl78_es_addr): New.
(rl78_es_base): New.
(insn_ok_now): Check for not-yet-wrapped far addresses.
(transcode_memory_rtx): Properly re-wrap far addresses.

From-SVN: r202666
2013-09-17 17:00:59 -04:00
Sebastian Huber 5c26a69a2a t-rtems: Add leon3 multilibs.
2013-09-17  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* config/sparc/t-rtems: Add leon3 multilibs.

From-SVN: r202664
2013-09-17 18:23:00 +00:00
Cong Hou 181f5f3e37 tree-vect-patterns.c (vect_recog_dot_prod_pattern): Fix a bug when checking the dot production pattern.
2013-09-17  Cong Hou  <congh@google.com>

    * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Fix a bug
      when checking the dot production pattern. The type of rhs operand
      of multiply is now checked correctly.

    * gcc.dg/vect/vect-reduc-dot-s16c.c: Add a test case with dot product 
      on two arrays with short and int types. This should not be recognized
      as a dot product pattern.

From-SVN: r202663
2013-09-17 14:20:08 -04:00
Paolo Carlini 783f0cfc8d re PR c++/58435 (Applying a type transformation to a list: const ignored)
/cp
2013-09-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58435
	* pt.c (tsubst, [BOUND_TEMPLATE_TEMPLATE_PARM]): Take into account
	the cp_type_quals (r) too.

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

	PR c++/58435
	* g++.dg/cpp0x/alias-decl-38.C: New.

From-SVN: r202662
2013-09-17 17:46:03 +00:00
Jan Hubicka b631d45ac3 re PR ipa/58332 (error: inlined_to pointer is set but no predecessors found)
PR middle-end/58332
	* gcc.c-torture/compile/pr58332.c: New testcase.
	* cif-code.def (FUNCTION_NOT_OPTIMIZED): New CIF code.
	* ipa-inline.c (can_inline_edge_p): Do not downgrade
	FUNCTION_NOT_OPTIMIZED.
	* ipa-inline-analysis.c (compute_inline_parameters): Function
	not optimized is not inlinable unless it is alwaysinline.
	(inline_analyze_function): Force calls in not optimized
	function not inlinable.

From-SVN: r202661
2013-09-17 17:45:00 +00:00
Jeff Law 8d34e421a5 pr58387.c: New test.
* gcc.c-torture/execute/pr58387.c: New test.

	* tree-ssa-dom.c (cprop_into_successor_phis): Also propagate
	edge implied equivalences into successor phis.
	* tree-ssa-threadupdate.c (phi_args_equal_on_edges): Moved into
	here from tree-ssa-threadedge.c.
	(mark_threaded_blocks): When threading through a joiner, if both
	successors of the joiner's clone reach the same block, verify the
	PHI arguments are equal.  If not, cancel the jump threading request.
	* tree-ssa-threadedge.c (phi_args_equal_on_edges): Moved into
	tree-ssa-threadupdate.c
	(thread_across_edge): Don't check PHI argument equality when
	threading through joiner block here.

From-SVN: r202660
2013-09-17 11:27:41 -06:00
Andrew MacLeod c152901f5e tree-flow.h (ssa_undefined_value_p): Remove prototype.
2013-09-17  Andrew MacLeod <amacleod@redhat.com>

	* tree-flow.h (ssa_undefined_value_p): Remove prototype.
	* tree-ssa.c (ssa_undefined_value_p): Move pass independent parts here.
	(warn_uninit, warn_uninitialized_vars, execute_early_warn_uninitialized,
	make_pass_early_warn_uninitialized): Move to tree-ssa-uninit.c.
	* tree-ssa-uninit.c (ssa_undefined_value_p): Move to tree-ssa.c
	(has_undefined_value_p): New.  Pass dependant parts of 
	ssa_undefined_value_p.
	(uninit_undefined_value_p): Use has_undefined_value_p.
	(warn_uninit, warn_uninitialized_vars, execute_early_warn_uninitialized,
	make_pass_early_warn_uninitialized): Move from tree-ssa.c
	* tree-ssa.h: Adjust prototypes

From-SVN: r202659
2013-09-17 17:22:05 +00:00
Jan Hubicka cdb87c08f6 re PR ipa/58329 (ld: Invalid symbol type for plabel (.libs/libstdc++.lax/libc++11convenience.a/system_error.o, std::error_category::default_error_condition(int) const [clone .localalias.9]).)
PR middle-end/58329
	* ipa-devirt.c (ipa_devirt): Be ready for symtab_nonoverwritable_alias
	to return NULL.
	* ipa.c (function_and_variable_visibility): Likewise.
	* ipa-profile.c (ipa_profile): Likewise.

From-SVN: r202658
2013-09-17 16:07:21 +00:00
Jan Hubicka 5b79657a11 re PR ipa/58329 (ld: Invalid symbol type for plabel (.libs/libstdc++.lax/libc++11convenience.a/system_error.o, std::error_category::default_error_condition(int) const [clone .localalias.9]).)
PR middle-end/58329
	* ipa-devirt.c (ipa_devirt): Be ready for symtab_nonoverwritable_alias
	to return NULL.
	* ipa.c (function_and_variable_visibility): Likewise.
	* ipa-profile.c (ipa_profile): Likewise.

From-SVN: r202657
2013-09-17 15:46:06 +00:00
Bernd Edlinger 27442c2405 re PR ipa/58398 (gcc.dg/attr-ifunc-4.c runfail regression after r202111)
2013-09-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR ipa/58398
        * cgraph.c (cgraph_function_body_availability): Check for ifunc
        attribute, and don't inline the resolver in this case.

From-SVN: r202655
2013-09-17 14:51:06 +00:00
Teresa Johnson 753b9bc3bb coverage.c (get_coverage_counts): Add missing newline.
2013-09-17  Teresa Johnson  <tejohnson@google.com>

	* coverage.c (get_coverage_counts): Add missing newline.

From-SVN: r202654
2013-09-17 14:26:44 +00:00
Kyrylo Tkachov e3d3cfb4a5 re PR tree-optimization/58088 (ICE in gcc.c)
[gcc/]
2013-09-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	PR tree-optimization/58088
	* fold-const.c (mask_with_trailing_zeros): New function.
	(fold_binary_loc): Make sure we don't recurse infinitely
	when the X in (X & C1) | C2 is a tree of the form (Y * K1) & K2.
	Use mask_with_trailing_zeros where appropriate.

[gcc/testsuite]
2013-09-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	PR tree-optimization/58088
	* gcc.c-torture/compile/pr58088.c: New test.

From-SVN: r202652
2013-09-17 13:29:41 +00:00
Nick Clifton 4fce5f027c target-supports.exp (check_effective_target_trampolines): Add MSP430 to the list of targets that do not support trampolines.
* lib/target-supports.exp (check_effective_target_trampolines):
	Add MSP430 to the list of targets that do not support
	trampolines.
	(check_profiling_available): Add MSP430 to the list of targets
	that do not support profiling.
	(check_effective_target_tls_runtime): Add MSP430 to the list of
	targets that do not support TLS.

From-SVN: r202651
2013-09-17 12:54:11 +00:00
Marc Glisse 757b16440b re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)
2013-09-17  Marc Glisse  <marc.glisse@inria.fr>

	PR libstdc++/58338
	* include/bits/stl_vector.h (vector::vector(),
	vector::vector(const allocator_type&)): Merge.
	(_Vector_impl::_Vector_impl(_Tp_alloc_type const&),
	_Vector_impl::_Vector_impl(_Tp_alloc_type&&),
	_Vector_impl::_M_swap_data,
	_Vector_base::_Vector_base(const allocator_type&),
	_Vector_base::_Vector_base(allocator_type&&),
	_Vector_base::_Vector_base(_Vector_base&&), _Vector_base::~_Vector_base,
	vector::vector(const allocator_type&), vector::operator[],
	vector::operator[] const, vector::front, vector::front const,
	vector::back, vector::back const, vector::pop_back,
	vector::_M_erase_at_end): Mark as noexcept.
	* include/debug/vector (vector::vector(const _Allocator&),
	vector::operator[], vector::operator[] const, vector::front,
	vector::front const, vector::back, vector::back const, vector::pop_back,
	_M_requires_reallocation, _M_update_guaranteed_capacity,
	_M_invalidate_after_nth): Mark as noexcept.
	* include/profile/vector (vector::vector(const _Allocator&),
	vector::operator[], vector::operator[] const, vector::front,
	vector::front const, vector::back, vector::back const): Mark as
	noexcept.
	(vector::vector(vector&&, const _Allocator&)): Remove wrong noexcept.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Adjust line number.
	* 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/vector/requirements/dr438/insert_neg.cc:
	Likewise.

From-SVN: r202650
2013-09-17 12:23:54 +00:00
Yuri Rumyantsev 9a0ac98faf i386.c (distance_agu_use_in_bb): Proper initialization of 'prev' var to get better distance estimation.
* config/i386/i386.c (distance_agu_use_in_bb) : Proper initialization
  of 'prev' var to get better distance estimation.

From-SVN: r202649
2013-09-17 12:01:28 +00:00
Jacek Caban dff717d29b gthr-win32.c: CreateSemaphoreW instead of CreateSemaphoreA.
2013-09-17  Jacek Caban  <jacek@codeweavers.com>

	* config/i386/gthr-win32.c: CreateSemaphoreW instead of
	CreateSemaphoreA.
	* config/i386/gthr-win32.h: Likewise.

From-SVN: r202648
2013-09-17 13:46:47 +02:00
Eric Botcazou 78bbd7655e tree-inline.h (struct copy_body_data): Add transform_parameter.
* tree-inline.h (struct copy_body_data): Add transform_parameter.
	* tree-inline.c (is_parameter_of): New predicate.
	(remap_gimple_op_r): Do not propagate TREE_THIS_NOTRAP on MEM_REF if
	a parameter has been remapped.
	(copy_tree_body_r): Likewise on INDIRECT_REF and MEM_REF.
	(optimize_inline_calls): Initialize transform_parameter.
	(copy_gimple_seq_and_replace_locals): Likewise.
	(tree_function_versioning): Likewise.
	(maybe_inline_call_in_expr): Likewise.

From-SVN: r202647
2013-09-17 11:05:31 +00:00
Andreas Schwab 00c90ae179 * gcc.dg/tree-ssa/ldist-22.c (main): Return zero.
From-SVN: r202646
2013-09-17 09:07:08 +00:00
Nick Clifton cad055a4ba msp430-protos.h: Add prototypes for new functions.
* config/msp430/msp430-protos.h: Add prototypes for new functions.
	* config/msp430/msp430.c (msp430_preserve_reg_p): Add support for
	interrupt handlers.
	(is_attr_func): New function.
	(msp430_is_interrupt_func): New function.
	(is_naked_func): New function.
	(is_reentrant_func): New function.
	(is_critical_func): New function.
	(msp430_start_function): Add annotations for function attributes.
	(msp430_attr): New function.
	(msp430_attribute_table): New.
	(msp430_function_section): New function.
	(TARGET_ASM_FUNCTION_SECTION): Define.
	(msp430_builtin): New enum.
	(msp430_init_builtins): New function.
	(msp430_builtin_devl): New function.
	(msp430_expand_builtin): New function.
	(TARGET_INIT_BUILTINS): Define.
	(TARGET_EXPAND_BUILTINS): Define.
	(TARGET_BUILTIN_DECL): Define.
	(msp430_expand_prologue): Add support for naked, interrupt,
	critical and reentrant functions.
	(msp430_expand_epilogue): Likewise.
	(msp430_print_operand): Handle 'O' character.
	* config/msp430/msp430.h (TARGET_CPU_CPP_BUILTINS): Define
	NO_TRAMPOLINES.
	* config/msp430/msp430.md (unspec): Add UNS_DINT, UNS_EINT,
	UNS_PUSH_INTR, UNS_POP_INTR, UNS_BIC_SR, UNS_BIS_SR.
	(pushm): Use a 'n' rather than an 'i' constraint.
	(msp_return): Add generation of the interrupt return instruction.
	(disable_interrupts): New pattern.
	(enable_interrupts): New pattern.
	(push_intr_state): New pattern.
	(pop_intr_state): New pattern.
	(bic_SR): New pattern.
	(bis_SR): New pattern.
	* doc/extend.texi: Document MSP430 function attributes and builtin
	functions.

From-SVN: r202645
2013-09-17 08:15:03 +00:00
Richard Biener deb6c11a73 re PR tree-optimization/58432 (ICE: in insert_value_copy_on_edge, at tree-outof-ssa.c:233)
2013-09-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58432
	* tree-loop-distribution.c (tree_loop_distribution): Also
	scan PHIs for outside loop uses and seed a partition from them.

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

From-SVN: r202644
2013-09-17 07:47:49 +00:00
Bin Cheng c068654bb1 gimple-ssa-strength-reduction.c (backtrace_base_for_ref): New.
* gimple-ssa-strength-reduction.c (backtrace_base_for_ref): New.
	(restructure_reference): Call backtrace_base_for_ref.

	* gcc.dg/tree-ssa/slsr-39.c: New test.

From-SVN: r202643
2013-09-17 04:59:08 +00:00
Alan Modra 567969e484 re PR target/57589 (Linux powerpc -mcpu=native returns pointer to variable on stack in driver-rs6000.c)
PR target/57589
	* config/rs6000/driver-rs6000.c (elf_platform): Revert 2013-06-11 patch.

From-SVN: r202642
2013-09-17 11:34:49 +09:30
GCC Administrator 00d88b23c6 Daily bump.
From-SVN: r202641
2013-09-17 00:16:47 +00:00
DJ Delorie 844ad6c640 * config/rl78/vregs.h: Add G10 register definitions.
From-SVN: r202638
2013-09-16 17:58:05 -04:00
DJ Delorie 5c0029ded7 rl78.c (rl78_asm_file_start): Specify alternate vregs location for RL78/G10.
* config/rl78/rl78.c (rl78_asm_file_start): Specify alternate
vregs location for RL78/G10.
(rl78_expand_prologue): Avoid SEL on G10.
(rl78_expand_epilogue): Likewise.
(rl78_peep_movhi_p): Can't move a constant to memory in HImode.
* config/rl78/rl78.h (TARGET_CPU_CPP_BUILTINS): Define
__RL78_G10__ when appropriate.
(ASM_SPEC): Pass -mg10 along to the assembler.
* config/rl78/rl78.md (sel_rb): Disable for G10.
* config/rl78/rl78.opt: Add -mg10 option.
* config/rl78/t-rl78: Add -mg10 multilib.

* config/rl78/lib2mul.c: Enable for RL78/G10.
* config/rl78/lib2div.c: Likewise.
* config/rl78/lshrsi3.S: Use vregs.h.
* config/rl78/cmpsi2.S: Likewise.
* config/rl78/trampoline.S: Likewise.
* config/rl78/mulsi2.S: Likewise.  Disable for RL78/G10.

From-SVN: r202637
2013-09-16 17:15:46 -04:00
Xinliang David Li ea0f3e87b9 Introduce -ftree-loop-vectorize option
From-SVN: r202636
2013-09-16 19:55:40 +00:00
Jeff Law 7fe46fbed2 pr58419.c: New test.
* gcc.c-torture/execute/pr58419.c: New test.
        * gcc.c-torture/execute/pr58431.c: New test.

From-SVN: r202635
2013-09-16 13:31:25 -06:00