PR c++/86342 - -Wdeprecated-copy and system headers.

* decl2.c (cp_warn_deprecated_use): Don't warn about declarations
	in system headers.

From-SVN: r262231
This commit is contained in:
Jason Merrill 2018-06-28 16:22:21 -04:00 committed by Jason Merrill
parent 02fa47a905
commit b8be145128
3 changed files with 27 additions and 2 deletions

View file

@ -1,3 +1,9 @@
2018-06-28 Jason Merrill <jason@redhat.com>
PR c++/86342 - -Wdeprecated-copy and system headers.
* decl2.c (cp_warn_deprecated_use): Don't warn about declarations
in system headers.
2018-06-27 David Malcolm <dmalcolm@redhat.com>
PR c++/86329

View file

@ -5208,8 +5208,10 @@ cp_warn_deprecated_use (tree decl, tsubst_flags_t complain)
&& DECL_NONSTATIC_MEMBER_FUNCTION_P (decl)
&& copy_fn_p (decl))
{
warned = warning (OPT_Wdeprecated_copy,
"implicitly-declared %qD is deprecated", decl);
/* Don't warn about system library classes (c++/86342). */
if (!DECL_IN_SYSTEM_HEADER (decl))
warned = warning (OPT_Wdeprecated_copy,
"implicitly-declared %qD is deprecated", decl);
if (warned)
{
tree ctx = DECL_CONTEXT (decl);

View file

@ -0,0 +1,17 @@
// PR c++/86342
// { dg-options -Wdeprecated-copy }
# 1 "deprcopy.cc"
# 1 "deprcopy.h" 1 3
struct X {
X() { }
~X() { }
};
# 2 "deprcopy.cc" 2
int main()
{
X x;
X y = x;
}