https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86342

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |diagnostic
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2018-06-28
                 CC|                            |jason at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
I'll confirm this, because the warning is caused by code outside the user's
control, but Jason might have wanted it to warn for types defined in system
headers.

Reduced:

# 1 "deprcopy.cc"
# 1 "/tmp//"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 1 "<command-line>" 2
# 1 "deprcopy.cc"
# 1 "deprcopy.h" 1

# 2 "deprcopy.h" 3

# 2 "deprcopy.h" 3
struct X {
  X() { }
  ~X() { }
};
# 2 "deprcopy.cc" 2

# 2 "deprcopy.cc"
int main()
{
  X x;
  X y = x;
}


deprcopy.cc: In function 'int main()':
deprcopy.cc:5:9: warning: implicitly-declared 'constexpr X::X(const X&)' is
deprecated [-Wdeprecated-copy]
   X y = x;
         ^
In file included from deprcopy.cc:1:
deprcopy.h:4:3: note: because 'X' has user-provided 'X::~X()'
   ~X() { }
   ^

Reply via email to