PATCH: PR c/36892: Support __attribute__((deprecated("text string")))

H.J. Lu hjl.tools@gmail.com
Thu May 7 16:36:00 GMT 2009


Hi Jason, Joseph,

Can you take a look at C and C++ front changes?

Thanks.


H.J.
--
On Tue, May 5, 2009 at 5:29 PM, H.J. Lu <hongjiu.lu@intel.com> wrote:
> Hi,
>
> Here is the updated patch to implement
>
> __attribute__((deprecated("text string")))
>
> Tested on Linux/ia32, Linux/ia64 and Linux/Intel64.  OK for trunk?
>
> Thanks.
>
>
> H.J.
> ---
> gcc/
>
> 2009-05-05  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-05  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-05  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.
>



More information about the Gcc-patches mailing list