This mail is an automated notification from the bugs tracker
of the project: GNUstep.
/**************************************************************************/
[bugs #10259] Latest Modifications:
Changes by:
Peter Cooper <[EMAIL PROTECTED]>
'Date:
Sat 09/04/2004 at 09:34 (GMT)
------------------ Additional Follow-up Comments ----------------------------
I am comfortable with using David Ayres's solution. So far it looks like
GSObjCRuntime.h is the only place the attribute is used.
Widespread adoption might be a good thing, as deprecated interfaces do exist for
frameworks etc. Should the macro be defined here or somewhere else?
/**************************************************************************/
[bugs #10259] Full Item Snapshot:
URL: <http://savannah.gnu.org/bugs/?func=detailitem&item_id=10259>
Project: GNUstep
Submitted by: Peter Cooper
On: Fri 09/03/2004 at 22:52
Category: Base/Foundation
Severity: 5 - Average
Item Group: Change Request
Resolution: None
Privacy: Public
Assigned to: None
Status: Open
Summary: Spurious warnings about deprecated attribute being ignored from
GSObjCRuntime.h on pre-GCC 3.1 compilers
Original Submission: Many lines of warnings about the deprecated attribute being
ignored are generated on gcc 2.95 and presumably 3.0.
The deprecated attribute was only introduced in gcc 3.1 (according to
http://www.ohse.de/uwe/articles/gcc-attributes.html).
This patch replaces the undefined NO_DEPRECATED macro with a test for GCC version in
GSObjCRuntime.h.
Follow-up Comments
------------------
-------------------------------------------------------
Date: Sat 09/04/2004 at 09:34 By: Peter Cooper <comrade>
I am comfortable with using David Ayres's solution. So far it looks like
GSObjCRuntime.h is the only place the attribute is used.
Widespread adoption might be a good thing, as deprecated interfaces do exist for
frameworks etc. Should the macro be defined here or somewhere else?
-------------------------------------------------------
Date: Sat 09/04/2004 at 05:20 By: David Ayers <ayers>
Thanks for reporting!
This is rather unfortunate. Actually the NO_DEPRECATED macro is a convenience macro
for user code to hide the deprecated declarations all together. It predates the use
of the deprecated attribute. I do not necessarily oppose the patch. But it would
hide the prototypes and possibly break user code with older compilers.
Maybe it would be better to introduce something like:
#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))
#define GCC_ATTRIB_DEPRECATED __attribute__ ((deprecated))
#else
#define GCC_ATTRIB_DEPRECATED
#endif
and use that macro instead like this patch?
File Attachments
-------------------
-------------------------------------------------------
Date: Sat 09/04/2004 at 05:20 Name: base.patch Size: 3.46KB By: ayers
Alternate patch to avoid hiding prototypes
http://savannah.gnu.org/bugs/download.php?item_id=10259&item_file_id=1637
-------------------------------------------------------
Date: Fri 09/03/2004 at 22:52 Name: GSObjCRuntime.h.patch Size: 647B By: comrade
Patch for GSObjCRuntime.h to remove spurious warnings on old versions of gcc
http://savannah.gnu.org/bugs/download.php?item_id=10259&item_file_id=1636
For detailed info, follow this link:
<http://savannah.gnu.org/bugs/?func=detailitem&item_id=10259>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
_______________________________________________
Bug-gnustep mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/bug-gnustep