* decl2.c (cp_warn_deprecated_use): Don't warn about declarations
in system headers.
From-SVN: r262231
+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
&& 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);
--- /dev/null
+// 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;
+}