Commit 8ad65876 authored by Robert Love's avatar Robert Love Committed by Linus Torvalds

[PATCH] deprecated function attribute

This patch adds support for usage of the attribute as "deprecated" and
is backward-compatible.  Usage is:

	int deprecated foo(void)

etc..

If we mark a function as deprecated, then each use of the function emits
a warning like:

	foo.c:12: warning: `baz' is deprecated (declared at bar.c:60)

Which is very informative, giving both the location of each usage and
where the little bastard is declared.
parent fb7d196b
...@@ -13,6 +13,19 @@ ...@@ -13,6 +13,19 @@
#define likely(x) __builtin_expect((x),1) #define likely(x) __builtin_expect((x),1)
#define unlikely(x) __builtin_expect((x),0) #define unlikely(x) __builtin_expect((x),0)
/*
* Allow us to mark functions as 'deprecated' and have gcc emit a nice
* warning for each use, in hopes of speeding the functions removal.
* Usage is:
* int deprecated foo(void)
* and then gcc will emit a warning for each usage of the function.
*/
#if __GNUC__ >= 3
#define deprecated __attribute__((deprecated))
#else
#define deprecated
#endif
/* This macro obfuscates arithmetic on a variable address so that gcc /* This macro obfuscates arithmetic on a variable address so that gcc
shouldn't recognize the original var, and make assumptions about it */ shouldn't recognize the original var, and make assumptions about it */
#define RELOC_HIDE(ptr, off) \ #define RELOC_HIDE(ptr, off) \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment