Commit Graph

147899 Commits

Author SHA1 Message Date
Joseph Myers
feeb62681c Update soft-fp from glibc (PR libgcc/77265).
This patch updates soft-fp from glibc, bringing in the fix for PR
libgcc/77265, XFmode extension to TFmode wrongly turning an infinity
into a NaN.  A test for that bug is added.

Bootstrapped with no regressions on x86_64-pc-linux-gnu.

	PR libgcc/77265
gcc/testsuite:
	* gcc.dg/torture/float128-extend-inf.c: New test.

libgcc:
	* soft-fp/adddf3.c: Update from glibc.
	* soft-fp/addsf3.c: Likewise.
	* soft-fp/addtf3.c: Likewise.
	* soft-fp/divdf3.c: Likewise.
	* soft-fp/divsf3.c: Likewise.
	* soft-fp/divtf3.c: Likewise.
	* soft-fp/double.h: Likewise.
	* soft-fp/eqdf2.c: Likewise.
	* soft-fp/eqsf2.c: Likewise.
	* soft-fp/eqtf2.c: Likewise.
	* soft-fp/extenddftf2.c: Likewise.
	* soft-fp/extended.h: Likewise.
	* soft-fp/extendsfdf2.c: Likewise.
	* soft-fp/extendsftf2.c: Likewise.
	* soft-fp/extendxftf2.c: Likewise.
	* soft-fp/fixdfdi.c: Likewise.
	* soft-fp/fixdfsi.c: Likewise.
	* soft-fp/fixdfti.c: Likewise.
	* soft-fp/fixsfdi.c: Likewise.
	* soft-fp/fixsfsi.c: Likewise.
	* soft-fp/fixsfti.c: Likewise.
	* soft-fp/fixtfdi.c: Likewise.
	* soft-fp/fixtfsi.c: Likewise.
	* soft-fp/fixtfti.c: Likewise.
	* soft-fp/fixunsdfdi.c: Likewise.
	* soft-fp/fixunsdfsi.c: Likewise.
	* soft-fp/fixunsdfti.c: Likewise.
	* soft-fp/fixunssfdi.c: Likewise.
	* soft-fp/fixunssfsi.c: Likewise.
	* soft-fp/fixunssfti.c: Likewise.
	* soft-fp/fixunstfdi.c: Likewise.
	* soft-fp/fixunstfsi.c: Likewise.
	* soft-fp/fixunstfti.c: Likewise.
	* soft-fp/floatdidf.c: Likewise.
	* soft-fp/floatdisf.c: Likewise.
	* soft-fp/floatditf.c: Likewise.
	* soft-fp/floatsidf.c: Likewise.
	* soft-fp/floatsisf.c: Likewise.
	* soft-fp/floatsitf.c: Likewise.
	* soft-fp/floattidf.c: Likewise.
	* soft-fp/floattisf.c: Likewise.
	* soft-fp/floattitf.c: Likewise.
	* soft-fp/floatundidf.c: Likewise.
	* soft-fp/floatundisf.c: Likewise.
	* soft-fp/floatunditf.c: Likewise.
	* soft-fp/floatunsidf.c: Likewise.
	* soft-fp/floatunsisf.c: Likewise.
	* soft-fp/floatunsitf.c: Likewise.
	* soft-fp/floatuntidf.c: Likewise.
	* soft-fp/floatuntisf.c: Likewise.
	* soft-fp/floatuntitf.c: Likewise.
	* soft-fp/gedf2.c: Likewise.
	* soft-fp/gesf2.c: Likewise.
	* soft-fp/getf2.c: Likewise.
	* soft-fp/ledf2.c: Likewise.
	* soft-fp/lesf2.c: Likewise.
	* soft-fp/letf2.c: Likewise.
	* soft-fp/muldf3.c: Likewise.
	* soft-fp/mulsf3.c: Likewise.
	* soft-fp/multf3.c: Likewise.
	* soft-fp/negdf2.c: Likewise.
	* soft-fp/negsf2.c: Likewise.
	* soft-fp/negtf2.c: Likewise.
	* soft-fp/op-1.h: Likewise.
	* soft-fp/op-2.h: Likewise.
	* soft-fp/op-4.h: Likewise.
	* soft-fp/op-8.h: Likewise.
	* soft-fp/op-common.h: Likewise.
	* soft-fp/quad.h: Likewise.
	* soft-fp/single.h: Likewise.
	* soft-fp/soft-fp.h: Likewise.
	* soft-fp/subdf3.c: Likewise.
	* soft-fp/subsf3.c: Likewise.
	* soft-fp/subtf3.c: Likewise.
	* soft-fp/truncdfsf2.c: Likewise.
	* soft-fp/trunctfdf2.c: Likewise.
	* soft-fp/trunctfsf2.c: Likewise.
	* soft-fp/trunctfxf2.c: Likewise.
	* soft-fp/unorddf2.c: Likewise.
	* soft-fp/unordsf2.c: Likewise.
	* soft-fp/unordtf2.c: Likewise.

