Commit Graph

154611 Commits

Author SHA1 Message Date
James Cowgill
fb68f29628 go-test.exp (go-set-goarch): Update MIPS architecture names.
* go.test/go-test.exp (go-set-goarch): Update MIPS architecture
        names.

From-SVN: r249589
2017-06-23 13:19:30 +00:00
Bernd Edlinger
08f424143c ira.c (update_equiv_regs): Revert to using may_trap_or_fault_p again.
2017-06-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        rtl-optimizatoin/79286
        * ira.c (update_equiv_regs): Revert to using may_trap_or_fault_p again.
        * rtlanal.c (rtx_addr_can_trap_p_1): SYMBOL_REF_FUNCTION_P can never
        trap.  PIC register plus a const unspec without offset can never trap.

From-SVN: r249588
2017-06-23 12:44:07 +00:00
Marc Glisse
2db9b7cd42 Refactor fileptr_type_node handling
2017-06-23  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* tree.h (builtin_structptr_type): New type.
	(builtin_structptr_types): Declare new array.
	* tree.c (builtin_structptr_types): New array.
	(free_lang_data, build_common_tree_nodes): Use it.

gcc/c-family/
	* c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.

gcc/cp/
	* decl.c (duplicate_decls): Use builtin_structptr_types.

gcc/lto/
	* lto-lang.c (lto_init): Use builtin_structptr_types.

From-SVN: r249585
2017-06-23 09:05:47 +00:00
Jonathan Wakely
70fdc80894 PR c++/81187 fix -Wnoexcept-type entry in manual
PR c++/81187
	* doc/invoke.texi (-Wnoexcept-type): Fix name of option, from
	-Wnoexcept.

From-SVN: r249584
2017-06-23 09:16:05 +01:00
GCC Administrator
3e20731323 Daily bump.
From-SVN: r249583
2017-06-23 00:16:22 +00:00
Ian Lance Taylor
c8a0d1c344 runtime: uncomment check for gchelper on g0 stack
Now that systemstack changes to the g0 stack, this check passes.
    
    Reviewed-on: https://go-review.googlesource.com/46460

From-SVN: r249578
2017-06-22 22:12:50 +00:00
Ian Lance Taylor
b34391e08e runtime: mark dropm and callees nowritebarrierrec
The CgocallbackDone function calls dropm after it calls entersyscall,
    which means that dropm must not have any write barriers. Mark it
    accordingly.
    
    Reviewed-on: https://go-review.googlesource.com/46464

From-SVN: r249577
2017-06-22 22:11:01 +00:00
Ian Lance Taylor
f384e12acc runtime: export getm function
Use go:linkname to export the getm function. This makes it visible to
    runtime/testdata/testprogcgo/dropm_stub.go, which uses it as part of
    the TestEnsureDropM test in runtime/crash_cgo_test.go. That test is
    not run today, but it will be soon.
    
    Reviewed-on: https://go-review.googlesource.com/46462

From-SVN: r249576
2017-06-22 22:08:50 +00:00
Ian Lance Taylor
61fbdfbe1b runtime: fix type cast in assignment to gcnextsp in C code
Patch from Rainer Orth.
    
    Reviewed-on: https://go-review.googlesource.com/46459

From-SVN: r249575
2017-06-22 19:52:11 +00:00
Matt Turner
60edf8bbba driver-i386.c (host_detect_local_cpu): Add Kaby Lake models to skylake case.
gcc/

2017-06-22  Matt Turner  <mattst88@gmail.com>

	* config/i386/driver-i386.c (host_detect_local_cpu): Add Kaby
	Lake models to skylake case.  Assume skylake for unknown
	models with clflushopt.

gcc/testsuite/

2017-06-22  Matt Turner  <mattst88@gmail.com>

	* gcc.target/i386/builtin_target.c: Add Kaby Lake models to
	skylake check.

libgcc/

2017-06-22  Matt Turner  <mattst88@gmail.com>

	* config/i386/cpuinfo.c (get_intel_cpu): Add Kaby Lake models to
	skylake case.

