diff mbox

[02/10] sparse: add 'gnu_inline' to the ignored attributes

Message ID 53DFD206.20002@ramsay1.demon.co.uk (mailing list archive)
State Mainlined, archived
Headers show

Commit Message

Ramsay Jones Aug. 4, 2014, 6:33 p.m. UTC
Add some more ignored attributes which are used in glibc header files,
along with a simple test case which includes all three inline attributes
(__gnu_inline__, __always_inline__ and __noinline__).

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
---
 parse.c                  |  2 ++
 validation/attr-inline.c | 21 +++++++++++++++++++++
 2 files changed, 23 insertions(+)
 create mode 100644 validation/attr-inline.c

Comments

Christopher Li Aug. 7, 2014, 6:25 p.m. UTC | #1
On Mon, Aug 4, 2014 at 11:33 AM, Ramsay Jones
<ramsay@ramsay1.demon.co.uk> wrote:
>
> Add some more ignored attributes which are used in glibc header files,
> along with a simple test case which includes all three inline attributes
> (__gnu_inline__, __always_inline__ and __noinline__).

This change looks good.

Chris
--
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/parse.c b/parse.c
index 9767e59..69bcf82 100644
--- a/parse.c
+++ b/parse.c
@@ -536,6 +536,8 @@  const char *ignored_attributes[] = {
 	"__format__",
 	"format_arg",
 	"__format_arg__",
+	"gnu_inline",
+	"__gnu_inline__",
 	"hot",
 	"__hot__",
         "leaf",
diff --git a/validation/attr-inline.c b/validation/attr-inline.c
new file mode 100644
index 0000000..1b88ddb
--- /dev/null
+++ b/validation/attr-inline.c
@@ -0,0 +1,21 @@ 
+
+static inline __attribute__((__always_inline__)) int gt(int lhs, int rhs)
+{
+	return lhs > rhs;
+}
+
+extern inline __attribute__((__gnu_inline__)) int ge(int lhs, int rhs)
+{
+	return lhs >= rhs;
+}
+
+static __attribute__((__warning__("That's junk!"))) __attribute__((__unused__))
+__attribute__((__noinline__))
+void junk(void)
+{
+	__asm__("");
+}
+
+/*
+ * check-name: inline attributes
+ */