Commit Graph

125594 Commits

Author SHA1 Message Date
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
Jan Hubicka
b7b28c53d0 * i386.c (generic_memcpy, generic_memset): Fix 32bit template.
From-SVN: r202747
2013-09-19 15:42:55 +00:00
Jeff Law
83ae86f5b7 tree-ssa-dom.c (record_temporary_equivalences): New function split out of dom_opt_dom_walker::after_dom_children.
* tree-ssa-dom.c (record_temporary_equivalences): New function
        split out of dom_opt_dom_walker::after_dom_children.
        (dom_opt_dom_walker::thread_across_edge): Move common code
        in here from dom_opt_dom_walker::after_dom_children.
        (dom_opt_dom_walker::after_dom_children): Corresponding simplifictions.

From-SVN: r202742
2013-09-19 06:49:30 -06:00
Jan Hubicka
9d5321624b i386.h (TARGET_GENERIC32, [...]): Remove.
* i386.h (TARGET_GENERIC32, TARGET_GENERIC64): Remove.
	(TARGET_GENERIC): Use PROCESOR_GENERIC
	(enum processor_type): Unify generic32 and 64.
	* i386.md (cpu): Likewise.
	* x86-tune.def (use_leave): Enable for generic32.
	(avoid_vector_decode, slow_imul_imm32_mem, slow_imul_imm8): Likewise.
	* athlon.md: Change generic64 to generic in all occurences.
	* i386-c.c (ix86_target_macros_internal): Unify generic64 and 32.
	(ix86_target_macros_internal): Likewise.
	* driver-i386.c (host_detect_local_cpu): Likewise.
	* i386.c (generic64_memcpy, generic64_memset, generic64_cost): Rename to ..
	(generic_memcpy, generic_memset, generic_cost): This one.
	(generic32_memcpy, generic32_memset, generic32_cost): Remove.
	(m_GENERIC32, m_GENERIC64): Remove.
	(m_GENERIC): Turn into one flag.
	(processor_target): Unify generic tunnings.
	(ix86_option_override_internal): Replace generic32/64 by generic.
	(ix86_issue_rate): Likewise.
	(ix86_adjust_cost): Likewise.

From-SVN: r202741
2013-09-19 12:43:57 +00:00
Jan Hubicka
188c7d00e6 cgraph.c (cgraph_create_edge_1): Avoid uninitialized read of speculative flag.
* cgraph.c (cgraph_create_edge_1): Avoid uninitialized read
	of speculative flag.

From-SVN: r202740
2013-09-19 12:20:47 +00:00
Jakub Jelinek
4befd127ca omp-low.c (expand_omp_sections): Always pass len - 1 to GOMP_sections_start, even if !exit_reachable.
* omp-low.c (expand_omp_sections): Always pass len - 1 to
	GOMP_sections_start, even if !exit_reachable.
libgomp/
	* testsuite/libgomp.c/sections-2.c: New test.

From-SVN: r202738
2013-09-19 13:52:52 +02:00
Marc Glisse
0e1a966a86 re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)
2013-09-19  Marc Glisse  <marc.glisse@inria.fr>

	PR libstdc++/58338
	* include/bits/stl_tree.h (_Rb_tree_node_base) [_S_minimum, _S_maximum]:
	Mark as noexcept.
	(_Rb_tree_iterator) [_Rb_tree_iterator, operator*, operator->,
	operator++, operator--, operator==, operator!=]: Likewise.
	(_Rb_tree_const_iterator) [_Rb_tree_const_iterator, _M_const_cast,
	operator*, operator->, operator++, operator--, operator==, operator!=]:
	Likewise.
	(operator==(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&),
	operator!=(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&)):
	Likewise.
	(_Rb_tree) [_M_put_node, _M_destroy_node, _M_root, _M_leftmost,
	_M_rightmost, _M_begin, _M_end, _S_left, _S_right, _S_minimum,
	_S_maximum]: Likewise.
	* include/debug/string (basic_string) [basic_string(const _Allocator&),
	shrink_to_fit, operator[], pop_back]: Likewise.
	* include/ext/vstring.h (__versa_string) [_M_limit, _M_disjunct,
	_M_ibegin, _M_iend, __versa_string(const _Alloc&),
	operator=(__versa_string&&), shrink_to_fit, operator[], front,
	back, assign(__versa_string&&), swap]: Likewise.
	(__versa_string) [__versa_string(), __versa_string(const _Alloc&)]:
	Merge.

From-SVN: r202737
2013-09-19 11:40:29 +00:00
Dodji Seketeli
06c055fcb5 Add myself to MAINTAINERS file as diagnostics maintainer
* MAINTAINERS (diagnostic messages): Add myself as diagnostics
	maintainer.

From-SVN: r202732
2013-09-19 09:12:13 +02:00
GCC Administrator
659c971e72 Daily bump.
From-SVN: r202731
2013-09-19 00:17:01 +00:00
Ian Lance Taylor
8b674a6f60 compiler: Fix name of unexported method of embedded imported type.
Test case is fixedbugs/bug478.go in master testsuite.