From-SVN: r249574
2017-06-22 21:46:10 +02:00
Carl Love
4333d74bab builtins-3.c (vmulosh, [...]): Fix scan-assembler-times should check for word not half word instructions.
gcc/testsuite/ChangeLog:

2017-06-22 Carl Love  <cel@us.ibm.com>

	* gcc.target/powerpc/builtins-3.c (vmulosh, vmulouh, vmulesh,
	vmuleuh): Fix scan-assembler-times should check for word not half word
	instructions.

From-SVN: r249572
2017-06-22 18:45:35 +00:00
Nathan Sidwell
84c0088f38 Reorder IDENTIFIER flags
Reorder IDENTIFIER flags
	gcc/cp/
	* cp-tree.h (enum cp_identifier_kind): New.
	(IDENTIFIER_KIND_BIT_0, IDENTIFIER_KIND_BIT_1,
	IDENTIFIER_KIND_BIT_2): New.
	(IDENTIFIER_MARKED): Move to TREE_LANG_FLAG_4.
	(IDENTIFIER_VIRTUAL_P, IDENTIFIER_REPO_CHOSEN): Add
	IDENTIFIER_CHECK.
	(C_IS_RESERVED_WORD): Replace with ...
	(IDENTIFIER_KEYWORD_P): ... this.
	(IDENTIFIER_CTOR_OR_DTOR_P): Replace with ...
	(IDENTIFIER_CDTOR_P): ... this.
	(IDENTIFIER_CTOR_P, IDENTIFIER_DTOR_P): New.
	(IDENTIFIER_OPNAME_P): Replace with ...
	(IDENTIFIER_ANY_OP_P): ... this.
	(IDENTIFIER_ASSIGN_OP_P): New.
	(IDENTIFIER_TYPENAME_P): Replace with ...
	(IDENTIFIER_CONV_OP_P): ... this.
	(NEW_DELETE_OPNAME_P): Replace with ...
	(IDENTIFIER_NEWDEL_OP_P): ... this.
	(DECL_CONV_FN_P, DECL_OVERLOADED_OPERATOR_P): Adjust.
	(get_identifier_kind_name, set_identifier_kind): Declare.
	* lex.c (get_identifier_kind_name, set_identifier_kind): New.
	(init_operators): Adjust to avoid keywords, use
	set_identifier_kind. Copy TYPE_EXPR slot.
	(init_reswords): Call set_identifier_kind.
	(unqualified_name_lookup_error): Adjust.
	* operators.def (TYPE_EXPR): Remove.
	* decl.c (struct predefined_identifier): Move into ...
	(initialize_predefined_identifiers): ... here.  Call
	set_identifier_kind.
	(grokfndecl, check_var_type, grokdeclarator): Adjust.
	(grok_op_properties): Use IDENTIFIER_ANY_ASSIGN_OP to halve search
	space.  Adjust.
	* call.c (name_as_c_string): Adjust.
	(build_new_method_call_1): Likewise.
	* cp-cilkplus.c (is_conversion_operator_function_decl_p):
	Likewise.
	* cxx-pretty-print.c (pp_cxx_unqualified_id): Adjust.
	* dump.c (cp_dump_tree): Adjust.
	* error.c (dump_decl_name): Adjust.
	* mangle.c (write_unqualified_id, write_member_name)
	write_expression): Adjust.
	(mangle_conv_op_name_for_type): Use set_identifier_kind.
	* name-lookup.c (do_class_using_decl): Adjust.
	(lookup_name_fuzzy, lookup_name_real_1): Likewise.
	* parser.c (cp_lexer_get_preprocessor_token)
	cp_parser_direct_declarator): Likewise.
	* pt.c (push_template_decl_real, tsubst_decl, tsubst_baselink)
	tsubst_copy, tsubst_copy_and_build): Adjust.
	* ptree.c (cxx_print_identifier): Print identifier kind.
	* search.c (lookup_field_r, lookup_member)
	lookup_fnfields_idx_nolazy): Adjust.
	* semantics.c (finish_id_expression): Adjust..
	* typeck.c (cp_build_addr_expr_1): Adjust.

