Commit Graph

147535 Commits

Author SHA1 Message Date
Prathamesh Kulkarni
f6c7a248d5 2016-07-29 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
testsuite/
	gcc.dg/pr70920-4.c: Restrict to lp64 targets and make scan-tree-dump
	to scan forwprop1 dump pass.

From-SVN: r238874
2016-07-29 15:37:23 +00:00
Jason Merrill
201e6861f9 * decl.c (build_enumerator): Tweak diagnostic.
From-SVN: r238873
2016-07-29 11:10:58 -04:00
Georg-Johann Lay
35909ec3a3 * config/avr/avr.md: Fix " in comment.
From-SVN: r238871
2016-07-29 14:54:04 +00:00
Paolo Carlini
f54ea774e3 re PR c++/51488 (ICE on infinite template recursion)
2016-07-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51488
	* g++.dg/template/pr51488.C: New.

From-SVN: r238870
2016-07-29 14:49:03 +00:00
Jason Merrill
49b5925f02 PR c++/72457 - ICE with list-value-initialized base.
* init.c (expand_aggr_init_1): Only handle value-init of bases.
	* constexpr.c (build_data_member_initialization): Handle multiple
	initializers for the same field.

From-SVN: r238867
2016-07-29 10:03:26 -04:00
Marek Polacek
c63b1732d5 re PR c/7652 (-Wswitch-break : Warn if a switch case falls through)
PR c/7652
	* config/i386/i386.c (ix86_expand_args_builtin): Add break.
	(ix86_expand_round_builtin): Likewise.

From-SVN: r238864
2016-07-29 12:39:25 +00:00
Segher Boessenkool
cc80b225c5 re PR rtl-optimization/71976 (insn-combiner deletes a live 64-bit shift)
gcc/
	PR rtl-optimization/71976
	* combine.c (get_last_value): Return 0 if the argument for which
	the function is called has a wider mode than the recorded value.

Co-Authored-By: Georg-Johann Lay <avr@gjlay.de>

From-SVN: r238863
2016-07-29 12:34:21 +00:00
Jakub Jelinek
673a107a40 re PR c/71969 (Wrong setting of DECL_DISREGARD_INLINE_LIMITS in the C FE)
PR c/71969
	* c-decl.c (finish_function): Only set DECL_DISREGARD_INLINE_LIMITS
	on GNU extern inline functions.

	* gcc.dg/alias-11.c (add_cfi, new_cfi): Change __inline__ to
	static __inline__.
	* gcc.dg/pr71969-1.c: New test.
	* gcc.dg/pr71969-2.c: New test.
	* gcc.dg/pr71969-3.c: New test.

From-SVN: r238862
2016-07-29 12:00:43 +00:00
Marek Polacek
a5b5c8b624 re PR c/71583 (ICE on invalid code on x86_64-linux-gnu (in c_parser_postfix_expression_after_paren_type, at c/c-parser.c:8192))
PR c/71583
	* c-parser.c (c_parser_postfix_expression_after_paren_type): Also
	check expr.value.

	* gcc.dg/noncompile/pr71583.c: New test.

From-SVN: r238861
2016-07-29 11:48:36 +00:00
Andreas Schwab
0c4c49092a Update libstdc++ baseline symbols for aarch64, ia64, m68k
* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.

From-SVN: r238860
2016-07-29 11:41:05 +00:00
Marek Polacek
78169471c9 re PR c/71574 (ICE on code with alloc_align attribute on x86_64-linux-gnu: in default_conversion, at c/c-typeck.c:2126)
PR c/71574
	* c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.

	* c-c++-common/pr71574.c: New test.

From-SVN: r238859
2016-07-29 11:28:57 +00:00
Marek Polacek
bb3aa3f830 re PR c/7652 (-Wswitch-break : Warn if a switch case falls through)
PR c/7652
	* config/rs6000/rs6000.c (altivec_expand_ld_builtin): Likewise.
	(altivec_expand_st_builtin): Likewise.

From-SVN: r238856
2016-07-29 11:16:20 +00:00
Jonathan Wakely
13ec6e5e06 Update libstdc++ docs for library version history
* doc/xml/manual/abi.xml: Document 6.0.22 library version.
	* doc/html/manual/abi.html: Regenerate.

From-SVN: r238855
2016-07-29 11:55:03 +01:00
Jonathan Wakely
62589e99d1 New libstdc++ symbol version for new basic_string symbols
* acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
	* config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
	symbols.
	* configure: Regenerate.
	* testsuite/util/testsuite_abi.cc: Add new symbol version.

