Commit Graph

147521 Commits

Author SHA1 Message Date
Martin Liska
c1e1a688fb Handle loops with loop->latch == NULL (PR gcov-profile/71868)
PR gcov-profile/71868
	* cfgloopanal.c (expected_loop_iterations_unbounded): When we
	have a function with multiple latches, count them all.

From-SVN: r238706
2016-07-25 10:56:08 +00:00
Martin Liska
ccae0c8546 Fix memory leak introduced in r238336
* tree-ssa-loop-niter.c (loop_only_exit_p): Release body array.

From-SVN: r238705
2016-07-25 10:52:30 +00:00
Martin Liska
16b0596564 Call get_ops just for SSA_NAMEs (PR tree-optimization/71987)
PR tree-optimization/71987
	* tree-ssa-reassoc.c (maybe_optimize_range_tests): Call get_ops
	just for SSA_NAMEs. Fix GNU coding style.
	* gcc.dg/torture/pr71987.c: New test.

From-SVN: r238704
2016-07-25 10:50:30 +00:00
Jonathan Wakely
19bb30c065 Use std::mt19937, std::thread and std::atomic to simplify tests
* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
	std::mt19937, std::thread and std::atomic to simplify test.
	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.

From-SVN: r238703
2016-07-25 11:31:53 +01:00
Martin Liska
e9e4348d68 Adapt the numbering scheme (PR gcov-profile/64874)
PR gcov-profile/64874
	* gcov-io.h: Update command about file format.
	* gcov-iov.c (main): Adapt the numbering scheme.

From-SVN: r238702
2016-07-25 08:42:42 +00:00
Alan Modra
aa00995cd7 Revert 2015-11-09 sanitizer/obstack configury
The 2015-11-23 sanitizer merge from upstream lost the changes from
f6528435 to sanitizer_common/sanitizer_common_interceptors.inc, which
made use of _OBSTACK_SIZE_T.  So the configury changes to define
_OBSTACK_SIZE_T don't do anything.  This wasn't such a bad thing
anyway..  The configure test wrongly adds -I${srcdir}/../include,
effectively resulting in a test of libiberty/obstack rather than libc
obstack support, and it's the latter that asan and tsan need to work
with.

So, remove the useless configure test.  Upstream santizer project has
been made aware of the problem if glibc obstack support is ever
updated.  Bootsrapped etc. x86_64-linux and committed as obvious.

	Revert 2015-11-09  Alan Modra  <amodra@gmail.com>
	* configure.ac: Don't substitute OBSTACK_DEFS.
	* asan/Makefile.am: Remove OBSTACK_DEFS from DEFS.
	* tsan/Makefile.am: Likewise.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* asan/Makefile.in: Regenerate.
	* interception/Makefile.in: Regenerate.
	* libbacktrace/Makefile.in: Regenerate.
	* lsan/Makefile.in: Regenerate.
	* sanitizer_common/Makefile.in: Regenerate.
	* tsan/Makefile.in: Regenerate.
	* ubsan/Makefile.in: Regenerate.

From-SVN: r238701
2016-07-25 10:43:36 +09:30
GCC Administrator
7bfd96b7a6 Daily bump.
From-SVN: r238700
2016-07-25 00:16:20 +00:00
Jason Merrill
8a61db89b2 PR c++/71515 - typename in partial specialization
* pt.c (resolve_typename_type): Try to avoid calling
	currently_open_class.

From-SVN: r238696
2016-07-24 19:40:05 -04:00
Kugan Vivekanandarajah
635c1074be re PR tree-optimization/66726 (missed optimization, factor conversion out of COND_EXPR)
gcc/ChangeLog:

2016-07-24  Kugan Vivekanandarajah  <kuganv@linaro.org>

	PR middle-end/66726
	* tree-ssa-reassoc.c (optimize_vec_cond_expr): Handle tcc_compare stmt
	whose result is used in PHI.
	(final_range_test_p): Likewise.
	(maybe_optimize_range_tests): Likewise.

From-SVN: r238695
2016-07-24 12:47:29 +00:00
Jason Merrill
bd84e5607e PR c++/66617 - virtual base list-initialization
* call.c (add_list_candidates): Handle VTT parm.
	(build_new_method_call_1): Likewise.