From-SVN: r249571
2017-06-22 18:40:56 +00:00
Jeff Law
13f752b273 aarch64.c (aarch64_emit_probe_stack_range): Handle frame sizes that do not satisfy aarch64_uimm12_shift.
* config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Handle
	frame sizes that do not satisfy aarch64_uimm12_shift.

	* gcc.c-torture/compile/stack-check-1.c: New test.

From-SVN: r249566
2017-06-22 11:18:05 -06:00
Ian Lance Taylor
47f68dc231 runtime: make NumGoroutine wait for system goroutines to register
In libgo system goroutines register themselves after they start.
    That means that there is a small race between the goroutine being
    seen by the scheduler and the scheduler knowing that the goroutine
    is a system goroutine. That in turn means that runtime.NumGoroutines
    can overestimate the number of goroutines at times.
    
    This patch fixes the overestimate by counting the number of system
    goroutines waiting to start, and pausing NumGoroutines until those
    goroutines have all registered.
    
    This is kind of a lot of mechanism for this not very important
    problem, but I couldn't think of a better approach.
    
    The test for this is TestNumGoroutine in runtime/proc_test.go.
    The test is not currently run, but it will be soon.
    
    Reviewed-on: https://go-review.googlesource.com/46457

From-SVN: r249565
2017-06-22 15:46:47 +00:00
Ian Lance Taylor
b8f70831bf compiler: fix stale comment in lexer
Remove stale comment in code that accepts "go:nowritebarrier"
    pragma. Update comment for "go:nowritebarrierrec".
    
    Reviewed-on: https://go-review.googlesource.com/46416

From-SVN: r249564
2017-06-22 15:42:50 +00:00
Jan Hubicka
eaee472d05 profile-count.h (apply_probability, [...]): Fix checks for zero.
* profile-count.h (apply_probability,
	apply_scale, probability_in): Fix checks for zero.

From-SVN: r249563
2017-06-22 14:50:23 +00:00
Ian Lance Taylor
c016fd32fe runtime: don't assume that _ = *s will panic if s is nil
With the gc toolchain apparently
            var s *string
            _ = *s
    is enough to panic with a nil pointer dereference. The gccgo compiler
    will simply discard the dereference, which I think is a reasonable and
    acceptable optimization. Change the tests to use an exported variable
    instead. The tests are not currently run, but they will be with a
    later patch to gotools.
    
    Reviewed-on: https://go-review.googlesource.com/46450

From-SVN: r249562
2017-06-22 14:46:12 +00:00
Ian Lance Taylor
3b0ddadf74 runtime: change some stack fields to uintptr
Because of how gccgo implements cgo calls, the code in dropm may not
    have any write barriers.  As a step toward implementing that, change
    the gcstack, gcnextsegment, and gcnextsp fields of the g struct to
    uintptr, so that assignments to them do not require write barriers.
    The gcinitialsp field remains unsafe.Pointer, as on 32-bit systems
    that do not support split stack it points to a heap allocated space
    used for the goroutine stack.
    
    The test for this is runtime tests like TestCgoCallbackGC, which are
    not run today but will be run with a future gotools patch.
    
    Reviewed-on: https://go-review.googlesource.com/46396

From-SVN: r249561
2017-06-22 14:44:30 +00:00
Rainer Orth
a055692a25 Support $SYSROOT for = in -I etc.
* incpath.c (add_sysroot_to_chain): Allow for $SYSROOT prefix.
	* doc/cppdiropts.texi (-I @var{dir}): Document it.