From-SVN: r239513
2016-08-16 22:30:56 +01:00
Jakub Jelinek
4687d82a93 i386.c (enum ix86_builtins): Reorder enumerators...
* config/i386/i386.c (enum ix86_builtins): Reorder enumerators, so
	that builtins not mentioned in bdesc_* arrays come first, then
	the ones mentioned in bdesc_* arrays in the order they appear in
	the arrays in between IX86_BUILTIN__BDESC_*_FIRST and
	IX86_BUILTIN__BDESC_*_LAST enumerator.
	(bdesc_mpx): Fix up a comment typo.
	(bdesc_multi_arg): Remove __builtin_ia32_vpcomne[bwdq] and
	__builtin_ia32_vpcomneu[bwdq] builtins.
	(BDESC_VERIFY, BDESC_VERIFYS): Define.
	(ix86_init_mmx_sse_builtins, ix86_init_mpx_builtins): Verify
	enum ix86_builtins ordering.
	(ix86_expand_builtin): Use enum ix86_builtins ordering assumption
	for direct bdesc_* array member access instead of searching all the
	arrays until an fcode match is found.

From-SVN: r239512
2016-08-16 21:27:41 +02:00
Uros Bizjak
3c5db734e0 i386.md (*ashl<mode>3_mask): Rewrite define_insn pattern as define_insn_and_split.
* config/i386/i386.md (*ashl<mode>3_mask): Rewrite define_insn
	pattern as define_insn_and_split.  Split insn before reload to
	ashl<mode>3_1.
	(*<shift_insn><mode>3_mask): Ditto.  Split insn before reload to
	<shift_insn><mode>3_1.
	(*<rotate_insn><mode>3_mask): Ditto.  Split insn before reload to
	<rotate_insn><mode>3_1.

