Files
ubports_kernel_google_msm/include/linux
Robert P. J. Day 82ddcb0405 [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>
2007-02-11 10:51:35 -08:00
..
2006-12-04 02:00:22 -05:00
2006-10-03 23:01:26 +02:00
2007-02-09 17:39:39 -05:00
2006-12-02 21:22:55 -08:00
2006-12-02 21:22:55 -08:00
2006-12-06 20:14:22 -08:00
2006-10-03 23:01:26 +02:00
2006-12-08 08:28:39 -08:00
2006-12-19 11:12:46 +01:00
2006-12-07 08:39:37 -08:00
2006-12-07 08:39:20 -08:00
2006-12-08 08:28:39 -08:00
2007-01-30 08:26:45 -08:00
2007-02-11 10:51:24 -08:00
2006-12-30 10:56:43 -08:00
2006-12-11 14:35:00 -08:00
2006-12-07 08:39:25 -08:00
2007-02-09 17:39:36 -05:00
2007-02-09 17:39:36 -05:00
2007-02-01 16:17:06 -08:00
2007-02-11 10:51:31 -08:00
2006-12-07 08:39:32 -08:00
2006-12-10 09:55:41 -08:00
2006-10-02 07:57:12 -07:00
2007-02-07 15:44:36 -08:00
2007-01-08 19:49:54 +00:00
2007-02-09 09:00:22 +01:00
2006-12-10 21:21:29 +01:00
2006-12-10 21:21:31 +01:00
2006-12-04 02:00:34 -05:00
2006-12-02 21:21:21 -08:00
2007-02-09 17:39:36 -05:00
2006-10-10 15:37:22 -07:00
2007-02-09 17:39:36 -05:00
2006-12-02 21:21:21 -08:00
2006-10-04 07:55:12 -07:00
2006-12-07 08:39:47 -08:00
2006-12-07 08:39:47 -08:00
2006-12-07 08:39:47 -08:00
2006-10-04 00:31:09 -07:00
2006-12-02 21:21:21 -08:00
2007-02-07 15:50:08 -08:00
2006-12-08 08:28:57 -08:00
2006-11-30 05:24:39 +01:00
2006-11-30 04:53:49 +01:00
2007-02-07 10:37:14 -08:00
2007-02-11 10:51:24 -08:00
2007-02-09 17:39:40 -05:00
2007-01-05 23:55:21 -08:00
2007-02-07 10:37:12 -08:00
2006-11-30 04:40:22 +01:00
2006-11-16 11:43:38 -08:00
2007-02-07 15:50:08 -08:00
2007-01-23 00:34:54 -05:00
2006-11-22 14:57:56 +00:00
2007-02-08 13:51:54 -08:00
2006-12-06 10:46:38 -05:00
2006-12-07 02:14:01 +01:00
2007-02-09 08:06:14 -08:00
2007-02-09 17:39:36 -05:00
2006-11-03 12:27:58 -08:00
2007-02-11 10:51:28 -08:00
2006-12-04 02:00:36 -05:00
2006-10-03 23:01:26 +02:00
2007-01-11 18:18:21 -08:00
2007-02-11 10:51:28 -08:00
2006-12-22 08:55:49 -08:00
2006-12-10 09:55:40 -08:00
2006-12-02 21:21:34 -08:00
2006-12-12 08:10:44 -08:00
2006-12-07 08:39:35 -08:00
2006-12-08 08:28:57 -08:00
2006-12-07 08:39:25 -08:00
2006-12-13 09:05:49 -08:00
2006-10-10 16:15:34 -07:00
2006-12-07 08:39:20 -08:00
2006-10-01 00:39:18 -07:00
2006-10-01 00:39:19 -07:00
2007-02-11 10:51:18 -08:00
2006-10-11 11:14:21 -07:00
2007-02-07 14:03:19 +11:00
2007-02-07 10:37:14 -08:00
2006-11-30 05:32:19 +01:00
2006-12-02 21:21:08 -08:00
2006-12-15 08:47:51 -08:00
2006-10-01 00:39:19 -07:00
2006-10-04 07:55:12 -07:00
2007-02-11 10:51:25 -08:00
2006-12-02 00:11:58 -05:00
2006-10-09 14:20:38 -07:00