re PR c++/63540 (Erroneous "'Derived' declares a move constructor or move assignment operator" in error.)
2019-03-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/63540 * g++.dg/cpp0x/implicit17.C: New. From-SVN: r269508
This commit is contained in:
parent
a8ce2144c1
commit
49c1f7a6c5
2 changed files with 23 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
2019-03-08 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/63540
|
||||
* g++.dg/cpp0x/implicit17.C: New.
|
||||
|
||||
2019-03-08 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/22149
|
||||
|
|
18
gcc/testsuite/g++.dg/cpp0x/implicit17.C
Normal file
18
gcc/testsuite/g++.dg/cpp0x/implicit17.C
Normal file
|
@ -0,0 +1,18 @@
|
|||
// PR c++/63540
|
||||
// { dg-do compile { target c++11 } }
|
||||
|
||||
template <typename T,
|
||||
typename = decltype(*static_cast<T*>(0) = 0)> int break_it();
|
||||
template <typename> int break_it();
|
||||
|
||||
struct Base {
|
||||
Base(const Base &);
|
||||
void operator=(Base &&);
|
||||
};
|
||||
|
||||
struct Derived : Base {
|
||||
using Base::operator=;
|
||||
};
|
||||
|
||||
int a = break_it<Derived>();
|
||||
Derived v(v);
|
Loading…
Add table
Reference in a new issue