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:
parent
02fa47a905
commit
b8be145128
3 changed files with 27 additions and 2 deletions
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
17
gcc/testsuite/g++.dg/cpp0x/depr-copy2.C
Normal file
17
gcc/testsuite/g++.dg/cpp0x/depr-copy2.C
Normal 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;
|
||||
}
|
Loading…
Add table
Reference in a new issue