compiler: Suppress sparse complaints about function attributes.
authorBen Pfaff <blp@nicira.com>
Fri, 6 May 2011 18:34:59 +0000 (11:34 -0700)
committerBen Pfaff <blp@nicira.com>
Mon, 16 May 2011 20:40:47 +0000 (13:40 -0700)
GCC allows __attribute__s to be included in function prototypes and
then omitted later on the function definition, but sparse complains about
this.  Furthermore, sparse doesn't like the placement of the __attribute__s
that we tend to use in OVS.

I don't see any value in "fixing" these to suit sparse so it seems better
to just omit them.

lib/compiler.h

index 6bf5144..9e9eb82 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2009, 2010 Nicira Networks.
+ * Copyright (c) 2008, 2009, 2010, 2011 Nicira Networks.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,7 +17,7 @@
 #ifndef COMPILER_H
 #define COMPILER_H 1
 
-#ifdef __GNUC__
+#if __GNUC__ && !__CHECKER__
 #define NO_RETURN __attribute__((__noreturn__))
 #define OVS_UNUSED __attribute__((__unused__))
 #define PRINTF_FORMAT(FMT, ARG1) __attribute__((__format__(printf, FMT, ARG1)))