From-SVN: r238853
2016-07-29 11:42:17 +01:00
Jonathan Wakely
fe97ccec24 Update libstdc++ baseline symbols for x86 and ppc
* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
	Likewise.
	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.

From-SVN: r238852
2016-07-29 11:42:06 +01:00
Georg-Johann Lay
4301dca150 avr.md (addqi3): Revert glitch in insn attribute introduced in r238381.
* config/avr/avr.md (addqi3) [cc]: Revert glitch in insn attribute
	introduced in r238381.

From-SVN: r238851
2016-07-29 09:26:52 +00:00
Georg-Johann Lay
96aa1f9558 lib1funcs.S (__muldi3): No need to clear zero_reg as previous call to __umulhisi3 already cleared it.
* config/avr/lib1funcs.S (__muldi3) [have MUL]: No need to clear
	zero_reg as previous call to __umulhisi3 already cleared it.

From-SVN: r238850
2016-07-29 09:14:02 +00:00
Dominik Vogt
7b11fbb838 gfortran: Fix allocation of diagnostig string (was too small).
The attached patch fixes an out of bound write to memory allocated
with alloca() on the stack.  This rarely ever happened because on
one hand -fbounds-check needs to be enabled, and on the other hand
alloca() used to allocate a few bytes extra most of the time so
most of the time the excess write did no harm.

gcc/fortran/ChangeLog:

	* trans-array.c (gfc_conv_array_ref): Fix allocation of diagnostic
	message (was too small).

From-SVN: r238849
2016-07-29 08:04:01 +00:00
Kugan Vivekanandarajah
883b6d4e1b re PR rtl-optimization/68217 (Wrong constant folding)
gcc/ChangeLog:

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

	PR middle-end/68217
	* tree-vrp.c (extract_range_from_binary_expr_1): In case of signed
	& sign-bit-CST, generate [-INF, 0] instead of [-INF, INF].


gcc/testsuite/ChangeLog:

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

	PR middle-end/68217
	* gcc.dg/pr68217.c: New test.

From-SVN: r238846
2016-07-29 00:35:23 +00:00
GCC Administrator
257490974f Daily bump.
From-SVN: r238845
2016-07-29 00:16:17 +00:00
Steven G. Kargl
89f1f37ea6 re PR fortran/71067 (ICE on data initialization with insufficient value)
2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/71067
	* decl.c (match_data_constant): On error, set 'result' to NULL.

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

	PR fortran/71067
	* gfortran.dg/pr71067_1.f90: New test.
	* gfortran.dg/pr71067_2.f90: Ditto.

From-SVN: r238842
2016-07-28 23:12:23 +00:00
Joseph Myers
204ada0caa * sv.po: Update.
From-SVN: r238839
2016-07-28 22:15:06 +01:00
Michael Meissner
e0d321856b rs6000-protos.h (rs6000_split_vec_extract_var): New declaration.
[gcc]
2016-07-28  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000-protos.h (rs6000_split_vec_extract_var):
	New declaration.
	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
	Add support for vec_extract of vector double or vector long having
	a variable element number on 64-bit ISA 2.07 systems or newer.
	* config/rs6000/rs6000.c (rs6000_expand_vector_extract):
	Likewise.
	(rs6000_split_vec_extract_var): New function to split a
	vec_extract built-in function with variable element number.
	(rtx_is_swappable_p): Variable vec_extracts and shifts are not
	swappable.
	* config/rs6000/vsx.md (UNSPEC_VSX_VSLO): New unspec.
	(UNSPEC_VSX_EXTRACT): Likewise.
	(vsx_extract_<mode>, VSX_D iterator): Fix constraints to allow
	direct move instructions to be generated on 64-bit ISA 2.07
	systems and newer, and to take advantage of the ISA 3.0 MFVSRLD
	instruction.
	(vsx_vslo_<mode>): New insn to do VSLO on V2DFmode and V2DImode
	arguments for vec_extract variable element.
	(vsx_extract_<mode>_var, VSX_D iterator): New insn to support
	vec_extract with variable element on V2DFmode and V2DImode
	vectors.
	* config/rs6000/rs6000.h (TARGET_VEXTRACTUB): Remove
	-mupper-regs-df requirement, since it isn't needed.
	(TARGET_DIRECT_MOVE_64BIT): New macro to say whether we can
	do direct moves on 64-bit systems, which allows optimization of
	vec_extract on 64-bit ISA 2.07 systems and newer.

