]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/cp/semantics.c
re PR c/36892 (Support __attribute__((deprecated("text string"))))
authorH.J. Lu <hjl@gcc.gnu.org>
Fri, 8 May 2009 18:44:50 +0000 (11:44 -0700)
committerH.J. Lu <hjl@gcc.gnu.org>
Fri, 8 May 2009 18:44:50 +0000 (11:44 -0700)
commit9b86d6bb25587db93a322bf5778e9892aaa8b776
tree3d22aee346c9c7a9e1f97b4a70e8968a3e82e462
parent82ad047f00d42f4cdb4ae2ee163f46d74db35f76
re PR c/36892 (Support __attribute__((deprecated("text string"))))

gcc/

2009-05-08  H.J. Lu  <hongjiu.lu@intel.com>
    Andrew Morrow  <acm@google.com>

PR c/36892
* c-common.c (c_common_attribute_table): Permit deprecated
attribute to take an optional argument.
(handle_deprecated_attribute): If the optional argument to
__attribute__((deprecated)) is not a string ignore the attribute
and emit a warning.

* c-decl.c (grokdeclarator): Updated warn_deprecated_use call.
* c-typeck.c (build_component_ref): Likewise.
(build_external_ref): Likewise.

* toplev.c (warn_deprecated_use): Add an attribute argument.
Emit the message associated with __attribute__((deprecated)).

* toplev.h (warn_deprecated_use): Updated.

* doc/extend.texi: Document new optional parameter to
__attribute__((deprecated))

gcc/cp/

2009-05-08  H.J. Lu  <hongjiu.lu@intel.com>

PR c/36892
* call.c (build_call_a): Updated warn_deprecated_use call.
(build_over_call): Likewise.
* decl.c (grokdeclarator): Likewise.
(grokparms): Likewise.
* semantics.c (finish_id_expression): Likewise.
* typeck.c (build_class_member_access_expr): Likewise.
(finish_class_member_access_expr): Likewise.

gcc/testsuite/

2009-05-08  H.J. Lu  <hongjiu.lu@intel.com>

PR c/36892
* g++.dg/warn/deprecated-6.C: New.
* gcc.dg/deprecated-4.c: Likewise.
* gcc.dg/deprecated-5.c: Likewise.
* gcc.dg/deprecated-6.c: Likewise.

From-SVN: r147293
17 files changed:
gcc/ChangeLog
gcc/c-common.c
gcc/c-decl.c
gcc/c-typeck.c
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/decl.c
gcc/cp/semantics.c
gcc/cp/typeck.c
gcc/doc/extend.texi
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/warn/deprecated-6.C [new file with mode: 0644]
gcc/testsuite/gcc.dg/deprecated-4.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/deprecated-5.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/deprecated-6.c [new file with mode: 0644]
gcc/toplev.c
gcc/toplev.h