forked from Minki/linux
[PATCH] extend the set of "__attribute__" shortcut macros
Extend the set of "__attribute__" shortcut macros, and remove identical (and now superfluous) definitions from a couple of source files. based on a page at robert love's blog: http://rlove.org/log/2005102601 extend the set of shortcut macros defined in compiler-gcc.h with the following: #define __packed __attribute__((packed)) #define __weak __attribute__((weak)) #define __naked __attribute__((naked)) #define __noreturn __attribute__((noreturn)) #define __pure __attribute__((pure)) #define __aligned(x) __attribute__((aligned(x))) #define __printf(a,b) __attribute__((format(printf,a,b))) Once these are in place, it's up to subsystem maintainers to decide if they want to take advantage of them. there is already a strong precedent for using shortcuts like this in the source tree. The ones that might give people pause are "__aligned" and "__printf", but shortcuts for both of those are already in use, and in some ways very confusingly. note the two very different definitions for a macro named "ALIGNED": drivers/net/sgiseeq.c:#define ALIGNED(x) ((((unsigned long)(x)) + 0xf) & ~(0xf)) drivers/scsi/ultrastor.c:#define ALIGNED(x) __attribute__((aligned(x))) also: include/acpi/platform/acgcc.h: #define ACPI_PRINTF_LIKE(c) __attribute__ ((__format__ (__printf__, c, c+1))) Given the precedent, then, it seems logical to at least standardize on a consistent set of these macros. Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> Acked-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
e3e8a75d2a
commit
82ddcb0405
@ -107,8 +107,6 @@ void __update_cache(struct vm_area_struct *vma, unsigned long address,
|
||||
}
|
||||
}
|
||||
|
||||
#define __weak __attribute__((weak))
|
||||
|
||||
static char cache_panic[] __initdata = "Yeee, unsupported cache architecture.";
|
||||
|
||||
void __init cpu_cache_init(void)
|
||||
|
@ -83,8 +83,6 @@
|
||||
|
||||
/*======== HFS structures as they appear on the disk ========*/
|
||||
|
||||
#define __packed __attribute__ ((packed))
|
||||
|
||||
/* Pascal-style string of up to 31 characters */
|
||||
struct hfs_name {
|
||||
u8 len;
|
||||
|
@ -15,8 +15,6 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define __packed __attribute__ ((packed))
|
||||
|
||||
/* Some constants */
|
||||
#define HFSPLUS_SECTOR_SIZE 512
|
||||
#define HFSPLUS_SECTOR_SHIFT 9
|
||||
|
@ -27,6 +27,13 @@
|
||||
#define __inline__ __inline__ __attribute__((always_inline))
|
||||
#define __inline __inline __attribute__((always_inline))
|
||||
#define __deprecated __attribute__((deprecated))
|
||||
#define __packed __attribute__((packed))
|
||||
#define __weak __attribute__((weak))
|
||||
#define __naked __attribute__((naked))
|
||||
#define __noreturn __attribute__((noreturn))
|
||||
#define __pure __attribute__((pure))
|
||||
#define __aligned(x) __attribute__((aligned(x)))
|
||||
#define __printf(a,b) __attribute__((format(printf,a,b)))
|
||||
#define noinline __attribute__((noinline))
|
||||
#define __attribute_pure__ __attribute__((pure))
|
||||
#define __attribute_const__ __attribute__((__const__))
|
||||
|
Loading…
Reference in New Issue
Block a user