[PATCH RESEND] Recognize and ignore __alias__ and __visibility__

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Sparse currently parses and ignores the alias and visibility attributes,
but not the variants __alias__ and __visibility__, which GCC permits
even in ANSI C to allow for use in headers.  Add support for these
variants.

Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxx>
Signed-off-by: Pavel Roskin <proski@xxxxxxx>
---
Original patch by Pavel Roskin; modified version with consolidated if
statements by me, with signoff from Pavel.

 parse.c      |    6 ++++--
 ident-list.h |    4 ++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/ident-list.h b/ident-list.h
index 95bb96a..ecdce6d 100644
--- a/ident-list.h
+++ b/ident-list.h
@@ -56,8 +56,8 @@ IDENT(__const); IDENT(__const__); IDENT(
 IDENT(__noreturn__); IDENT(regparm); IDENT(weak); IDENT(__weak__);
 IDENT(__no_instrument_function__); IDENT(no_instrument_function);
 IDENT(__sentinel__); IDENT(sentinel);
-IDENT(alias); IDENT(pure); IDENT(always_inline);
-IDENT(syscall_linkage); IDENT(visibility);
+IDENT(alias); IDENT(__alias__); IDENT(pure); IDENT(always_inline);
+IDENT(syscall_linkage); IDENT(visibility); IDENT(__visibility__);
 IDENT(bitwise); IDENT(__bitwise__);
 IDENT(model); IDENT(__model__);
 IDENT(__format_arg__);
diff --git a/parse.c b/parse.c
index c536ec2..6857541 100644
--- a/parse.c
+++ b/parse.c
@@ -528,7 +528,8 @@ static const char * handle_attribute(str
 	if (attribute == &weak_ident ||
 	    attribute == &__weak___ident)
 		return NULL;
-	if (attribute == &alias_ident)
+	if (attribute == &alias_ident ||
+	    attribute == &__alias___ident)
 		return NULL;
 	if (attribute == &pure_ident ||
 	    attribute == &__pure___ident)
@@ -537,7 +538,8 @@ static const char * handle_attribute(str
 		return NULL;
 	if (attribute == &syscall_linkage_ident)
 		return NULL;
-	if (attribute == &visibility_ident)
+	if (attribute == &visibility_ident ||
+	    attribute == &__visibility___ident)
 		return NULL;
 	if (attribute == &deprecated_ident ||
 	    attribute == &__deprecated___ident)


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

[Index of Archives]     [Newbies FAQ]     [LKML]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Trinity Fuzzer Tool]

  Powered by Linux