Message ID | 20130218183629.d2a9238ac848758359582e28@freescale.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
On Mon, Feb 18, 2013 at 4:36 PM, Kim Phillips <kim.phillips@freescale.com> wrote: > > which is what's advertised as the main sparse tree, here: > > https://sparse.wiki.kernel.org/index.php/Main_Page > > lib.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/lib.c b/lib.c > index 6bd10d3..4f69e11 100644 > --- a/lib.c > +++ b/lib.c > @@ -727,6 +727,11 @@ void declare_builtin_functions(void) > add_pre_buffer("extern int __builtin_popcountl(unsigned long);\n"); > add_pre_buffer("extern int __builtin_popcountll(unsigned long long);\n"); > > + /* And byte swaps.. */ > + add_pre_buffer("extern unsigned short __builtin_bswap16(unsigned short);\n"); > + add_pre_buffer("extern unsigned int __builtin_bswap32(unsigned int);\n"); > + add_pre_buffer("extern unsigned long long __builtin_bswap64(unsigned long long);\n"); > + > /* And some random ones.. */ Looks good. Can you please add a test case for __buitin_bswap{16,32,64}? You can look at "validations/" directory for the test case example. To run the test case, use "make check". Thanks 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 --git a/lib.c b/lib.c index 6bd10d3..4f69e11 100644 --- a/lib.c +++ b/lib.c @@ -727,6 +727,11 @@ void declare_builtin_functions(void) add_pre_buffer("extern int __builtin_popcountl(unsigned long);\n"); add_pre_buffer("extern int __builtin_popcountll(unsigned long long);\n"); + /* And byte swaps.. */ + add_pre_buffer("extern unsigned short __builtin_bswap16(unsigned short);\n"); + add_pre_buffer("extern unsigned int __builtin_bswap32(unsigned int);\n"); + add_pre_buffer("extern unsigned long long __builtin_bswap64(unsigned long long);\n"); + /* And some random ones.. */ add_pre_buffer("extern void *__builtin_return_address(unsigned int);\n"); add_pre_buffer("extern void *__builtin_extract_return_addr(void *);\n");
this patch stops sparse from complaining about them not being defined: include/uapi/linux/swab.h:60:16: error: undefined identifier '__builtin_bswap32' include/uapi/linux/swab.h:60:33: error: not a function <noident> Signed-off-by: Kim Phillips <kim.phillips@freescale.com> --- Based on: git://git.kernel.org/pub/scm/devel/sparse/chrisl/sparse.git since it's more up-to-date than: git://git.kernel.org/pub/scm/devel/sparse/sparse.git which is what's advertised as the main sparse tree, here: https://sparse.wiki.kernel.org/index.php/Main_Page lib.c | 5 +++++ 1 file changed, 5 insertions(+)