compiler: Fix OVS_LOCKS_EXCLUDED on non clang compilers.
authorEthan Jackson <ethan@nicira.com>
Wed, 31 Jul 2013 17:49:34 +0000 (10:49 -0700)
committerEthan Jackson <ethan@nicira.com>
Wed, 31 Jul 2013 19:07:19 +0000 (12:07 -0700)
This patch renames OVS_LOCKS_EXCLUDED to simply OVS_EXCLUDED so it's
more consistent with the other thread safety annotations.  It also
adds it to the non-clang compilers.

Signed-off-by: Ethan Jackson <ethan@nicira.com>
lib/compiler.h

index 1c01fd1..94a2218 100644 (file)
 #define OVS_GUARDED __attribute__((guarded_var))
 #define OVS_GUARDED_BY(...) __attribute__((guarded_by(__VA_ARGS__)))
 #define OVS_RELEASES(...) __attribute__((unlock_function(__VA_ARGS__)))
-#define OVS_LOCKS_EXCLUDED(...) __attribute__((locks_excluded(__VA_ARGS__)))
+#define OVS_EXCLUDED(...) __attribute__((locks_excluded(__VA_ARGS__)))
 #elif __CHECKER__
 /* "sparse" annotations for mutexes and mutex-like constructs.
  *
 #define OVS_TRY_LOCK(REVAL, ...)
 #define OVS_GUARDED
 #define OVS_GUARDED_BY(...)
+#define OVS_EXCLUDED(...)
 #define OVS_RELEASES(...)   __attribute__((context(MUTEX, 1, 0)))
 #define OVS_MACRO_LOCK(...) __context__(MUTEX, 0, 1)
 #define OVS_MACRO_RELEASE(...) __context__(MUTEX, 1, 0)
 #define OVS_TRY_LOCK(...)
 #define OVS_GUARDED
 #define OVS_GUARDED_BY(...)
+#define OVS_EXCLUDED(...)
 #define OVS_RELEASES(...)
 #define OVS_MACRO_LOCK(...)
 #define OVS_MACRO_RELEASE(...)