From-SVN: r238689
2016-07-23 22:59:34 -04:00
Jason Merrill
f388b7be18 PR c++/55922 - list-value-initialization of base
PR c++/63151
	* init.c (expand_aggr_init_1): Handle list-initialization from {}.

From-SVN: r238688
2016-07-23 22:56:22 -04:00
Jason Merrill
2dac37c091 PR c++/70709 - zero-length array member
* class.c (walk_subobject_offsets): Handle 0-length array.

From-SVN: r238687
2016-07-23 22:52:33 -04:00
Jason Merrill
71b3723abb PR c++/70778 - member template template parameter
* pt.c (tsubst): Also substitute into the template of a
	BOUND_TEMPLATE_TEMPLATE_PARM.

From-SVN: r238686
2016-07-23 22:50:16 -04:00
Jason Merrill
6970223f93 PR c++/71738 - nested template friend
* pt.c (lookup_template_class_1): Handle getting template from tsubst.

From-SVN: r238685
2016-07-23 22:39:41 -04:00
Jason Merrill
a6c690f41e PR c++/71350 - error recursion with initializer-list
* decl.c (reshape_init_r): Check complain for missing braces warning.

From-SVN: r238684
2016-07-23 22:35:37 -04:00
Jason Merrill
478ed1fae7 PR c++/71576 - bitfield and rvalue reference
* call.c (convert_like_real): Use lvalue_kind.

From-SVN: r238683
2016-07-23 22:25:36 -04:00
Jason Merrill
76178f6767 PR c++/71748 - call to base destructor in template.
PR c++/52746
	* pt.c (tsubst_baselink): Call
	adjust_result_of_qualified_name_lookup for unqualified
	destructors.

From-SVN: r238681
2016-07-23 22:19:46 -04:00
GCC Administrator
ca32b47320 Daily bump.
From-SVN: r238680
2016-07-24 00:16:22 +00:00
Michael Meissner
c1b99241bd rs6000-c.c (altivec_resolve_overloaded_builtin): Reformat two multi-line strings.
2016-07-22  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
	Reformat two multi-line strings.

From-SVN: r238675
2016-07-23 02:54:53 +00:00
GCC Administrator
36f80e647a Daily bump.
From-SVN: r238674
2016-07-23 00:16:21 +00:00
Steven G. Kargl
d52d376733 re PR fortran/71935 (ICE is_c_interoperable(): gfc_simplify_expr failed)
2016-07-22  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/71935
	* check.c (is_c_interoperable): Simplify right expression. 

2016-07-22  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/71935
	* gfortran.dg/c_sizeof_1.f90: Move invalid code to ...
	* gfortran.dg/c_sizeof_6.f90: here.  Test for error.
	* gfortran.dg/pr71935.f90: New test.

From-SVN: r238665
2016-07-22 18:53:11 +00:00
Martin Sebor
2e6b45afba PR c++/71675 - __atomic_compare_exchange_n returns wrong type for typed enum
gcc/c-family/ChangeLog:

	PR c++/71675
	* c-common.c (resolve_overloaded_builtin): Avoid converting
	__atomic_compare_exchange_n return type to that of what its
	first argument points to.

gcc/testsuite/ChangeLog:

	PR c++/71675
	* g++.dg/ext/atomic-3.C: New test.
	* gcc.dg/atomic/pr71675.c: New test.

From-SVN: r238664
2016-07-22 12:32:08 -06:00
Ian Lance Taylor
22b955cca5 libgo: update to go1.7rc3
Reviewed-on: https://go-review.googlesource.com/25150

From-SVN: r238662
2016-07-22 18:15:38 +00:00
Martin Sebor
9d04a3af4c extend.texi (Compound Literals): Add '@' missed in last commit.
gcc/ChangeLog:
	* doc/extend.texi (Compound Literals): Add '@' missed in last commit.

From-SVN: r238652
2016-07-22 10:16:17 -06:00
Martin Sebor
e040f9bd4b PR c/71560 - union compound literal initializes wrong union field
gcc/ChangeLog:
	* doc/extend.texi (Compound Literals): Correct and clarify.
	(Cast to Union): Same.