From-SVN: r249560
2017-06-22 14:37:17 +00:00
Ian Lance Taylor
c8a47c4877 runtime: avoid write barriers when calling deferred function
Calling a deferred function currently requires changing from a uintptr
    to the function code to a Go function value. That is done by setting
    the value of a func local variable using unsafe.Pointer. The local
    variable will always be on the stack. Adjust the code that sets the
    local variable to avoid generating a write barrier.
    
    A write barrier is never needed here. Also, for deferreturn, we must
    avoid write barriers entirely when called from a cgo function; that
    requires more than just this, but this is a start.
    
    The test for this is runtime tests that use the go tool; these are not
    currently run, but they will be in the future.
    
    Reviewed-on: https://go-review.googlesource.com/46455

From-SVN: r249559
2017-06-22 14:33:13 +00:00
Ian Lance Taylor
b92e4dff0a runtime: rename _defer struct _panic field to panicStack
The gc version of the _defer struct has a _panic field that has a
    completely different meaning. We are going to want that bring that new
    meaning into the gofrontend to improve panic reports with nested
    panic calls. Simplify that by first renaming the existing _panic field.
    
    Reviewed-on: https://go-review.googlesource.com/46454

From-SVN: r249558
2017-06-22 14:31:16 +00:00
Ian Lance Taylor
ed99905e1d runtime: adjust tests for gofrontend
- don't run tests that depend on SetCgoTraceback
    - don't expect a '(' after the function name in a traceback
    - change the expected name of nested functions in a traceback
    
    These tests are not currently run, but they will be soon.
    
    Reviewed-on: https://go-review.googlesource.com/46453

From-SVN: r249557
2017-06-22 14:28:57 +00:00
Ian Lance Taylor
2a208bc257 runtime: don't build test files that use SetCgoTraceback for gccgo
The gofrontend doesn't support the runtime.SetCgoTraceback function,
    which is specifically for handling mixed Go and C tracebacks.
    Use a build tag to avoid compiling the runtime/testdata/testprogcgo
    files that refer to SetCgoTraceback. These files are not currently
    compiled anyhow, but they will be with a future gotools patch.
    
    Reviewed-on: https://go-review.googlesource.com/46452

From-SVN: r249556
2017-06-22 14:27:09 +00:00
Ian Lance Taylor
7d8c7b26c8 runtime: build testprogcgo with -pthread
Building this test with gccgo requires an explicit -pthread option to
    be passed to the C compiler, so that it links against -lpthread.
    This test is not built today, but it will be soon with a future patch.
    
    Reviewed-on: https://go-review.googlesource.com/46451

From-SVN: r249555
2017-06-22 14:23:54 +00:00
Jonathan Wakely
b6d03af0b1 PR libstdc++/81173 fix undefined memset with null pointer
PR libstdc++/81173
	* include/bits/stl_bvector.h (vector<bool>::_M_initialize_value):
	Do not pass null pointer to memset.

From-SVN: r249554
2017-06-22 15:16:38 +01:00
Richard Biener
0759db190d tree-vect-loop.c (vect_model_reduction_cost): Handle COND_REDUCTION and INTEGER_INDUC_COND_REDUCTION without REDUC_MAX_EXPR...
2016-06-22  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.c (vect_model_reduction_cost): Handle
	COND_REDUCTION and INTEGER_INDUC_COND_REDUCTION without
	REDUC_MAX_EXPR support.
	(vectorizable_reduction): Likewise.
	(vect_create_epilog_for_reduction): Likewise.

	* gcc.dg/vect/pr65947-1.c: Remove xfail.
	* gcc.dg/vect/pr65947-2.c: Likewise.
	* gcc.dg/vect/pr65947-3.c: Likewise.
	* gcc.dg/vect/pr65947-4.c: Likewise.
	* gcc.dg/vect/pr65947-5.c: Likewise.
	* gcc.dg/vect/pr65947-6.c: Likewise.
	* gcc.dg/vect/pr65947-8.c: Likewise.
	* gcc.dg/vect/pr65947-9.c: Likewise.
	* gcc.dg/vect/pr65947-10.c: Likewise.
	* gcc.dg/vect/pr65947-12.c: Likewise.
	* gcc.dg/vect/pr65947-13.c: Likewise.
	* gcc.dg/vect/pr65947-14.c: Likewise.
	* gcc.dg/vect/vect-cond-2.c: Likewise.
	* gcc.dg/vect/vect-pr69848.c: Likewise.

From-SVN: r249553
2017-06-22 12:07:07 +00:00
Martin Liska
c24c235efa Fix ipa-split-5.c test-case.
2017-06-22  Martin Liska  <mliska@suse.cz>

	* gcc.dg/tree-ssa/ipa-split-5.c: Make function bigger in order
	to not inline it.

From-SVN: r249503
2017-06-22 10:54:40 +00:00
James Greenhalgh
71f82be94f [Patch match.pd] Fold (A / (1 << B)) to (A >> B)
For the testcase in the patch:

  unsigned long
  f2 (unsigned long a, int b)
  {
    unsigned long x = 1UL << b;
    return a / x;
  }

We currently generate an unsigned division and a left shift, where
we could instead generate a right shift.

gcc/

2017-06-21  James Greenhalgh  <james.greenhalgh@arm.com>

	* match.pd (A / (1 << B) -> A >> B): New.
	* generic-match-head.c: Include optabs-tree.h.
	* gimple-match-head.c: Likewise.
	* optabs-tree.h (target_supports_op_p): New.
	* optabs-tree.c (target_supports_op_p): New.

gcc/testsuite/

2017-06-21  James Greenhalgh  <james.greenhalgh@arm.com>

	* gcc.dg/tree-ssa/forwprop-37.c: New.

From-SVN: r249502
2017-06-22 08:39:04 +00:00
Richard Biener
a78f698034 pr65947-14.c: Fix missing brace.
2017-06-22  Richard Biener  <rguenther@suse.de>

	* gcc.dg/vect/pr65947-14.c: Fix missing brace.

From-SVN: r249501
2017-06-22 08:33:28 +00:00
Richard Biener
85d5b033ae pr65947-14.c: New testcase.
2017-06-22  Richard Biener  <rguenther@suse.de>

	* gcc.dg/vect/pr65947-14.c: New testcase.

From-SVN: r249500
2017-06-22 08:14:21 +00:00
Rainer Orth
8dc877ebc4 Support --sysroot with Solaris ld
* configure.ac (gcc_cv_ld_static_dynamic): Also check stderr for
	$gcc_cv_ld --help output.
	(gcc_cv_ld_demangle): Likewise.
	(gcc_cv_ld_eh_frame_hdr): Likewise.
	(gcc_cv_ld_pie): Likewise.
	(gcc_cv_ld_as_needed): Likewise.  Prefer native forms unless $gnu_ld.
	(gcc_cv_ld_buildid): Likewise.
	(gcc_cv_ld_sysroot): Likewise.
	(ld_bndplt_support): Likewise.
	(ld_pushpopstate_support): Likewise.
	* configure: Regenerate.
	* config/sol2.h [!USE_GLD] (SYSROOT_SPEC): Define.

From-SVN: r249496
2017-06-22 06:54:04 +00:00
Ian Lance Taylor
c83c219a63 runtime: in traceback, print panic rather than runtime.gopanic
The gc toolchain does the same thing, in gentraceback in
    runtime/traceback.go.
    
    The test for this is TestPanicTraceback in runtime/crash_test.go.  We
    don't yet run that test, but we will in a future change.
    
    Reviewed-on: https://go-review.googlesource.com/46397

From-SVN: r249495
2017-06-22 04:16:23 +00:00
Ian Lance Taylor
55ea0ea07d compiler, runtime: better stack trace for go f() where f is nil
The test for this is TestGoNil in the runtime package, which we don't
    run yet but will run with a subsequent gotools patch.
    
    Updates golang/go#8045
    
    Reviewed-on: https://go-review.googlesource.com/46392

From-SVN: r249494
2017-06-22 04:13:36 +00:00
GCC Administrator
bc216de9f6 Daily bump.
From-SVN: r249492
2017-06-22 00:16:21 +00:00
Ian Lance Taylor
fbe457feb7 debug/elf: handle Alpha relocs
Patch by Uros Bizjak.
    
    Reviewed-on: https://go-review.googlesource.com/46391

From-SVN: r249487
2017-06-21 22:39:36 +00:00
Ian Lance Taylor
36f1a35f69 compiler: fix missing case in Array_type::get_value_pointer
Update the code in Array_type::get_value_pointer that handles
    "lvalue" context to look for both regular var expressions
    and temp var expressions, since both can appear in array/slice
    index expressions on the left hand side of assignments.
    
    Reviewed-on: https://go-review.googlesource.com/46170

From-SVN: r249486
2017-06-21 22:29:58 +00:00
Ian Lance Taylor
3f741f1b60 Forgot to remove this file in the last libgo commit.
libgo: remove old MIPS architecture names
    
    This removes the old names for the 3 main MIPS ABIs: mipso32, mipsn32
    and mipsn64. It also removes the mipso64 ABI which has no equivalent
    architecture name in go. This ABI has been dead for sometime and I doubt
    anyone will miss it.
    
    Change-Id: I087b243784edf6705fdaf9c32e3233da5e387283

From-SVN: r249485
2017-06-21 22:29:36 +00:00
Ian Lance Taylor
b95cd48b01 libgo: remove old MIPS architecture names
This removes the old names for the 3 main MIPS ABIs: mipso32, mipsn32
    and mipsn64. It also removes the mipso64 ABI which has no equivalent
    architecture name in go. This ABI has been dead for sometime and I doubt
    anyone will miss it.
    
    Reviewed-on: https://go-review.googlesource.com/46154

From-SVN: r249477
2017-06-21 22:11:04 +00:00
Ian Lance Taylor
1701a9d8f0 libgo: use gc's arch names as the default GOARCHs on MIPS
This means that the gc tools and gofrontend agree on the architecture names
    for the 3 MIPS ABIs which should allow a gofrontend compiler to build go.
    
    Reviewed-on: https://go-review.googlesource.com/46153

From-SVN: r249476
2017-06-21 21:55:34 +00:00
Ian Lance Taylor
95eebd21db cmd/cgo: add mips64p32* to ptrSizeMap and intSizeMap
Reviewed-on: https://go-review.googlesource.com/46152

From-SVN: r249475
2017-06-21 21:50:52 +00:00
Ian Lance Taylor
4c0478b338 internal/syscall/unix: implement randomTrap on mips64p32*
Rename getrandom_linux_mipsn32.go to use the new architecture name for
    the n32 ABI and enable building it on mips64p32 and mips64p32le.
    
    Reviewed-on: https://go-review.googlesource.com/46151

From-SVN: r249474
2017-06-21 21:47:35 +00:00
Ian Lance Taylor
a8bc65cd00 libgo, syscall: fix ptrace implementation on MIPS
On MIPS, the correct structure for PtraceRegs is 'struct pt_regs' which
    is declared in linux/ptrace.h. Previously no PtraceRegs structure was
    created on MIPS because 'struct user_regs_struct' doesn't exist there.
    
    Fallback to using pt_regs when the PtraceRegs structure is generated in
    mksysinfo.sh, then adjust syscall_linux_mipsx.go to read the program
    counter from the correct field.
    
    In addition, implement PtraceGetRegs and PtraceSetRegs on all 3 ABI
    variants.
    
    syscall_linux_mips64x.go can now be removed since the ptrace code on
    all 3 ABIs is identical.
    
    Reviewed-on: https://go-review.googlesource.com/46150

From-SVN: r249473
2017-06-21 21:46:03 +00:00
Ian Lance Taylor
8d4b68a7c4 libgo, syscall: fix ptrace implementation on MIPS
On MIPS, the correct structure for PtraceRegs is 'struct pt_regs' which
    is declared in linux/ptrace.h. Previously no PtraceRegs structure was
    created on MIPS because 'struct user_regs_struct' doesn't exist there.
    
    Fallback to using pt_regs when the PtraceRegs structure is generated in
    mksysinfo.sh, then adjust syscall_linux_mipsx.go to read the program
    counter from the correct field.
    
    In addition, implement PtraceGetRegs and PtraceSetRegs on all 3 ABI
    variants.
    
    syscall_linux_mips64x.go can now be removed since the ptrace code on
    all 3 ABIs is identical.
    
    Reviewed-on: https://go-review.googlesource.com/46150

From-SVN: r249472
2017-06-21 21:42:41 +00:00
Michael Meissner
4ded86690e re PR target/80510 (Optimize Power7/power8 Altivec load/stores)
2017-06-21  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/80510
	* gcc.target/powerpc/pr80510-1.c: Restrict test to 64-bit until
	32-bit support is added.  Change ITYPE size to 64-bit integer.
	* gcc.target/powerpc/pr80510-2.c: Likewise.

From-SVN: r249470
2017-06-21 21:08:40 +00:00
Jakub Jelinek
ac135a731d re PR target/81151 (-Wmaybe-uninitialized in insn-emit.c)
PR target/81151
	* config/i386/sse.md (round<mode>2): Renumber match_dup and
	operands indexes to avoid gap between operands and match_dups.

From-SVN: r249469
2017-06-21 22:02:00 +02:00
Ville Voutilainen
5e88d2d08d PR libstdc++/80675, PR libstdc++/80940
* include/std/istream:
(__is_convertible_to_basic_istream_test(basic_istream<_Ch, _Up>*)): New.
(__do_is_convertible_to_basic_istream_impl): Likewise.
(__is_convertible_to_basic_istream_impl): Likewise.
(__is_convertible_to_basic_istream): Use the new base.
(__rvalue_istream_type): New.
(operator>>(_Istream&&, _Tp&&)): Use the new helper alias
for the SFINAE check, convert to the helper alias type before
doing the actual extraction.
* include/std/ostream:
(__is_convertible_to_basic_ostream_test(basic_ostream<_Ch, _Up>*)): New.
(__do_is_convertible_to_basic_ostream_impl): Likewise.
(__is_convertible_to_basic_ostream_impl): Likewise.
(__is_convertible_to_basic_ostream): Use the new base.
(__rvalue_ostream_type): New.
(operator<<(_Ostream&&, const _Tp&)): Use the new helper alias
for the SFINAE check, convert to the helper alias type before
doing the actual insertion.
* testsuite/27_io/rvalue_streams-2.cc: Add new tests.

From-SVN: r249468
2017-06-21 22:53:26 +03:00
Jakub Jelinek
cb8d1b01b3 re PR c++/81154 (OpenMP with shared variable in a template class crash)
PR c++/81154
	* semantics.c (handle_omp_array_sections_1, finish_omp_clauses):
	Complain about t not being a variable if t is OVERLOAD even
	when processing_template_decl.

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

From-SVN: r249467
2017-06-21 20:30:32 +02:00
Thomas Preud'homme
1e55769b15 Fix variant selection in dg-cmp-results.sh
2017-06-21  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    contrib/
    * dg-cmp-results.sh: Restore filtering on target variant.

From-SVN: r249463
2017-06-21 16:20:57 +00:00
Andrew Jenner
827c925e6a MAINTAINERS: Add myself as maintainer for PowerPC SPE port.
* MAINTAINERS: Add myself as maintainer for PowerPC SPE port.

From-SVN: r249462
2017-06-21 16:17:24 +00:00
David Malcolm
113459fad3 C++: Add fix-it hints for -Wold-style-cast
gcc/cp/ChangeLog:
	* parser.c (get_cast_suggestion): New function.
	(maybe_add_cast_fixit): New function.
	(cp_parser_cast_expression): Capture the location of the closing
	parenthesis.  Call maybe_add_cast_fixit when emitting warnings
	about old-style casts.

gcc/testsuite/ChangeLog:
	* g++.dg/other/old-style-cast-fixits.C: New test case.

From-SVN: r249461
2017-06-21 16:11:36 +00:00