[gcc/testsuite]
2016-07-28  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/vec-extract-1.c: New test.

From-SVN: r238838
2016-07-28 21:02:06 +00:00
Jonathan Wakely
1a2196e484 Fix DR 438 container tests to pass in C++98 mode
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Adjust dg-prune-output pattern for error in C++98 mode.
	* 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.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/assign_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/vector/requirements/dr438/insert_neg.cc:
	Likewise.

From-SVN: r238837
2016-07-28 22:00:45 +01:00
Jonathan Wakely
e539b4ff2f Fix std::vector test to pass in C++98 mode
* testsuite/23_containers/vector/check_construct_destroy.cc: Account
	for different construct/destroy counts in C++98 mode.

From-SVN: r238836
2016-07-28 22:00:39 +01:00
Jonathan Wakely
c3c2f97308 Use dg-additional-options in libstdc++ tests
* testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
	dg-options to dg-additional-options so that default options are used.
	* testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
	Likewise.
	* testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
	* testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
	Likewise.
	* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
	Use dg-additional-options instead of repeating the common options.

From-SVN: r238835
2016-07-28 22:00:34 +01:00
Jonathan Wakely
2de6b25424 Fix invalid dg-do directives in libstdc++ tests
* testsuite/22_locale/conversions/string/1.cc: Remove unintended
	dg-do compile directive.
	* testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
	dg-do directive.
	* testsuite/26_numerics/valarray/const_bracket.cc: Likewise.

From-SVN: r238834
2016-07-28 22:00:19 +01:00
Steven G. Kargl
c851722d5a re PR fortran/71799 (ICE in DO loop code emission (gfc_resolve_iterator))
2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/71799
	* resolve.c(gfc_resolve_iterator): Failure of type conversion need
	not ICE.

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

	PR fortran/71799
	* gfortran.dg/pr71799.f90: New test.

From-SVN: r238830
2016-07-28 19:04:12 +00:00
Paolo Carlini
f064da6af5 re PR c++/71665 (ICE on invalid C++ code with non-integral constant enumerator value: in cxx_eval_constant_expression, at cp/constexpr.c:3918)
/cp
2016-07-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/71665
	* decl.c (build_enumerator): Check the type of the enumerator before
	calling cxx_constant_value.

/testsuite
2016-07-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/71665
	* g++.dg/cpp0x/pr71665-1.C: New.
	* g++.dg/cpp0x/pr71665-2.C: Likewise.
	* g++.dg/cpp0x/enum29.C: Adjust dg-error string.
	* g++.dg/ext/label10.C: Likewise.
	* g++.dg/parse/constant5.C: Likewise.

From-SVN: r238828
2016-07-28 18:43:29 +00:00
Steven G. Kargl
1b70aaad4c re PR fortran/71859 (ICE on same variable/subroutine name (verify_gimple failed))
2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/71859
	* check.c(numeric_check): Prevent ICE.  Issue error for invalid
	subroutine as an actual argument when numeric argument is expected.

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

	PR fortran/71859
	* gfortran.dg/pr71859.f90: New test.
	* gfortran.dg/intrinsic_numeric_arg.f: Update error message.
	* gfortran.dg/coarray_collectives_1.f90: Ditto.

From-SVN: r238825
2016-07-28 17:48:54 +00:00
Marek Polacek
717a767378 re PR c/7652 (-Wswitch-break : Warn if a switch case falls through)
PR c/7652
	* jcf-dump.c (print_constant): Add break.

