===================================================================
@@ -620,6 +620,9 @@ finish_expr_stmt (tree expr)
{
if (warn_sequence_point)
verify_sequence_points (expr);
+ if (TREE_CODE (expr) == TARGET_EXPR
+ && TREE_DEPRECATED (TREE_TYPE (expr)))
+ warn_deprecated_use (TREE_TYPE (expr), NULL_TREE);
expr = convert_to_void (expr, ICV_STATEMENT, tf_warning_or_error);
}
else if (!type_dependent_expression_p (expr))
===================================================================
@@ -0,0 +1,10 @@
+// PR c++/58305
+
+class ToBeDeprecated {
+} __attribute__ ((deprecated ("deprecated!")));
+
+int main() {
+ ToBeDeprecated(); // { dg-warning "'ToBeDeprecated' is deprecated" }
+ ToBeDeprecated x; // { dg-warning "'ToBeDeprecated' is deprecated" }
+ return 0;
+}