From-SVN: r239511
2016-08-16 20:23:47 +02:00
David Malcolm
65e736c0ef Fix caret locations in format_type_warning (PR c/72857)
gcc/c-family/ChangeLog:
	PR c/72857
	* c-common.c (substring_loc::get_range): Rename to...
	(substring_loc::get_location): ...this, converting param from a
	source_range * to a location_t *.  Call
	get_source_location_for_substring rather than
	get_source_range_for_substring, and pass in m_caret_idx.
	* c-common.h (substring_loc::substring_loc): Add param "caret_idx".
	(substring_loc::get_range): Replace with...
	(substring_loc::get_location): ...this.
	(substring_loc::set_caret_index): New method.
	(substring_loc): Add field m_caret_idx.
	* c-format.c (format_warning_va): Update for above changes.
	Rename local "substring_loc" to "fmt_substring_loc" to avoid
	clashing with type name.
	(format_warning_at_char): Add caret_idx param to substring_loc ctor.
	(check_argument_type): Likewise.
	(format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
	Use a copy when emitting warnings, setting the caret index from TYPE.

gcc/ChangeLog:
	PR c/72857
	* input.c (get_source_range_for_substring): Rename to...
	(get_source_location_for_substring): ...this, adding param
	"caret_idx", and converting output param from source_range * to
	location_t *.
	(get_source_range_for_char): New function.
	(get_num_source_ranges_for_substring): Update comment to reflect
	above renaming.
	(assert_char_at_range): Update to use get_source_range_for_char
	rather than get_source_range_for_substring.
	(test_lexer_string_locations_concatenation_2): Likewise.
	* substring-locations.h (get_source_range_for_substring): Rename
	to...
	(get_source_location_for_substring): ...this, and adding param
	"caret_idx", and converting output param from source_range * to
	location_t *.

gcc/testsuite/ChangeLog:
	PR c/72857
	* gcc.dg/format/asm_fprintf-1.c: Restore column numbers
	for embedded NUL.
	* gcc.dg/format/c90-printf-1.c: Restore column numbers.
	* gcc.dg/format/diagnostic-ranges.c (test_hex): Update expected
	caret placement.
	(test_oct): Likewise.
	(test_multiple): Likewise.
	(test_field_width_specifier): Likewise.
	(test_field_width_specifier_2): New function.
	(test_field_precision_specifier): New function.
	(test_embedded_nul): Update expected caret placement.
	(test_non_contiguous_strings): Update line number.
	* gcc.dg/plugin/diagnostic-test-string-literals-1.c
	(__emit_string_literal_range): Add "caret_idx" param.
	(test_simple_string_literal): Add value for new param, updating
	expected output..
	(test_concatenated_string_literal): Likewise.
	(test_multiline_string_literal): Likewise.
	(test_hex): Likewise.
	(test_oct): Likewise.
	(test_multiple): Likewise.
	(test_ucn4): Likewise.
	(test_ucn8): Likewise.
	(test_u8): Likewise.
	(test_u): Likewise; update expected message, from "range" to
	"location".
	(test_U): Likewise.
	(test_L): Likewise.
	(test_macro): Add value for new param.
	* gcc.dg/plugin/diagnostic-test-string-literals-2.c
	(__emit_string_literal_range): Add "caret_idx" param.
	(test_stringified_token_1): Add value for new param.  Update
	expected message, from "range" to "location".
	(test_stringized_token_2): Likewise, adding param to macro.
	(test_stringified_token_3): Likewise.
	* gcc.dg/plugin/diagnostic_plugin_test_string_literals.c
	(emit_warning): Convert param from source_range to location_t.
	(test_string_literals): Add caret_idx param, and use it when
	constructing a substring_loc.  Update error message, from
	"range" to "location".

From-SVN: r239510
2016-08-16 18:19:34 +00:00
David Malcolm
eb3a5bcc74 Move class temp_source_file from input.c to selftest.c/h
gcc/ChangeLog:
	* input.c (class selftest::temp_source_file): Move to
	selftest.h.
	(selftest::temp_source_file::temp_source_file): Move to
	selftest.c.
	(selftest::temp_source_file::~temp_source_file): Likewise.
	* selftest.c (selftest::temp_source_file::temp_source_file): Move
	here from input.c.
	(selftest::temp_source_file::~temp_source_file): Likewise.
	* selftest.h (class selftest::temp_source_file): Move here from
	input.c

From-SVN: r239509
2016-08-16 18:02:43 +00:00
Jakub Jelinek
7841800f7a re PR target/71910 (ICE on valid OpenMP code)
PR target/71910
	* tree-cfg.c (execute_fixup_cfg): Add node variable, use it.  Before inlining,
	add cgraph edge for the added __builtin_unreachable call.

	* g++.dg/gomp/pr71910.C: New test.

From-SVN: r239508
2016-08-16 18:50:47 +02:00
Jakub Jelinek
1b13411a13 re PR middle-end/67485 (expmed.c sanitizer detects overflow)
PR middle-end/67485
	* expmed.c (expand_mult_const): Change val_so_far's type to UHWI,
	only cast it to SHWI for the final comparison.

	* gcc.c-torture/compile/pr67485.c: New test.

From-SVN: r239507
2016-08-16 18:48:16 +02:00
Jakub Jelinek
4a7f57d539 re PR target/72867 (SSE/AVX/AVX512: incorrect optimization of VMINPS/VMAXPS at compile time)
PR target/72867
	* gcc.target/i386/pr72867.c: Add -msse to dg-options.

From-SVN: r239505
2016-08-16 18:23:46 +02:00
Martin Liska
75cc66f263 gcov: add new option (--hash-filenames) (PR
PR gcov-profile/36412
	* doc/gcov.texi: Document --hash-filenames(-x).
	* gcov.c (print_usage): Add the option.
	(process_args): Process the option, sort options alphabetically.
	(md5sum_to_hex): New function.
	(make_gcov_file_name): Do the md5sum and append it to a
	filename.

From-SVN: r239503
2016-08-16 14:14:18 +00:00
Bin Cheng
3c556bc4e9 re PR tree-optimization/69848 (poor vectorization of a loop from SPEC2006 464.h264ref)
PR tree-optimization/69848
	* config/aarch64/aarch64-simd.md (vcond<mode><mode>): Invert NE
	and swtich operands to avoid additional NOT instruction.
	(vcond<v_cmp_mixed><mode>): Ditto.
	(vcondu<mode><mode>, vcondu<mode><v_cmp_mixed>): Ditto.

	gcc/testsuite
	* gcc.target/aarch64/simd/vcond-ne-bit.c: New test.

From-SVN: r239502
2016-08-16 13:09:40 +00:00
Eric Botcazou
edd1a1cb73 * doc/install.texi (*-*-solaris2*): Adjust latest change.
From-SVN: r239499
2016-08-16 12:43:12 +00:00
Martin Liska
beab2da675 Fix val-prof-7.c on --target_board 'unix/-m32'
* gcc.dg/tree-prof/val-prof-7.c (int main): Change size
	of memory operations so that it can be handled by core2
	in 32-bit mode.

From-SVN: r239498
2016-08-16 12:28:46 +00:00
Jonathan Wakely
32917686b0 PR 72847 Prevent double-free in std::vector<bool>
PR libstdc++/72847
	* include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
	pointers to start and end of storage.
	* testsuite/23_containers/vector/bool/72847.cc: New test.
	* include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
	_M_finish after deallocating.
	(vector<bool>::_M_fill_insert): Likewise.
	(vector<bool>::_M_insert_range): Likewise.
	(vector<bool>::_M_insert_aux): Likewise.

From-SVN: r239497
2016-08-16 12:33:16 +01:00
Richard Biener
f4eec0a3e3 re PR tree-optimization/76783 (wrong code with conditional vector assignment @ -Og)
2016-08-16  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/76783
	* tree-ssa-propagate.c (ssa_prop_init): Use RPO order.  Clear
	BB visited flags at start.

	* gcc.dg/pr76783.c: New testcase.
	* gcc.dg/tree-ssa/pr69270-2.c: Adjust.

From-SVN: r239496
2016-08-16 11:22:47 +00:00
Bin Cheng
8f21990a67 re PR tree-optimization/72817 (wrong code at -O3 on x86_64-linux-gnu (in both 32-bit and 64-bit modes))
PR tree-optimization/72817
	PR tree-optimization/73450
	* tree-ssa-loop-niter.c (number_of_iterations_ne): Check
	multiple_of_p for adjusted IV.base.

	gcc/testsuite
	* gcc.dg/tree-ssa/pr72817.c: New test.
	* gcc.dg/tree-ssa/pr73450.c: New test.

From-SVN: r239494
2016-08-16 09:13:50 +00:00
GCC Administrator
f6ba953d24 Daily bump.
From-SVN: r239492
2016-08-16 00:16:15 +00:00
Fritz Reese
7fc6162617 lang.opt, [...]: New flag -finit-derived.
2016-08-15  Fritz Reese  <fritzoreese@gmail.com>

	gcc/fortran/
	* lang.opt, invoke.texi: New flag -finit-derived.
	* gfortran.h (gfc_build_default_init_expr, gfc_apply_init,
	gfc_generate_initializer): New prototypes.
	* expr.c (gfc_build_default_init_expr, gfc_apply_init,
	component_initializer, gfc_generate_initializer): New functions.
	* expr.c (gfc_default_initializer): Wrap gfc_generate_initializer.
	* decl.c (build_struct): Move common code to gfc_apply_init.
	* resolve.c (can_generate_init): New function.
	* resolve.c (build_default_init_expr): Wrap gfc_build_default_init_expr.
	* resolve.c (apply_default_init, resolve_fl_variable_derived): Use
	gfc_generate_initializer.
	* trans-decl.c (gfc_generate_function_code): Use
	gfc_generate_initializer.

	gcc/testsuite/gfortran.dg/
	* init_flag_13.f90: New testcase.
	* init_flag_14.f90: Ditto.
	* init_flag_15.f03: Ditto.
	* dec_init_1.f90: Ditto.
	* dec_init_2.f90: Ditto.

From-SVN: r239489
2016-08-15 21:19:09 +00:00
Thomas Koenig
874be74ab3 frontend-passes.c (create_var): Set ts.deferred for deferred-length character variables.
2016-08-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* frontend-passes.c (create_var):  Set ts.deferred for
	deferred-length character variables.
	* dump-parse-tree.c (show_typespec):  Also dump
	is_c_interop, is_iso_c and deferred flags.

From-SVN: r239488
2016-08-15 19:34:48 +00:00
Uros Bizjak
432baa029c re PR target/72867 (SSE/AVX/AVX512: incorrect optimization of VMINPS/VMAXPS at compile time)
PR target/72867
	* config/i386/sse.md (<code><mode>3<mask_name><round_saeonly_name>):
	Emit ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>
	for !flag_finite_math_only or flag_signed_zeros.
	(*<code><mode>3<mask_name><round_saeonly_name>): Rename from
	*<code><mode>3_finite<mask_name><round_saeonly_name>.  Do not
	depend on flag_finite_math_only.
	(ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>):
	New insn pattern.
	(*<code><mode>3<mask_name><round_saeonly_name>): Remove.
	(*ieee_smin<mode>3): Ditto.
	(*ieee_smax<mode>3): Ditto.
	* config/i386/mmx.md (mmx_<code>v2sf3): Emit
	mmx_ieee_<ieee_maxmin>v2sf3 for !flag_finite_math_only or
	flag_signed_zeros.
	(*mmx_<code>v2sf3): Rename from *mmx_<code>v2sf3_finite.  Do not
	depend on flag_finite_math_only.
	(mmx_ieee_<ieee_maxmin>v2sf3): New insn pattern.
	(*mmx_<code>v2sf3): Remove.
	* config/i386/subst.md (round_saeonly_mask_arg3): New subst attribute.
	* config/i386/i386.c (ix86_expand_sse_fp_mimnax): Check
	flag_signed_zeros instead of !flag_unsafe_math_optimizations.

testsuite/ChangeLog:

	PR target/72867
	* gcc.target/i386/pr72867.c: New test.

From-SVN: r239487
2016-08-15 20:46:53 +02:00
Ian Lance Taylor
87155d4f6c cmd/go: ignore errors from go/build for standard packages
The go/build package does not know that gccgo's standard packages don't
    have source, and will report an error saying that it can not find them.
    Work around that in the cmd/go sources, since the go/build sources don't
    currently have a list of standard packages.
    
    This should get a real fix in the master sources, somehow.
    
    Fixes golang/go#16701.
    
    Reviewed-on: https://go-review.googlesource.com/27052

From-SVN: r239486
2016-08-15 18:05:24 +00:00
Segher Boessenkool
2008be405c lra: A multiple_sets is not a simple_move_p (PR73650)
In the PR we have a PARALLEL of a move and a compare (a "mr." instruction).
The compare is dead, so single_set on it returns just the move.  Then,
simple_move_p returns true; but the instruction does need reloads in this
case.  This patch solves this by making simple_move_p return false for
every multiple_sets instruction.


	PR rtl-optimization/73650
	* lra-constraints.c (simple_move_p): If the insn is multiple_sets
	it is not a simple move.

From-SVN: r239483
2016-08-15 18:17:21 +02:00
Ville Voutilainen
5c578ae434 Implement LWG 2744 and LWG 2754.
* include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
	(any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
	(any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
	Likewise.
	(emplace(_Args&&...)): Likewise.
	(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
	* include/std/utility: (__is_in_place_type_impl): New.
	(__is_in_place_type): Likewise.
	* testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
	emplace.
	* testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
	in_place constructor.
	* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
	* testsuite/20_util/any/requirements.cc: Add a test for
	in_place-constructing a non-default-constructible type.

From-SVN: r239482
2016-08-15 18:06:09 +03:00
Eric Botcazou
7e1dde14c9 c-ada-spec.c (dump_number): New function.
* c-ada-spec.c (dump_number): New function.
	(handle_escape_character): Likewise.
	(print_ada_macros): Add handling of constant integers and strings.

Co-Authored-By: Arnaud Charlet <charlet@adacore.com>

From-SVN: r239481
2016-08-15 13:05:37 +00:00
Ville Voutilainen
24299f6544 Add a feature macro for C++17 make_from_tuple.
* include/std/tuple (__cpp_lib_make_from_tuple): New.
	* testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.

From-SVN: r239480
2016-08-15 15:46:47 +03:00
Uros Bizjak
0657379e3b ops.cc: Always include ostream and ext/stdio_filebuf.h.
* src/filesystem/ops.cc: Always include ostream and
	ext/stdio_filebuf.h.
	(do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
	[_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
	sendfile fails with ENOSYS or EINVAL.

From-SVN: r239479
2016-08-15 13:40:37 +02:00
Gilles Gouaillardet
2e6fc1acd0 gcov-tool: Do not segfault in merge operation (PR
PR gcov-profile/67097
	* libgcov-util.c (gcov_profile_merge): Skip missing files.

From-SVN: r239478
2016-08-15 11:23:27 +00:00
Martin Liska
3835914115 Fix invalid memory access in gcc.c (driver/72765)
PR driver/72765
	* gcc.c (do_spec_1): Call save_string with the right size.
	(save_string): Do an assert about string we copy.

From-SVN: r239475
2016-08-15 11:16:50 +00:00
Richard Biener
397d8acd71 ree.c (rest_of_handle_ree): Remove redundant timevar push/pop.
2016-08-15  Richard Biener  <rguenther@suse.de>

	* ree.c (rest_of_handle_ree): Remove redundant timevar push/pop.
	* config/i386/i386.c (pass_data_insert_vzeroupper): Account to
	TV_MACH_DEP.
	(pass_data_stv): Likewise.

From-SVN: r239474
2016-08-15 11:07:52 +00:00
Richard Biener
e4969090b6 re PR tree-optimization/73434 (Wrong code with casting, branches and aliasing)
2016-08-15  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/73434
	* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Preserve
	TBAA info on the base when forwarding a non-invariant address.

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

From-SVN: r239471
2016-08-15 09:56:00 +00:00
Jakub Jelinek
980bd53780 dwarf2.def (DW_AT_string_length_bit_size, [...]): New attributes.
* dwarf2.def (DW_AT_string_length_bit_size,
	DW_AT_string_length_byte_size): New attributes.

	* dwarf2out.c (struct checksum_attributes): Add
	at_string_length_bit_size and at_string_length_byte_size fields.
	(collect_checksum_attributes): Handle DW_AT_string_length_bit_size
	and DW_AT_string_length_byte_size.
	(die_checksum_ordered): Handle at_string_length_bit_size and
	at_string_length_byte_size.
	(gen_array_type_die): For dwarf_version >= 5 emit
	DW_AT_string_length_byte_size instead of DW_AT_byte_size.
	(adjust_string_types): For dwarf_version >= 5 remove
	DW_AT_string_length_byte_size instead of DW_AT_byte_size.
	(resolve_addr): Likewise.

From-SVN: r239470
2016-08-15 11:51:44 +02:00
Jakub Jelinek
8ae261c007 re PR debug/71906 (Fortran allocatable strings debug info type size regression)
PR debug/71906
	* dwarf2out.c (string_types): New variable.
	(gen_array_type_die): Change early_dwarf handling of
	DW_AT_string_length, create DW_OP_call4 referencing the
	length var temporarily.  Handle parameters that are pointers
	to string length.
	(adjust_string_types): New function.
	(gen_subprogram_die): Temporarily set string_types to local var,
	call adjust_string_types if needed.
	(non_dwarf_expression, copy_deref_exprloc, optimize_string_length):
	New functions.
	(resolve_addr): Adjust DW_AT_string_length if it is DW_OP_call4.

	* trans-decl.c (gfc_get_symbol_decl): Call gfc_finish_var_decl
	for decl's character length before gfc_finish_var_decl on the
	decl itself.

From-SVN: r239469
2016-08-15 11:50:33 +02:00
Martin Liska
28619cd767 Enhance mark_spam.py script
* mark_spam.py: Add error handling and reset
	another properties of attachments and bugs.

From-SVN: r239467
2016-08-15 09:30:44 +00:00
Eric Botcazou
f5ea1d3878 install.texi (*-*-solaris2*): Fix version number and document requirement on GNU make for building libjava...
* doc/install.texi (*-*-solaris2*): Fix version number and document
	requirement on GNU make for building libjava with the Solaris linker.

From-SVN: r239464
2016-08-15 09:16:17 +00:00
Thomas Preud'homme
f9657322cf re PR testsuite/72840 (PASS->NA: 20_util/ratio/cons/cons_overflow_neg.cc)
2016-08-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    PR libstdc++/72840
    * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
    syntax.

From-SVN: r239463
2016-08-15 09:14:15 +00:00
Jakub Jelinek
660880654a re PR tree-optimization/72824 (Signed floating point zero semantics broken at optimization level -O3 (tree-loop-distribute-patterns))
PR tree-optimization/72824
	* tree-loop-distribution.c (const_with_all_bytes_same)
	<case VECTOR_CST>: Fix a typo.

	* gcc.c-torture/execute/ieee/pr72824-2.c: New test.

From-SVN: r239461
2016-08-15 10:31:05 +02:00
GCC Administrator
3021134408 Daily bump.
From-SVN: r239460
2016-08-15 00:16:13 +00:00
Chung-Lin Tang
7c7137142c re PR fortran/70598 (Fortran OpenACC host_data construct ICE)
2016-08-14  Chung-Lin Tang  <cltang@codesourcery.com>

	PR fortran/70598

	gcc/fortran/
	* openmp.c (resolve_omp_clauses): Adjust use_device clause
	handling to only allow pointers and arrays.

	gcc/testsuite/
	* gfortran.dg/goacc/host_data-tree.f95: Adjust to use pointers
	in use_device clause.
	* gfortran.dg/goacc/uninit-use-device-clause.f95: Likewise.
	* gfortran.dg/goacc/list.f95: Adjust to catch
	"neither a POINTER nor an array" error messages.

	libgomp/
	* testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.

From-SVN: r239457
2016-08-14 18:19:10 +00:00
Uros Bizjak
c42b0bdf2f avx512ifmaintrin.h: Fix whitespace.
* config/i386/avx512ifmaintrin.h: Fix whitespace.
	* config/i386/avx512ifmavlintrin.h: Ditto.
	* config/i386/avx512vbmiintrin.h: Ditto.
	* config/i386/avx512vbmivlintrin.h: Ditto.
	* config/i386/avx512vlbwintrin.h: Ditto.
	* config/i386/avx512vldqintrin.h: Ditto.
	* config/i386/avx512vlintrin.h: Ditto.

From-SVN: r239455
2016-08-14 14:37:49 +02:00
Uros Bizjak
281f7120db avx512bwintrin.h: Whitespace fixes.
* config/i386/avx512bwintrin.h: Whitespace fixes.
	* config/i386/avx512dqintrin.h: Ditto.

From-SVN: r239454
2016-08-14 13:48:36 +02:00
Uros Bizjak
4271e5cb0d re PR target/76342 (AVX512: _mm512_undefined_epi32() intrinsic missing (incorrectly named _mm512_undefined_si512))
PR target/76342
	* config/i386/avx512fintrin.h (_mm512_undefined_epi32):
	Renamed from _mm512_undefined_si512.
	(_mm_undefined_si512): New definition.

testsuite/ChangeLog:

	PR target/76342
	* gcc.target/i386/pr76342.c: New test.

From-SVN: r239453
2016-08-14 13:24:18 +02:00
GCC Administrator
deea3a21a8 Daily bump.
From-SVN: r239452
2016-08-14 00:16:14 +00:00
John David Anglin
dffe3cc511 inclhack.def (hpux_longjmp): New fix.
* inclhack.def (hpux_longjmp): New fix.
	* fixincl.x: Regenerate.
	* tests/base/setjmp.h: New test file.

From-SVN: r239446
2016-08-13 18:08:15 +00:00
Richard Biener
30c8821b37 tree-ssa-forwprop.c (pass_forwprop::execute): Propagate into PHIs and update the lattice for its def.
2016-08-13  Richard Biener  <rguenther@suse.de>

	* tree-ssa-forwprop.c (pass_forwprop::execute): Propagate
	into PHIs and update the lattice for its def.

From-SVN: r239444
2016-08-13 08:04:46 +00:00
Ian Lance Taylor
82b709f9c4 libgo: don't unset in shell script
Reportedly ksh fails to unset a variable that was not previously set.
    Change match.sh and gotest to not unset LANG, but instead set LANG=C.
    Also don't combine exporting and setting variable in a single statement.
    
    Reviewed-on: https://go-review.googlesource.com/26999

From-SVN: r239443
2016-08-13 02:52:42 +00:00
Ian Lance Taylor
237673d052 crypto/aes, hash/crc32: ignore s390x specific files for now
These files are used to select s390x assembler support in the gc
    toolchain.  We don't currently have that support, as it is written in
    the cmd/asm syntax rather than gas syntax.  Mark the files to be ignored
    for now, falling back to the default implementations.
    
    Patch by Andreas Krebbel.
    
    Reviewed-on: https://go-review.googlesource.com/26994

From-SVN: r239442
2016-08-13 00:19:56 +00:00
GCC Administrator
114bf5f92d Daily bump.
From-SVN: r239441
2016-08-13 00:16:15 +00:00
Ian Lance Taylor
7159824eb3 syscall: remove exec_solaris_test.go
It is testing functionality that gccgo does not need and does not
    support.
    
    Reviewed-on: https://go-review.googlesource.com/26992

From-SVN: r239438
2016-08-13 00:14:19 +00:00
Jakub Jelinek
b0cea28497 re PR c/71512 (ICE: verify_gimple failed with UBSAN)
PR c/71512
	* ubsan.c (instrument_si_overflow): Pass true instead of false
	to gsi_replace.
	(pass_ubsan::execute): Call gimple_purge_dead_eh_edges at the end
	of bbs.  Return TODO_cleanup_cfg if any returned true.

	* g++.dg/ubsan/pr71512.C: New test.
	* c-c++-common/ubsan/pr71512-1.c: New test.
	* c-c++-common/ubsan/pr71512-2.c: New test.

From-SVN: r239430
2016-08-12 21:56:26 +02:00
Michael Meissner
e86aefb8e9 vsx.md (vsx_concat_<mode>): Add support for the ISA 3.0 MTVSRDD instruction.
[gcc]
2016-08-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/vsx.md (vsx_concat_<mode>): Add support for the
	ISA 3.0 MTVSRDD instruction.
	(vsx_splat_<mode>): Change cpu type of MTVSRDD instruction to
	vecperm.

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

	* gcc.target/powerpc/vec-init-1.c: New tests to test various
	vector initialization options.
	* gcc.target/powerpc/vec-init-2.c: Likewise.
	* gcc.target/powerpc/vec-init-3.c: New test to make sure MTVSRDD
	is generated on ISA 3.0.

From-SVN: r239428
2016-08-12 19:40:37 +00:00
Bernd Edlinger
b1ad9be2e8 re PR tree-optimization/71083 (Unaligned bit-field address when predictive commoning)
2016-08-12  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR tree-optimization/71083
        * tree-predcom.c (ref_at_iteration): Use a COMPONENT_REF for the
        bitfield access when possible.

From-SVN: r239426
2016-08-12 19:30:39 +00:00