From-SVN: r238651
2016-07-22 09:40:51 -06:00
Kelvin Nilsen
1610d41097 rs6000.c (rs6000_option_override_internal): Add comments to explain why certain error messages make mention of undocumented...
gcc/ChangeLog:

2016-07-22  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
	comments to explain why certain error messages make mention of
	undocumented options.
	(rs6000_invalid_builtin): Change error messages to replace mention
	of undocumented options with mention of the -mcpu=power9 option
	that enables those undocumented options.
	* config/rs6000/rs6000.h (MASK_FLOAT128): New macro.
	(RS6000_BTM_FLOAT128): Use the new MASK_FLOAT128 macro in the
	definition of this macro to correct an existing error.
	* config/rs6000/rs6000.opt: Add the Undocumented qualifier to the
	mpower9-fusion, mpower9-vector, mpower9-dform, and mmodulo entries.
	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Modify
	descriptions of built-in functions so that they depend on
	-mcpu=power9 instead of on the corresponding undocumented flags.
	* doc/invoke.texi (Option Summary):  Remove all mention of newly
	undocumented flags.
	(IBM RS/6000 and PowerPC Options): Likewise.
	* doc/md.texi (Constraints for Particuliar Machines): Remove all
	mention of newly undocumented flags.

From-SVN: r238648
2016-07-22 15:13:20 +00:00
Jonathan Wakely
8cab3d18f0 Move allocator in std::string and RB tree move constructors
PR libstdc++/71964
	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
	(basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
	* include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
	* testsuite/21_strings/basic_string/allocator/71964.cc: New test.
	* testsuite/23_containers/set/allocator/71964.cc: New test.

From-SVN: r238647
2016-07-22 16:03:11 +01:00
Evgeny Stupachenko
58b3986e34 ipa-cp.c (determine_versionability): Do not create constprop clones, when target_clones attribute is set.
2016-07-22  Evgeny Stupachenko  <evstupac@gmail.com>

gcc/
	* ipa-cp.c (determine_versionability): Do not create constprop clones,
	when target_clones attribute is set.
gcc/testsuite/
	* gcc.target/i386/mvc8.c: New test.

From-SVN: r238645
2016-07-22 15:00:42 +00:00
Uros Bizjak
e3fe09c154 c-typeck.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1,
c/ChangeLog:

	* c-typeck.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1,

c-family/ChangeLog:

	* c-common.c: Use HOST_WIDE_INT_M1U instead of
	~(unsigned HOST_WIDE_INT) 0.

From-SVN: r238643
2016-07-22 16:09:55 +02:00
Bin Cheng
78f63b79d9 common.opt (funsafe-loop-optimizations): Mark ignore.
* common.opt (funsafe-loop-optimizations): Mark ignore.
	* doc/invoke.texi (funsafe-loop-optimizations): Remove.
	* loop-iv.c (get_simple_loop_desc): Remove unsafe-loop-optimizations
	related code.
	* tree-ssa-loop-niter.c (finite_loop_p): Ditto.
	* config/bfin/bfin.c (bfin_can_use_doloop_p): Ditto.

From-SVN: r238642
2016-07-22 13:25:59 +00:00
Bin Cheng
faa1612aa3 tree-ssa-loop-niter.h (number_of_iterations_exit_assumptions): New Parameter.
* tree-ssa-loop-niter.h (number_of_iterations_exit_assumptions): New
	Parameter.
	* tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions): New
	Parameter.
	(number_of_iterations_exit): Warn missed loop optimization for
	possible infinite loops.

	gcc/testsuite
	* gcc.dg/tree-ssa/pr19210-1.c: Refine test strings.
	* gcc.dg/tree-ssa/pr19210-2.c: Delete.

From-SVN: r238641
2016-07-22 13:22:03 +00:00
Segher Boessenkool
01a0d7f57b Subject: [PATCH] rs6000: Fix logic for when to emit .machine (PR71216)
The current logic determining whether to use .machine in the generated
asm code puts it there if the compiler is not configured with a default
target cpu, _or_ no -mcpu= was given on the command line.  It should
be "and" instead.


	PR target/71216
	* config/rs6000/rs6000.c (rs6000_file_start): Fix condition for
	when to emit a ".machine" pseudo-op.

