gcc マニュアルから: http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/Alternate-Keywords.html#Alternate-Keywords
-pedantic およびその他のオプションは、多くの GNU C 拡張機能に対して警告を発します。式の前に __extension__ を記述することで、1 つの式内でこのような警告を防ぐことができます。__extension__ はこれ以外には何の効果もありません。
次のブロックを -Wall -Wextra -Wpedantic で gcc-4.8.2 でコンパイルしましたが、警告は出力されませんでした。
static uint8_t shbl[2][9] = {
{ __extension__ 0b11111111,
__extension__ 0b11111110,
__extension__ 0b11111100,
__extension__ 0b11111000,
__extension__ 0b11110000,
__extension__ 0b11100000,
__extension__ 0b11000000,
__extension__ 0b10000000,
__extension__ 0b00000000 },
// BLOCK_RIGHT
{ __extension__ 0b11111111,
__extension__ 0b01111111,
__extension__ 0b00111111,
__extension__ 0b00011111,
__extension__ 0b00001111,
__extension__ 0b00000111,
__extension__ 0b00000011,
__extension__ 0b00000001,
__extension__ 0b00000000 }
};
(もちろん、これは醜いので、これをプリコンパイラ マクロに変更します。しかし、テストでは許容範囲でした。)