From: Daniel Santos <danielfsantos@att.net>
To: linux-kernel@vger.kernel.org,
Paul Gortmaker <paul.gortmaker@windriver.com>
Subject: [PATCHv3 1/6] [RFC] compiler{,-gcc4}.h: Remove duplicate macro & cleanup
Date: Thu, 07 Jun 2012 04:14:33 -0500 [thread overview]
Message-ID: <4FD070F9.3060709@att.net> (raw)
__linktime_error() does the same thing as __compiletime_error() and is
only used in bug.h. Since the macro defines a function attribute that
will cause a failure at compile-time (not link-time), it makes more
sense to keep __compiletime_error(), which is also neatly mated with
__compiletime_warning().
However, gcc version check for __compiletime_error() prevented its use
one minor version after it was availble (4.4 instead of 4.3). So to fix
this and clean things up a bit, I've moved it in with other macros
defined for 4.3 and later.
Finally, I moved __compiletime_object_size() towards the top of the file
so that all macros are defined in order of the gcc version they appear
in.
Signed-off-by: Daniel Santos <daniel.santos@pobox.com>
---
include/linux/compiler-gcc4.h | 21 ++++++++++-----------
include/linux/compiler.h | 3 ---
2 files changed, 10 insertions(+), 14 deletions(-)
diff --git a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h
index 2f40791..77be10c 100644
--- a/include/linux/compiler-gcc4.h
+++ b/include/linux/compiler-gcc4.h
@@ -13,6 +13,10 @@
#define __must_check __attribute__((warn_unused_result))
#define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
+#if __GNUC_MINOR__ >= 1
+#define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
+#endif /* __GNUC_MINOR__ >= 1 */
+
#if __GNUC_MINOR__ >= 3
/* Mark functions as cold. gcc will assume any path leading to a call
to them will be unlikely. This means a lot of manual unlikely()s
@@ -29,7 +33,11 @@
the kernel context */
#define __cold __attribute__((__cold__))
-#define __linktime_error(message) __attribute__((__error__(message)))
+#if !defined(__CHECKER__)
+#define __compiletime_warning(message) __attribute__((warning(message)))
+#define __compiletime_error(message) __attribute__((error(message)))
+#endif /* !defined(__CHECKER__) */
+#endif /* __GNUC_MINOR__ >= 3 */
#if __GNUC_MINOR__ >= 5
/*
@@ -45,14 +53,5 @@
/* Mark a function definition as prohibited from being cloned. */
#define __noclone __attribute__((__noclone__))
+#endif /* __GNUC_MINOR__ >= 5 */
-#endif
-#endif
-
-#if __GNUC_MINOR__ > 0
-#define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
-#endif
-#if __GNUC_MINOR__ >= 4 && !defined(__CHECKER__)
-#define __compiletime_warning(message) __attribute__((warning(message)))
-#define __compiletime_error(message) __attribute__((error(message)))
-#endif
diff --git a/include/linux/compiler.h b/include/linux/compiler.h
index 923d093..4d9f353 100644
--- a/include/linux/compiler.h
+++ b/include/linux/compiler.h
@@ -293,9 +293,6 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
#ifndef __compiletime_error
# define __compiletime_error(message)
#endif
-#ifndef __linktime_error
-# define __linktime_error(message)
-#endif
/*
* Prevent the compiler from merging or refetching accesses. The compiler
* is also forbidden from reordering successive instances of ACCESS_ONCE(),
--
1.7.3.4
next reply other threads:[~2012-06-07 9:14 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-07 9:14 Daniel Santos [this message]
2012-06-07 13:16 ` [PATCHv3 1/6] [RFC] compiler{,-gcc4}.h: Remove duplicate macro & cleanup Paul Gortmaker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FD070F9.3060709@att.net \
--to=danielfsantos@att.net \
--cc=daniel.santos@pobox.com \
--cc=linux-kernel@vger.kernel.org \
--cc=paul.gortmaker@windriver.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.