From-SVN: r202726
2013-09-18 23:28:00 +00:00
Tobias Burnus
57c6def418 re PR fortran/57697 ([OOP] Segfault with defined assignment for components during intrinsic assignment)
2013-09-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57697
        * gfortran.dg/defined_assignment_11.f90: New.

From-SVN: r202725
2013-09-19 00:19:03 +02:00
Ian Lance Taylor
f4b525e714 compiler: Correctly handle identical unnamed structs with methods.
From-SVN: r202723
2013-09-18 21:53:44 +00:00
Tobias Burnus
e3816ac91f expr.c (gfc_check_assign_symbol): Free lvalue.ref.
2013-09-18  Tobias Burnus  <burnus@net-b.de>

        * expr.c (gfc_check_assign_symbol): Free lvalue.ref.

From-SVN: r202722
2013-09-18 22:52:01 +02:00
Vladimir Makarov
8a26ad39c4 lra-constraints.c (need_for_all_save_p): Use macro HARD_REGNO_CALL_PART_CLOBBERED.
2013-09-18  Vladimir Makarov  <vmakarov@redhat.com>

	* lra-constraints.c (need_for_all_save_p): Use macro
	HARD_REGNO_CALL_PART_CLOBBERED.
	* lra-lives.c (check_pseudos_live_through_calls): Use the macro to
	set up pseudo conflict hard regs.

From-SVN: r202721
2013-09-18 19:12:16 +00:00
Michael Meissner
09487185c8 re PR target/58452 (GCC 4.8 and trunk do not compile simple powerpc-linuxpaired -O3 case)
2013-09-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/58452
	* config/rs6000/paired.md (movmisalignv2sf): Fix to allow memory
	operands.

From-SVN: r202719
2013-09-18 18:54:06 +00:00
Ian Lance Taylor
17836103ae compiler: Fix type of result of shortcut calculation.
From-SVN: r202717
2013-09-18 18:36:21 +00:00
Marc Glisse
b4efa80e56 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/stl_iterator.h (__normal_iterator) [__normal_iterator,
	_M_const_cast, operator*, operator->, operator++, operator--,
	operator[], operator+=, operator+, operator-=, operator-, base]:
	Mark as noexcept.
	(operator==(const __normal_iterator&, const __normal_iterator&),
	operator!=(const __normal_iterator&, const __normal_iterator&),
	operator<(const __normal_iterator&, const __normal_iterator&),
	operator>(const __normal_iterator&, const __normal_iterator&),
	operator<=(const __normal_iterator&, const __normal_iterator&),
	operator>=(const __normal_iterator&, const __normal_iterator&),
	operator-(const __normal_iterator&, const __normal_iterator&),
	operator+(difference_type, const __normal_iterator&)): Likewise.
	* include/bits/stl_list.h (list) [splice, _M_check_equal_allocators]:
	Likewise.
	(list::_M_check_equal_allocators): Abort instead of throwing.
	* include/debug/array (array) [operator[], front, back]: Mark as
	noexcept.
	* include/profile/array (array) [operator[], front, back]: Likewise.
	* include/std/array (array) [operator[], front, back]: Likewise.
	* include/debug/list (list::splice): Likewise.
	* include/profile/list (list::splice): Likewise.
	* testsuite/23_containers/list/operations/5.cc: Remove file.
	* testsuite/23_containers/list/operations/5.h: Likewise.

From-SVN: r202716
2013-09-18 18:31:01 +00:00
Vladimir Makarov
c9b29b2540 Add missed testsuite/g++.dg/pr58438.C
From-SVN: r202715
2013-09-18 18:27:49 +00:00
Vladimir Makarov
080cbf9ecb re PR rtl-optimization/58438 (ICE: in check_rtl, at lra.c:2036)
2013-09-18  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/58438
	* lra.c (lra): Clear lra_optional_reload_pseudos in upper loop.
	* lra-constraints.c (undo_optional_reloads): Keep optional reloads
	from previous subpasses.

2013-09-18  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/58438
	* g++.dg/pr58438.C: New test.

From-SVN: r202714
2013-09-18 18:24:49 +00:00
Tobias Burnus
83ba23b7aa re PR fortran/43366 ([OOP][F08] Intrinsic assign to polymorphic variable)
2013-09-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43366
        * primary.c (gfc_variable_attr): Also handle codimension.
        * resolve.c (resolve_ordinary_assign): Add invalid-diagnostic
        * for
        polymorphic assignment.

2013-09-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43366
        * gfortran.dg/class_39.f03: Update dg-error.
        * gfortran.dg/class_5.f03: Ditto.
        * gfortran.dg/class_53.f90: Ditto.
        * gfortran.dg/realloc_on_assign_20.f90: New.
        * gfortran.dg/realloc_on_assign_21.f90: New.
        * gfortran.dg/realloc_on_assign_22.f90: New.

From-SVN: r202713
2013-09-18 20:14:57 +02:00
Paolo Carlini
3f3fd87d46 re PR c++/58457 (ICE when placement new operator is used with using keyword and custom constructor)
/cp
2013-09-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58457
	* class.c (instantiate_type): Loosen a bit the gcc_assert.

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

	PR c++/58457
	* g++.dg/parse/using4.C: New.

From-SVN: r202711
2013-09-18 18:11:46 +00:00
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