]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
include: fix compiler warnings
authorSami Kerola <kerolasa@iki.fi>
Sun, 28 Sep 2014 19:51:43 +0000 (20:51 +0100)
committerKarel Zak <kzak@redhat.com>
Wed, 1 Oct 2014 10:33:35 +0000 (12:33 +0200)
This change has motivation to make -Wall -pedantic compiler options to
spit a little bit less noise, which with luck will increase change to
notice real issues.

Multiple of these:

warning: ISO C forbids braced-groups within expressions [-Wpedantic]

And nearly 300 times reported:

include/c.h:75:41: warning: struct has no named members [-Wpedantic]
 #define UL_BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); }))

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
include/c.h
include/list.h

index e423e8b3083e61618630b2ffbd3f4126e9e78f37..0f6e5b29becdb4e615e2b0d4960361314e962818 100644 (file)
@@ -37,7 +37,7 @@
 # define __must_be_array(a) \
        UL_BUILD_BUG_ON_ZERO(__builtin_types_compatible_p(__typeof__(a), __typeof__(&a[0])))
 
-# define ignore_result(x) ({ \
+# define ignore_result(x) __extension__ ({ \
        __typeof__(x) __dummy __attribute__((__unused__)) = (x); (void) __dummy; \
 })
 
@@ -72,7 +72,7 @@
  * e.g. in a structure initializer (or wherever else comma expressions
  * aren't permitted).
  */
-#define UL_BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); }))
+#define UL_BUILD_BUG_ON_ZERO(e) __extension__ (sizeof(struct { int:-!!(e); }))
 #define BUILD_BUG_ON_NULL(e) ((void *)sizeof(struct { int:-!!(e); }))
 
 #ifndef ARRAY_SIZE
@@ -92,7 +92,7 @@
 #endif
 
 #ifndef min
-# define min(x, y) ({                          \
+# define min(x, y) __extension__ ({            \
        __typeof__(x) _min1 = (x);              \
        __typeof__(y) _min2 = (y);              \
        (void) (&_min1 == &_min2);              \
 #endif
 
 #ifndef max
-# define max(x, y) ({                          \
+# define max(x, y) __extension__ ({            \
        __typeof__(x) _max1 = (x);              \
        __typeof__(y) _max2 = (y);              \
        (void) (&_max1 == &_max2);              \
 #endif
 
 #ifndef container_of
-#define container_of(ptr, type, member) ({                       \
+#define container_of(ptr, type, member) __extension__ ({        \
        const __typeof__( ((type *)0)->member ) *__mptr = (ptr); \
        (type *)( (char *)__mptr - offsetof(type,member) );})
 #endif
index cfbdb16eede1e3b890f514adc76054ef770bb629..3c08aa5f2c2a7f2f3a1403ca932179a1f3f7f461 100644 (file)
@@ -166,7 +166,7 @@ _INLINE_ void list_splice(struct list_head *list, struct list_head *head)
  * @type:      the type of the struct this is embedded in.
  * @member:    the name of the list_struct within the struct.
  */
-#define list_entry(ptr, type, member) ({              \
+#define list_entry(ptr, type, member) __extension__ ({              \
        const typeof( ((type *)0)->member ) *__mptr = (ptr);   \
        (type *)( (char *)__mptr - offsetof(type,member) );})