From-SVN: r238639
2016-07-22 15:08:19 +02:00
Thomas Koenig
1603ebe016 re PR fortran/71795 (Two Bugs in array constructors (optimization))
2016-07-22  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/71795
	* frontend-passes.c (combine_array_constructor):  Don't
	do anything if the expression is inside an array iterator.

2016-07-22  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/71795
	* gfortran.dg/constructor_50.f90:  New test.

From-SVN: r238638
2016-07-22 10:38:32 +00:00
Martin Liska
bc91c43615 Consider functions with xloc.file == NULL (PR
PR gcov-profile/69028
	PR gcov-profile/62047
	* g++.dg/cilk-plus/pr69028.C: New test.
	PR gcov-profile/69028
	PR gcov-profile/62047
	* cilk.c (create_cilk_helper_decl): Set location of a new decl
	to the current_function_decl.
	PR gcov-profile/69028
	PR gcov-profile/62047
	* coverage.c (coverage_compute_lineno_checksum): Do not
	calculate checksum for fns w/o xloc.file.
	(coverage_compute_profile_id): Likewise.

From-SVN: r238637
2016-07-22 10:19:57 +00:00
Andre Vehreschild
9fe9a3a780 libcaf.h: Add parameter stat to caf_get() and caf_send()'s function prototypes.
libgfortran/ChangeLog:

2016-07-22  Andre Vehreschild  <vehre@gcc.gnu.org>

	* caf/libcaf.h: Add parameter stat to caf_get() and
	caf_send()'s function prototypes.
	* caf/single.c (_gfortran_caf_get): Implement reporting
	error using stat instead of abort().
	(_gfortran_caf_send): Same.
	(_gfortran_caf_sendget): Use NULL for stat when calling
	caf_send().


gcc/testsuite/ChangeLog:

2016-07-22  Andre Vehreschild  <vehre@gcc.gnu.org>

	* gfortran.dg/coarray_stat_2.f90: New test.

From-SVN: r238636
2016-07-22 11:58:50 +02:00
Andre Vehreschild
4971dd802d expr.c (gfc_find_stat_co): Fixed whitespaces.
gcc/fortran/ChangeLog:

2016-07-22  Andre Vehreschild  <vehre@gcc.gnu.org>

	* expr.c (gfc_find_stat_co): Fixed whitespaces.
	* gfortran.texi: Fixed typos and reversed meaning of caf_get()'s
	src and dst description.
	* trans-decl.c (gfc_build_builtin_function_decls): Fixed style
	and corrected fnspec for caf functions.
	* trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Fixed style.
	(conv_caf_send): Dito.

From-SVN: r238635
2016-07-22 11:46:54 +02:00
Georg-Johann Lay
b588c7f866 avr.c (TARGET_SECONDARY_RELOAD): Remove hook define...
* config/avr/avr.c (TARGET_SECONDARY_RELOAD): Remove hook define...
	(avr_secondary_reload): ...and implementation.
	(avr_adjust_insn_length) [ADJUST_LEN_LPM]: Remove handling.
	* config/avr/avr.md (reload_in<mode>): Remove insns.
	(adjust_len) [lpm]: Remove insn attribute value.
	* config/avr/predicates.md (flash_operand): Remove insn predicate.

From-SVN: r238634
2016-07-22 09:19:35 +00:00
Martin Liska
1182b907ad Fix params.exp test-cases
From-SVN: r238633
2016-07-22 09:08:56 +00:00
Jonathan Wakely
960637ac1a Use correct form of delete in libstdc++.exp
* testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
	delete[] instead of delete.

From-SVN: r238632
2016-07-22 09:33:26 +01:00
Jason Merrill
6781e2af70 PR c++/69223 - ICE with deduced template return type.
* semantics.c (apply_deduced_return_type): Call
	complete_type_or_else before building the new RESULT_DECL.

From-SVN: r238624
2016-07-21 23:45:54 -04:00
Jason Merrill
94ced5b494 PR c++/71274 - deprecated warning without use.
* decl2.c (maybe_instantiate_decl): Split out from mark_used.
	(decl_constant_var_p): Use it instead.

From-SVN: r238623
2016-07-21 23:45:48 -04:00
Jason Merrill
44ed47547a PR c++/71630 - extern variable template
* pt.c (instantiate_decl): Fix pattern_defined for namespace scope
	variable templates.

From-SVN: r238622
2016-07-21 23:45:43 -04:00
Jason Merrill
a93f3513c2 PR c++/71913 - missing copy elision with new.
* call.c (unsafe_copy_elision_p): It's OK to elide when
	initializing an unknown object.

From-SVN: r238621
2016-07-21 23:45:37 -04:00
Jason Merrill
d5ec842cde call.c (build_over_call): Check unsafe_copy_elision_p even for trivial constructors.
* call.c (build_over_call): Check unsafe_copy_elision_p even for
	trivial constructors.
	* method.c (do_build_copy_constructor): Don't copy tail padding
	even in a trivial constructor.

From-SVN: r238620
2016-07-21 23:45:30 -04:00
Ian Lance Taylor
4114e6b1fe compiler: fix check for duplicate declaration
The compiler check that issued a duplicate declaration error for
        a, a, a := 1, 2, 3
    was incorrectly issuing an error for
        a, a, a = 1, 2, 3
    While this is not particularly useful, it is valid Go.
    
    Test is https://golang.org/cl/25143.
    
    Reviewed-on: https://go-review.googlesource.com/25144

From-SVN: r238618
2016-07-22 00:21:51 +00:00
GCC Administrator
a94aa329b4 Daily bump.
From-SVN: r238617
2016-07-22 00:16:20 +00:00
Michael Meissner
70866e3d4a vec-extract.h: New files to check the vec_extract built-in functions for all vector types...
2016-07-21  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/vec-extract.h: New files to check the
	vec_extract built-in functions for all vector types, testing
	accessing each element, both with constant and variable element
	numbers.
	* gcc.target/powerpc/vec-extract-v16qi.c: Likewise.
	* gcc.target/powerpc/vec-extract-v16qiu.c: Likewise.
	* gcc.target/powerpc/vec-extract-v2df.c: Likewise.
	* gcc.target/powerpc/vec-extract-v2di.c: Likewise.
	* gcc.target/powerpc/vec-extract-v4sf.c: Likewise.
	* gcc.target/powerpc/vec-extract-v4si.c: Likewise.
	* gcc.target/powerpc/vec-extract-v4siu.c: Likewise.
	* gcc.target/powerpc/vec-extract-v8hi.c: Likewise.
	* gcc.target/powerpc/vec-extract-v8hiu.c: Likewise.

From-SVN: r238613
2016-07-22 00:12:28 +00:00
Jonathan Wakely
8b649cd3ba Fix naming, qualification and broken test for propagate_const
* include/experimental/propagate_const (propagate_const::__t): Rename
	to _M_t and remove comment. Qualify std::move and std::forward.
	* testsuite/experimental/propagate_const/cons/default.cc: Fix test.

From-SVN: r238611
2016-07-21 20:39:03 +01:00
Jonathan Wakely
509b778f6c Define missing delete operators in libstdc++ testsuite
* testsuite/23_containers/vector/zero_sized_allocations.cc:
	Define sized deallocation function.
	* testsuite/util/testsuite_new_operators.h:
	(operator delete(void*, const std::nothrow_t&)): Define nothrow
	deallocation function.

From-SVN: r238610
2016-07-21 20:38:57 +01:00
Jonathan Wakely
e93a101f83 Fix out-of-bound array accesses in libstdc++ testsuite
* testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
	reads past the end of strings.
	* testsuite/21_strings/basic_string/operations/compare/char/1.cc:
	Likewise.
	* testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
	invalid array accesses.
	* testsuite/experimental/string_view/operations/compare/char/1.cc:
	Fix read past the end of string.
	* testsuite/util/testsuite_character.cc: Fix out-of-bounds write.

From-SVN: r238609
2016-07-21 20:38:51 +01:00