From-SVN: r238824
2016-07-28 15:46:07 +00:00
Ville Voutilainen
ca8f2cb137 Implement std::string_view and P0254r2,
Integrating std::string_view and std::string.
	* include/Makefile.am: Add string_view and string_view.tcc
	to the exported headers.
	* include/Makefile.in: Likewise.
	* include/bits/basic_string.h: Include <string_view> in C++17 mode.
	(__sv_type): New.
	(basic_string(__sv_type, const _Alloc&)): Likewise.
	(operator=(__sv_type)): Likewise.
	(operator __sv_type()): Likewise.
	(operator+=(__sv_type)): Likewise.
	(append(__sv_type __sv)): Likewise.
	(append(__sv_type, size_type, size_type)): Likewise.
	(assign(__sv_type)): Likewise.
	(assign(__sv_type, size_type, size_type)): Likewise.
	(insert(size_type, __sv_type)): Likewise.
	(insert(size_type, __sv_type, size_type, size_type)): Likewise.
	(replace(size_type, size_type, __sv_type)): Likewise.
	(replace(size_type, size_type, __sv_type, size_type, size_type)):
	Likewise.
	(replace(const_iterator, const_iterator, __sv_type)): Likewise.
	(find(__sv_type, size_type)): Likewise.
	(rfind(__sv_type, size_type)): Likewise.
	(find_first_of(__sv_type, size_type)): Likewise.
	(find_last_of(__sv_type, size_type)): Likewise.
	(find_first_not_of(__sv_type, size_type)): Likewise.
	(find_last_not_of(__sv_type, size_type)): Likewise.
	(compare(__sv_type)): Likewise.
	(compare(size_type, size_type, __sv_type)): Likewise.
	(compare(size_type, size_type, __sv_type, size_type, size_type)):
	Likewise.
	* include/bits/string_view.tcc: New.
	* include/std/string_view: Likewise.
	* testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
	* testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
	* testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
	Likewise.
	* testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
	Likewise.
	* testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
	Likewise.
	* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
	Likewise.
	* testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
	Likewise.
	* testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
	Likewise.
	* testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
	Likewise.
	* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
	Likewise.
	* testsuite/21_strings/basic_string/operations/compare/char/2.cc:
	Likewise.
	* testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
	Likewise.
	* testsuite/21_strings/basic_string/operations/find/char/5.cc:
	Likewise.
	* testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
	Likewise.
	* testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
	* testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
	* testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
	* testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
	* testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
	* testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
	* testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
	* testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
	* testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
	* testsuite/21_strings/basic_string_view/element_access/char/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/element_access/char/2.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/include.cc: Likewise.
	* testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
	* testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
	* testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
	* testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
	* testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/range_access/char/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
	* testsuite/21_strings/basic_string_view/types/1.cc: Likewise.

From-SVN: r238823
2016-07-28 18:15:26 +03:00
Paul Thomas
a23404c90f [multiple changes]
2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>
	    Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/71883
	* frontend-passes.c (gfc_run_passes): Bail out if there are any
	errors.
	* error.c (gfc_internal_error): If there are any errors in the
	buffer, exit with EXIT_FAILURE.

2016-07-28  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/71883
	* gfortran.dg/pr71883.f90 : New test.

From-SVN: r238822
2016-07-28 14:47:02 +00:00
Wilco Dijkstra
63715e5e78 On AArch64 the UXTB and UXTH instructions are aliases of UBFM,
which does a shift as part of its operation. An AND immediate is a
simpler operation, and might be faster on some implementations, so
it is better to emit this this instead of UBFM.

Benchmarking showed no difference on implementations where UBFM has
the same performance as AND, and minor speedups across several
benchmarks on an implementation where UBFM is slower than AND.

Bootstrapped and tested on aarch64-none-elf.

    gcc/
	* config/aarch64/aarch64.md
	(zero_extend<SHORT:mode><GPI:mode>2_aarch64): Change output
	statement and type.
	(<optab>qihi2_aarch64): Likewise, and split into two.
	(extendqihi2_aarch64): New.
	(zero_extendqihi2_aarch64): New.
	* config/aarch64/iterators.md (ldrxt): Remove.
	* config/aarch64/aarch64.c (aarch64_rtx_costs): Change cost of
	uxtb/uxth.

From-SVN: r238821
2016-07-28 14:34:41 +00:00
Kristina Martsenko
dde23f43f9 This patchset improves zero extend costs and code generation.
When zero extending a 32-bit register, we emit a "mov", but currently
report the cost of the "mov" incorrectly.

In terms of speed, we currently say the cost is that of an extend
operation. But the cost of a "mov" is the cost of 1 instruction, so fix
that.

In terms of size, we currently say that the "mov" takes 0 instructions.
Fix it by changing it to 1.

Bootstrapped and tested on aarch64-none-elf.

    gcc/
	* config/aarch64/aarch64.c (aarch64_rtx_costs): Fix cost of zero extend.

From-SVN: r238820
2016-07-28 14:29:28 +00:00
Wilco Dijkstra
89ac681e18 This patch improves the readability of the prolog and epilog code by moving some code into separate functions.
This patch improves the readability of the prolog and epilog code by moving
some code into separate functions.  There is no difference in generated code.

