http://bugs.gentoo.org/180619 --- usr/isns.c +++ usr/isns.c @@ -215,13 +215,13 @@ #if __BYTE_ORDER == __LITTLE_ENDIAN #define set_scn_flag(x) \ -{ \ +({ \ x = (x & 0x55555555) << 1 | (x & 0xaaaaaaaa) >> 1; \ x = (x & 0x33333333) << 2 | (x & 0xcccccccc) >> 2; \ x = (x & 0x0f0f0f0f) << 4 | (x & 0xf0f0f0f0) >> 4; \ x = (x & 0x00ff00ff) << 8 | (x & 0xff00ff00) >> 8; \ x = (x & 0x0000ffff) << 16 | (x & 0xffff0000) >> 16; \ -} +}) #else #define set_scn_flag(x) (x) #endif