Commit Graph

152028 Commits

Author SHA1 Message Date
Paul Thomas
b93a9a15ee re PR fortran/79599 (typo in diagnostic gfc_error ("DTIO dummy argument at %L be a scalar")
2017-02-20  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/79599
	* interface.c (check_dtio_arg_TKR_intent): Supply 'must'
	missing from error message.

2017-02-20  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/79523
	* interface.c (gfc_find_typebound_dtio_proc): Guard test for
	flavor attribute by checking that symbol is resolved.

From-SVN: r245603
2017-02-20 14:17:42 +00:00
Jakub Jelinek
705d3b776d re PR target/79568 (ICE in extract_insn, at recog.c:2311 for pr70325.c (with -mavx512bw))
PR target/79568
	* config/i386/i386.c (ix86_expand_builtin): Handle
	OPTION_MASK_ISA_AVX512VL and OPTION_MASK_ISA_64BIT in
	ix86_builtins_isa[fcode].isa as a requirement of those
	flags and any other flag in the bitmask.
	(ix86_init_mmx_sse_builtins): Use 0 instead of
	~OPTION_MASK_ISA_64BIT as mask.
	* config/i386/i386-builtin.def (__builtin_ia32_rdtsc,
	__builtin_ia32_rdtscp, __builtin_ia32_pause, __builtin_ia32_bsrsi,
	__builtin_ia32_rdpmc, __builtin_ia32_rolqi, __builtin_ia32_rolhi,
	__builtin_ia32_rorqi, __builtin_ia32_rorhi): Likewise.

	* gcc.target/i386/pr79568-1.c: New test.
	* gcc.target/i386/pr79568-2.c: New test.
	* gcc.target/i386/pr79568-3.c: New test.

From-SVN: r245602
2017-02-20 13:52:21 +01:00
Matthew Fortune
1b51df9442 Ensure the mode used to create split registers is suppported
gcc/
	PR target/78012
	* lra-constraints.c (split_reg): Check requested split mode
	is supported by the register.

From-SVN: r245601
2017-02-20 12:07:23 +00:00
Matthew Fortune
77850e96dd Partial revert of r243782 to restore previous behavior
gcc/
	* lra-constraints.c (simplify_operand_subreg): Remove early
	return false.

From-SVN: r245600
2017-02-20 12:07:14 +00:00
Matthew Fortune
62cdb86264 Tighten condition for converting SUBREG reloads from OP_OUT to OP_INOUT
gcc/
	PR target/78660
	* lra-constraints.c (curr_insn_transform): Tighten condition
	for converting SUBREG reloads from OP_OUT to OP_INOUT.

From-SVN: r245599
2017-02-20 12:07:06 +00:00
Matthew Fortune
222aafd7b6 Handle WORD_REGISTER_OPERATIONS when reloading (subreg (reg))
gcc/
	PR target/78660
	* lra-constraints.c (curr_insn_transform): Handle
	WORD_REGISTER_OPERATIONS requirements when reloading SUBREGs.

From-SVN: r245598
2017-02-20 12:06:56 +00:00
Paul Thomas
dc42a736c9 re PR fortran/79382 (DTIO ICE)
2017-02-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/79382
	* decl.c (access_attr_decl): Test for presence of generic DTIO
	interface and emit error if not present.

2017-02-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/79382
	* io/transfer.c (check_dtio_proc): New function.
	(formatted_transfer_scalar_read): Use it.
	(formatted_transfer_scalar_write): ditto.

2017-02-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/79382
	* gfortran.dg/dtio_10.f90 : Change test of error message.
	* gfortran.dg/dtio_23.f90 : New test.
	* gfortran.dg/dtio_24.f90 : New test.

From-SVN: r245596
2017-02-20 10:52:50 +00:00
Paul Thomas
1ca6a74f89 re PR fortran/79434 ([submodules] separate module procedure breaks encapsulation)
2017-02-20  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/79434
	* parse.c (check_component, parse_union): Whitespace.
	(set_syms_host_assoc): For a derived type, check if the module
	in which it was declared is one of the submodule ancestors. If
	it is, make the components public. Otherwise, reset attribute
	'host_assoc' and set 'use-assoc' so that encapsulation is
	preserved.

2017-02-20  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/79434
	* gfortran.dg/submodule_25.f08 : New test.

From-SVN: r245595
2017-02-20 09:42:48 +00:00
Jason Merrill
8f712b7690 PR c++/78282 - auto template and pack expansion
* pt.c (find_parameter_packs_r): Don't walk into the type of
	templates other than template template-parameters.

From-SVN: r245594
2017-02-20 01:06:39 -05:00
Jason Merrill
bcbdfa4ce0 PR c++/79606 - ICE with this->base_member in NSDMI
* class.c (build_base_path): Check processing_template_decl.

From-SVN: r245593
2017-02-20 01:06:20 -05:00
Jason Merrill
736a933c00 PR c++/79607 - ICE with T{} initializer
* decl.c (type_dependent_init_p): Check the type of a CONSTRUCTOR.

From-SVN: r245592
2017-02-20 01:06:03 -05:00
Jason Merrill
7950124ec2 PR c++/79566 - elaborated-type-specifier in range for
* parser.c (cp_parser_simple_declaration): Fix check for type
	definition.

From-SVN: r245591
2017-02-20 01:05:54 -05:00
Jason Merrill
bea40d1191 PR c++/79400 - confusing suggestion of 'noexcept'
* parser.c (cp_parser_exception_specification_opt): Remove
	suggestion for deprecated dynamic exception-specification.

From-SVN: r245590
2017-02-20 01:05:45 -05:00
Jason Merrill
4cd159317c PR c++/79470 - partial ordering with reference parameters
* pt.c (unify) [INDIRECT_REF]: Handle pack expansions.

From-SVN: r245589
2017-02-20 01:05:38 -05:00
Jason Merrill
cfb825648d PR c++/79500 - ICE with non-template deduction guide
* pt.c (do_class_deduction): Use STRIP_TEMPLATE rather than
	DECL_TEMPLATE_RESULT.

From-SVN: r245588
2017-02-20 01:05:31 -05:00
Jason Merrill
de59c92b44 PR c++/79580 - ICE with compound literal
* parser.c (cp_parser_class_head): If we're in the middle of an
	expression, use ts_within_enclosing_non_class.

From-SVN: r245587
2017-02-20 01:05:08 -05:00
Jason Merrill
b80dfe4441 PR c++/79503 - inherited ctor taking base class
* call.c (add_function_candidate): Also check that
	DECL_INHERITED_CTOR_BASE is reference-related to the parameter type.

From-SVN: r245586
2017-02-20 01:03:45 -05:00
GCC Administrator
c9688c535e Daily bump.
From-SVN: r245585
2017-02-20 00:16:22 +00:00
Paul Thomas
63af1586ca re PR fortran/79447 ([F08] gfortran rejects valid & accepts invalid internal subprogram in a submodule)
2017-02-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/79447
	* decl.c (gfc_set_constant_character_len): Whitespace.
	(gfc_match_end): Catch case where a procedure is contained in
	a module procedure and ensure that 'end procedure' is the
	correct termination.

2017-02-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/79447
	* gfortran.dg/submodule_24.f08 : New test.

From-SVN: r245582
2017-02-19 19:59:20 +00:00
Andre Vehreschild
4ca4d1e95e re PR fortran/79229 (ICE in gfc_trans_assignment_1 with -fcheck=mem)
gcc/testsuite/ChangeLog:

2017-02-19  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/79229
	* gfortran.dg/class_allocate_24.f90: New test.


gcc/fortran/ChangeLog:

2017-02-19  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/79229
	* trans-expr.c (gfc_trans_assignment_1): Deref indirect refs when
	compiling with -fcheck=mem to check the pointer and not the data.

From-SVN: r245581
2017-02-19 19:43:49 +01:00
Paul Thomas
dea71ad06f re PR fortran/79402 (ICE with submodules: module procedure interface defined in parent module)
2017-02-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/79402
	* resolve.c (fixup_unique_dummy): New function.
	(gfc_resolve_expr): Call it for dummy variables with a unique
	symtree name.

2017-02-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/79402
	* gfortran.dg/submodule_23.f90: New test.

From-SVN: r245580
2017-02-19 18:27:14 +00:00
Andre Vehreschild
e0396d770f re PR fortran/79335 (Conditional jump or move depends on uninitialised in value get_scalar_to_descriptor_type(tree_node*, symbol_attribute) (trans-expr.c:53))
gcc/fortran/ChangeLog:

2017-02-19  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/79335
	* trans-array.c (duplicate_allocatable_coarray): Ensure attributes
	passed are properly initialized.
	(structure_alloc_comps): Same.
	* trans-expr.c (gfc_trans_structure_assign): Same.

From-SVN: r245579
2017-02-19 19:18:33 +01:00
Paolo Carlini
f46e2bc923 re PR c++/79380 (ICE on C++11 code with illegal alignas specifier on x86_64-linux-gnu: unexpected expression ‘f’ of kind overload)
/cp
2017-02-19  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/79380
	* typeck.c (cxx_alignas_expr): Reject a non-integral alignas
	argument.

/testsuite
2017-02-19  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/79380
	* g++.dg/cpp0x/alignas8.C: New.

From-SVN: r245578
2017-02-19 17:43:41 +00:00
Uros Bizjak
74705cc649 Revert:
2016-05-30  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/sync.md (mfence_nosse): Use "lock orl $0, -4(%esp)".

From-SVN: r245577
2017-02-19 18:34:27 +01:00
Dinka Ranns
1dee318ad8 C++17 GB50 resolution (P0505R0)
2017-02-19  Dinka Ranns  <dinka.ranns@googlemail.com>

	C++17 GB50 resolution
	* include/std/chrono (duration::operator++()): Add
	_GLIBCXX17_CONSTEXPR.
	(duration::operator++(int)): Likewise.
	(duration::operator--()): Likewise.
	(duration::operator--(int)): Likewise.
	(duration::operator+=(const duration&)): Likewise.
	(duration::operator-=(const duration&)): Likewise.
	(duration::operator*=(const rep&)): Likewise.
	(duration::operator/=(const rep&)): Likewise.
	(duration::operator%=(const rep&)): Likewise.
	(duration::operator%=(const duration&)): Likewise.
	(time_point::operator+=(const duration&)): Likewise.
	(time_point::operator-=(const duration&)): Likewise.
	* testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: New test.
	* testsuite/20_util/duration/literals/range.cc: Adjust dg-error.
	* testsuite/20_util/time_point/arithmetic/constexpr.cc: New test.

From-SVN: r245575
2017-02-19 16:04:35 +00:00
Jonathan Wakely
7dfa657b5b PR c++/69523 make -Wliteral-suffix control warning
gcc:

	PR c++/69523
	* doc/invoke.texi (C++ Dialect Options) [-Wliteral-suffix]: Update
	description.

gcc/cp:

2017-02-19  Eric Fiselier  <eric@efcs.ca>
	    Jonathan Wakely  <jwakely@redhat.com>

	PR c++/69523
	* parser.c (cp_parser_unqualified_id): Use OPT_Wliteral_suffix to
	control warning about literal suffix identifiers without a leading
	underscore.

gcc/testsuite:

2017-02-19  Eric Fiselier  <eric@efcs.ca>
	    Jonathan Wakely  <jwakely@redhat.com>

	PR c++/69523
	* g++.dg/cpp0x/Wliteral-suffix2.C: New test.

From-SVN: r245574
2017-02-19 14:13:53 +00:00
Gerald Pfeifer
ff7da2b6cf * doc/xml/manual/debug.xml: Adjust link to ThreadSanitizer.
From-SVN: r245572
2017-02-19 10:54:35 +00:00
Prathamesh Kulkarni
41d1b0b1ae gimple-parser.c (c_parser_gimple_postfix_expression): Check return value of c_parser_parse_ssa_name against error_mark_node and emit...
2017-02-19  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	* gimple-parser.c (c_parser_gimple_postfix_expression): Check return
	value of c_parser_parse_ssa_name against error_mark_node and emit
	error if ssa name is anonymous and written as default definition.

From-SVN: r245571
2017-02-19 09:14:38 +00:00
Prathamesh Kulkarni
eab1f16915 gimple-pretty-print.c (dump_ternary_rhs): Adjust gimple dump format for FMA_EXPR.
2017-02-19  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	* gimple-pretty-print.c (dump_ternary_rhs): Adjust gimple dump format
	for FMA_EXPR.

c/
	* gimple-parser.c (c_parser_gimple_postfix_expression): Handle
	FMA_EXPR.

testsuite/
	* gcc.dg/gimplefe-26.c: New test.

From-SVN: r245570
2017-02-19 09:06:30 +00:00
GCC Administrator
593bf80a53 Daily bump.
From-SVN: r245569
2017-02-19 00:16:26 +00:00
Gerald Pfeifer
3fad5342e2 io.xml: Update link to groups.google.com.
* doc/xml/manual/io.xml: Update link to groups.google.com.
	Tweak link description.

From-SVN: r245565
2017-02-18 21:15:51 +00:00
Jakub Jelinek
497b7c4704 final.c (last_columnnum, [...]): New variables.
* final.c (last_columnnum, override_columnnum): New variables.
	(final_start_function): Set last_columnnum, pass it to begin_prologue
	hook and pass 0 to dwarf2out_begin_prologue.
	(final_scan_insn): Update override_columnnum.  Pass last_columnnum
	to source_line debug hook.
	(notice_source_line): Compute last_columnnum and for debug_column_info
	return true on column changes.
	* debug.h (struct gcc_debug_hooks): Add column argument to
	source_line and begin_prologue hooks.
	(debug_nothing_int_charstar_int_bool): Remove prototype.
	(debug_nothing_int_int_charstar,
	debug_nothing_int_int_charstar_int_bool): New prototypes.
	(dwarf2out_begin_prologue): Add column argument.
	* debug.c (do_nothing_debug_hooks): Adjust source_line and
	begin_prologue hooks.
	(debug_nothing_int_charstar_int_bool): Remove.
	(debug_nothing_int_int_charstar,
	debug_nothing_int_int_charstar_int_bool): New functions.
	* dwarf2out.c (dwarf2out_begin_prologue): Add column argument, pass it
	through to dwarf2out_source_line.
	(dwarf2_lineno_debug_hooks): Adjust begin_prologue hook.
	(dwarf2out_source_line): Add column argument, emit it if requested.
	* sdbout.c (sdbout_source_line, sdbout_begin_prologue): Add column
	arguments.
	* xcoffout.h (xcoffout_begin_prologue, xcoffout_source_line): Likewise.
	* xcoffout.c (xcoffout_begin_prologue, xcoffout_source_line): Likewise.
	* vmsdbgout.c (vmsdbgout_begin_prologue): Add column argument, pass it
	through to dwarf2out_begin_prologue.
	(vmsdbgout_source_line): Add column argument, pass it through to
	dwarf2out_source_line.
	* dbxout.c (dbxout_begin_prologue): Add column argument, adjust
	dbxout_source_line caller.
	(dbxout_source_line): Add column argument.

From-SVN: r245564
2017-02-18 17:11:40 +01:00
Jakub Jelinek
0029b929c9 common.opt (gno-column-info, [...]): New options.
* common.opt (gno-column-info, gcolumn-info): New options.
	* dwarf2out.c (dwarf2_lineno_debug_hooks): Formatting fix.
	(check_die): Also test for multiple DW_AT_decl_column attributes.
	(add_src_coords_attributes, dwarf2out_imported_module_or_decl_1): Add
	DW_AT_decl_column if requested.
	(gen_subprogram_die): Compare and/or add also DW_AT_decl_column
	if requested.
	(gen_variable_die): Likewise.
	(add_call_src_coords_attributes): Add DW_AT_call_column if requested.
	* doc/invoke.texi (-gcolumn-info, -gno-column-info): Document.

From-SVN: r245563
2017-02-18 17:10:43 +01:00
John David Anglin
47e16d83e9 thread_local-order2.C: xfail on hppa*-*-hpux*.
* g++.dg/tls/thread_local-order2.C: xfail on hppa*-*-hpux*.

From-SVN: r245562
2017-02-18 14:24:35 +00:00
Jakub Jelinek
c28fcc601c re PR target/79569 (Unrecognized command line option ‘-m3dnowa’)
PR target/79569
	* config/i386/i386.opt (m3dnowa): Replace Undocumented with Report.
	* common/config/i386/i386-common.c (OPTION_MASK_ISA_3DNOW_A_SET): Define.
	(ix86_handle_option): Handle OPT_m3dnowa.
	* doc/invoke.texi (-m3dnowa): Document.
	* doc/extend.texi (__builtin_ia32_pmulhuw, __builtin_ia32_pf2iw): Use
	-m3dnowa instead of -m3dnow -march=athlon.

	* gcc.target/i386/3dnowA-3.c: New test.

From-SVN: r245561
2017-02-18 14:14:43 +01:00
Jakub Jelinek
c26159516d re PR target/79559 (ICE in ix86_print_operand, at config/i386/i386.c:18189)
PR target/79559
	* config/i386/i386.c (ix86_print_operand): Use output_operand_lossage
	instead of gcc_assert for K, r and R code checks.  Formatting fixes.

	* gcc.target/i386/pr79559.c: New test.

From-SVN: r245560
2017-02-18 14:13:43 +01:00
Gerald Pfeifer
dc15bc7ad6 * doc/xml/manual/profile_mode.xml: Fix link.
From-SVN: r245559
2017-02-18 08:37:19 +00:00
GCC Administrator
d92c7d9551 Daily bump.
From-SVN: r245558
2017-02-18 00:16:15 +00:00
Joseph Myers
97fcf7446c Restore DECIMAL_DIG macro to C99/C11 value.
By extending the set of floating types, TS 18661-3 thereby affected
the definition of DECIMAL_DIG, which is defined in terms of the
"widest supported floating type".  This is not conditional on whether
__STDC_WANT_IEC_60559_TYPES_EXT__ is defined when <float.h> is
included.

I raised this possible incompatibility with C11 (an implementation
should be able to conform simultaneously with C11, and with C11 + TS
18661) in DR#501.  This is not yet resolved, but the latest proposal
<http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2108.pdf> would
obsolete DECIMAL_DIG with the intention of limiting it to the C11
types (so making it equivalent to LDBL_DECIMAL_DIG).  (This proposal
is intended to go along with a corresponding change to TS 18661-3 to
avoid the new types and non-arithmetic interchange encodings affecting
the value of DECIMAL_DIG.)

To avoid releasing GCC 7 with a wider-than-C11 value of DECIMAL_DIG
and possibly reverting back to a C11 value in a future release, this
patch reverts back to the C11 value now.  If the proposed resolution
to DR#501 changes again so that DECIMAL_DIG *should* have a
wider-than-C11 value, we can move back to a wider-than-C11 value in
GCC 8.

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

gcc/c-family:
	* c-cppbuiltin.c (builtin_define_float_constants): Define
	__DECIMAL_DIG__ to the value for long double.

gcc/testsuite:
	* gcc.dg/c11-float-2.c: New test.
	* gcc.dg/torture/float128-floath.c,
	gcc.dg/torture/float128x-floath.c,
	gcc.dg/torture/float16-floath.c, gcc.dg/torture/float32-floath.c,
	gcc.dg/torture/float32x-floath.c, gcc.dg/torture/float64-floath.c,
	gcc.dg/torture/float64x-floath.c: Do not test comparison of
	*_DECIMAL_DIG macros with DECIMAL_DIG.

From-SVN: r245555
2017-02-17 23:04:14 +00:00
Jason Merrill
cb94c7007c PR c++/79508 - lookup error with member template
* parser.c (cp_parser_template_name): Clear
	parser->context->object_type if we aren't doing lookup.

From-SVN: r245553
2017-02-17 17:05:18 -05:00
Jason Merrill
7c5867495b PR c++/78690 - ICE with using and global type with same name
* pt.c (type_dependent_object_expression_p): True for
	IDENTIFIER_NODE.

From-SVN: r245549
2017-02-17 15:28:38 -05:00
Bill Schmidt
a530e18167 re PR target/79261 (vec_xxpermdi appears to have endian issues)
[gcc]

2017-02-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR target/79261
	* config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Add
	support for CODE_FOR_vsx_xxpermdi_v2d[fi]_be.
	* config/rs6000/rs6000.md (reload_gpr_from_vsx<mode>): Call
	generator for vsx_xxpermdi_<mode>_be.
	* config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Remove logic to
	force big-endian semantics.
	(vsx_xxpermdi_<mode>_be): New define_expand with same
	implementation as previous version of vsx_xxpermdi_<mode>.

[gcc/testsuite]

2017-02-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR target/79261
	* gcc.target/powerpc/vec-xxpermdi.c: New file.

From-SVN: r245545
2017-02-17 19:11:06 +00:00
Jason Merrill
edf1849aa6 PR c++/79549 - C++17 ICE with non-type auto template parameter pack
* pt.c (convert_template_argument): Just return an auto arg pack.
	(tsubst_template_args): Don't tsubst an auto pack type.

From-SVN: r245544
2017-02-17 13:42:43 -05:00
Jason Merrill
b10c7cd74a PR c++/79556 - C++17 ICE with non-type auto
* pt.c (do_auto_deduction): Don't try to deduce from null type.

From-SVN: r245543
2017-02-17 13:42:37 -05:00
Jakub Jelinek
34a64e47cd re PR tree-optimization/79327 (wrong code at -O2 and -fprintf-return-value)
PR tree-optimization/79327
	* gimple-ssa-sprintf.c (format_integer): Remove likely_adjust
	variable, its initialization and use.

From-SVN: r245542
2017-02-17 19:31:01 +01:00
Julia Koval
1d516992d1 i386-common.c (OPTION_MASK_ISA_RDPID_SET): New.
* common/config/i386/i386-common.c (OPTION_MASK_ISA_RDPID_SET): New.
	(OPTION_MASK_ISA_PKU_UNSET): New.
	(ix86_handle_option): Handle -mrdpid.
	* config/i386/cpuid.h (bit_RDPID): New.
	* config/i386/driver-i386.c (host_detect_local_cpu):
	Detect RDPID feature.
	* config/i386/i386-builtin.def (__builtin_ia32_rdpid): New.
	* config/i386/i386-c.c (ix86_target_macros_internal):
	Handle RDPID flag.
	* config/i386/i386.c (ix86_target_string): Add -mrdpid to isa2_opts.
	(ix86_valid_target_attribute_inner_p): Add "rdpid".
	(ix86_expand_builtin): Handle IX86_BUILTIN_RDPID.
	* config/i386/i386.h (TARGET_RDPID, TARGET_RDPID_P): New.
	* config/i386/i386.md (define_insn "rdpid"): New.
	* config/i386/i386.opt Add -mrdpid.
	* config/i386/immintrin.h (_rdpid_u32): New.

testsuite/ChangeLog:

	* gcc.target/i386/rdpid.c New test.
	* gcc.target/i386/sse-12.c: Add -mrdpid.
	* gcc.target/i386/sse-13.c: Ditto.
	* gcc.target/i386/sse-14.c: Ditto.
	* gcc.target/i386/sse-22.c: Ditto.
	* gcc.target/i386/sse-23.c: Ditto.
	* g++.dg/other/i386-2.C: Ditto.
	* g++.dg/other/i386-3.C: Ditto.

From-SVN: r245540
2017-02-17 19:11:28 +01:00
Jason Merrill
1ee2604721 PR c++/79533 - C++17 ICE with temporary cast to reference
* call.c (build_over_call): Conversion to a reference prevents copy
	elision.

From-SVN: r245538
2017-02-17 11:50:16 -05:00
Vladimir Makarov
8b4aea7364 re PR rtl-optimization/79541 (lra reads uninitialized memory (with invalid input))
2017-02-17  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/79541
	* lra-constraints.c (curr_insn_transform): Remove wrong asm insn
	instead of transforming it into USE.

From-SVN: r245536
2017-02-17 16:10:59 +00:00
Ian Lance Taylor
00b2a30fd4 libgo: update to final Go 1.8 release
Along with the update this fixes a problem that was always present but
    only showed up with the new reflect test.  When a program used a
    **unsafe.Pointer and stored the value in an interface type, the
    generated type descriptor pointed to the GC data for *unsafe.Pointer.
    It did that by name, but we were not generating a variable with the
    right name.
    
    Reviewed-on: https://go-review.googlesource.com/37144

From-SVN: r245535
2017-02-17 15:43:39 +00:00
Segher Boessenkool
4bcd6597a3 rs6000: Fix extendsfdf2 for signaling NaNs
A cast from float to double should turn a signaling NaN into a quiet
NaN, if using -fsignaling-nans.  On PowerPC single-precision floats are
stored as double precision in registers, and so, the cast normally does
nothing.  This causes gcc.dg/pr59833.c to fail (it does such a cast,
and expects a quiet NaN as output).

This patch adds a new pattern, used with -fsignaling-nans in effect,
that creates an frsp instruction (or xsrsp) in this case.  Since the
input already is SFmode, that instruction turns signaling NaNs into
quiet NaNs and does nothing more.


	* config/rs6000/rs6000.md (extendsfdf2): Remove default arguments.
	If HONOR_SNANS (SFmode) force the input to a register.
	(*extendsfdf2_fpr): Add !HONOR_SNANS (SFmode) condition.
	(*extendsfdf2_snan): New pattern, used when using SNaNs; it generates
	an frsp or similar insn.

From-SVN: r245534
2017-02-17 16:00:37 +01:00