gcc/
	* config/aarch64/aarch64.c (aarch64_pushwb_pair_reg): Rename.
	(aarch64_push_reg): New function to push 1 or 2 registers.
	(aarch64_pop_reg): New function to pop 1 or 2 registers.
	(aarch64_expand_prologue): Use aarch64_push_regs.
	(aarch64_expand_epilogue): Use aarch64_pop_regs.

From-SVN: r238818
2016-07-28 14:21:57 +00:00
Yuri Rumyantsev
513d866d5b re PR middle-end/71734 (FAIL: libgomp.fortran/simd4.f90 -O3 -g execution test)
gcc/

2016-07-28  Yuri Rumyantsev  <ysrumyan@gmail.com>

	PR tree-optimization/71734
	* tree-ssa-loop-im.c (ref_indep_loop_p_1): Pass value of safelen
	attribute instead of REF_LOOP and use it.
	(ref_indep_loop_p_2): Use SAFELEN argument instead of REF_LOOP and
	set it for Loops having non-zero safelen attribute.
	(ref_indep_loop_p): Pass zero as initial value for safelen.

gcc/testsuite/

2016-07-28  Yuri Rumyantsev  <ysrumyan@gmail.com>

	PR tree-optimization/71734
        * g++.dg/vect/pr70729-nest.cc: New test.

From-SVN: r238817
2016-07-28 14:19:18 +00:00
Ilya Enkovich
69cd47a17f re PR middle-end/72657 ([CHKP] internal compiler error: in ix86_expand_builtin)
gcc/

	PR middle-end/72657
	PR target/72683
	* tree-chkp.c (chkp_retbnd_call_by_val): Check for instrumentation
	call using chkp_gimple_call_builtin_p.
	(chkp_copy_bounds_for_assign): Likewise.

From-SVN: r238816
2016-07-28 12:58:37 +00:00
Renlin Li
7c428aa29d [PATCH] Revert Revert r238497 because of PR 71961.
This patch reverts the change for PR 71902 since it causes 178.gagel
miscompile in spec2000 as reported in PR 71961 which was observed in
x86_64, aarch64, powerpc64.

gcc/fortran/ChangeLog:

2016-07-28  Renlin Li  <renlin.li@arm.com>

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

	PR fortran/71902
	* dependency.c (gfc_check_dependency): Use dep_ref.  Handle case
	if identical is true and two array element references differ.
	(gfc_dep_resovler):  Move most of the code to dep_ref.
	(dep_ref):  New function.
	* frontend-passes.c (realloc_string_callback):  Name temporary
	variable "realloc_string".

gcc/testsuite/ChangeLog:

2016-07-28  Renlin Li  <renlin.li@arm.com>

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

	PR fortran/71902
	* gfortran.dg/dependency_47.f90:  New test.

From-SVN: r238815
2016-07-28 11:21:53 +00:00
Trevor Saunders
b505225ba4 merge adjust_cost and adjust_cost_2 target hooks
gcc/ChangeLog:

2016-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config/alpha/alpha.c (alpha_adjust_cost): Adjust.
	* config/arm/arm-protos.h (struct tune_params): Likewise.
	* config/arm/arm.c (xscale_sched_adjust_cost): Likewise.
	(cortex_a9_sched_adjust_cost): Likewise.
	(fa726te_sched_adjust_cost): Likewise.
	(arm_adjust_cost): Likewise.
	* config/bfin/bfin.c (bfin_adjust_cost): Likewise.
	* config/c6x/c6x.c (c6x_adjust_cost): Likewise.
	* config/epiphany/epiphany.c (epiphany_adjust_cost): Likewise.
	* config/i386/i386.c (ix86_adjust_cost): Likewise.
	* config/ia64/ia64.c: Likewise.
	* config/m68k/m68k.c: Likewise.
	* config/mep/mep.c (mep_adjust_cost): Likewise.
	* config/microblaze/microblaze.c (microblaze_adjust_cost):
	* Likewise.
	* config/mips/mips.c (mips_adjust_cost): Likewise.
	* config/mn10300/mn10300.c (mn10300_adjust_sched_cost):
	* Likewise.
	* config/pa/pa.c (pa_adjust_cost): Likewise.
	* config/rs6000/rs6000.c (rs6000_adjust_cost): Likewise.
	(rs6000_debug_adjust_cost): Likewise.
	* config/sh/sh.c (sh_adjust_cost): Likewise.
	* config/sparc/sparc.c (supersparc_adjust_cost): Likewise.
	(hypersparc_adjust_cost): Likewise.
	(sparc_adjust_cost): Likewise.
	* config/spu/spu.c (spu_sched_adjust_cost): Likewise.
	* config/tilegx/tilegx.c (tilegx_sched_adjust_cost): Likewise.
	* config/tilepro/tilepro.c (tilepro_sched_adjust_cost):
	* Likewise.
	* config/visium/visium.c (visium_adjust_cost): Likewise.
	* doc/tm.texi: Regenerate.
	* haifa-sched.c (dep_cost_1): Adjust.
	* target.def: Merge adjust_cost and adjust_cost_2.

From-SVN: r238814
2016-07-28 11:01:49 +00:00
Trevor Saunders
30a7199a19 haifa-sched.c: make twins a auto_vec<rtx_insn *>
gcc/ChangeLog:

2016-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* haifa-sched.c (add_to_speculative_block): Make twins a vector.

From-SVN: r238813
2016-07-28 11:01:39 +00:00
Trevor Saunders
246af050e7 make pattern_regs a vec
gcc/ChangeLog:

2016-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* store-motion.c (struct st_expr): Make pattern_regs a vector.
	(extract_mentioned_regs): Append to a vector instead of
	returning a rtx_expr_list.
	(st_expr_entry): Adjust.
	(free_st_expr_entry): Likewise.
	(store_ops_ok): Likewise.
	(store_killed_in_insn): Likewise.
	(find_moveable_store): Likewise.

From-SVN: r238812
2016-07-28 11:01:34 +00:00
Martin Liska
1225d6b113 Introduce no_profile_instrument_function attribute
PR gcov-profile/68025
	* tree-profile.c (tree_profiling): Respect
	no_profile_instrument_function attribute.
	* doc/extend.texi: Document no_profile_instrument_function
	attribute.
	PR gcov-profile/68025
	* c-common.c (handle_no_profile_instrument_function_attribute):
	PR gcov-profile/68025
	* gcc.dg/no_profile_instrument_function-attr-1.c: New test.

From-SVN: r238811
2016-07-28 08:45:29 +00:00
Martin Liska
9bd6a6aebf Add missing file.
From-SVN: r238810
2016-07-28 08:31:54 +00:00
Martin Liska
ce84ada358 Add mark_spam.py script
* mark_spam.py: New file.

From-SVN: r238809
2016-07-28 08:31:36 +00:00
Martin Liska
e5f5bf35d7 Do not allow make_compound_operation for vector mode
* g++.dg/vect/pr70944.cc: New test.
	PR rtl-optimization/70944
	* combine.c (make_compound_operation):
	Do not allow make_compound_operation for vector mode

From-SVN: r238808
2016-07-28 08:26:51 +00:00
GCC Administrator
5cb6b47352 Daily bump.
From-SVN: r238806
2016-07-28 00:16:16 +00:00
Kugan Vivekanandarajah
d671006dcd re PR tree-optimization/71994 (ICE: verify_gimple failed)
gcc/testsuite/ChangeLog:

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

	PR middle-end/71994
	* gcc.dg/torture/pr71994.c: New test.

From-SVN: r238803
2016-07-27 23:02:44 +00:00
Kugan Vivekanandarajah
4536610dd4 re PR tree-optimization/71994 (ICE: verify_gimple failed)
gcc/testsuite/ChangeLog:

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

	PR middle-end/71994
	* gcc.dg/torture/pr71994.c: New test.

gcc/ChangeLog:

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

	PR middle-end/71994
	* tree-ssa-reassoc.c (maybe_optimize_range_tests): Check tcc_comparison
	 before calling get_ops.

From-SVN: r238802
2016-07-27 22:45:46 +00:00
Bernd Edlinger
ec1e2a4097 defaults.h (LOG2_BITS_PER_UNIT): Move from here...
2016-07-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * defaults.h (LOG2_BITS_PER_UNIT): Move from here...
        * tree.h (LOG2_BITS_PER_UNIT): ...to here.
        (BITS_PER_UNIT_LOG): Remove.
        (int_bit_position): Use LOG2_BITS_PER_UNIT instead of BITS_PER_UNIT_LOG.
        * expr.c (expand_assignment): Likewise. 
        * stor-layout.c (initialize_sizetypes): Likewise.

c-family:
2016-07-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
        BITS_PER_UNIT_LOG.

From-SVN: r238800
2016-07-27 20:35:35 +00:00