Доброго времени суток!
Есть проект, в котором встречается инициализация такого:
typedef struct tagRS_BLOCKINFO
{
int ncRSBlock;
int ncAllCodeWord;
int ncDataCodeWord;
} RS_BLOCKINFO;
typedef struct tagQR_VERSIONINFO
{
int nVersionNo;
int ncAllCodeWord;
int ncDataCodeWord[4];
int ncAlignPoint;
int nAlignPoint[6];
RS_BLOCKINFO RS_BlockInfo1[4];
RS_BLOCKINFO RS_BlockInfo2[4];
} QR_VERSIONINFO;
static QR_VERSIONINFO QR_VersonInfo[] = {
{
0
},
{
1, // Ver.1
26, 19, 16, 13, 9,
0, 0, 0, 0, 0, 0, 0,
1, 26, 19,
1, 26, 16,
1, 26, 13,
1, 26, 9,
0, 0, 0,
0, 0, 0,
0, 0, 0,
0, 0, 0
}
};
Если собирать это с помощью gcc, то всё нормально.
Но, если попробовать собрать с помощью clang, то будет куча предупреждений, типа "suggest braces around initialization of subobject"
Понятно, что можно бороться с этим, с помощью опций компилятора, но это как-то неправильно. Как мне кажется.
Как с таким правильно бороться? Может можно что дописать в .pro файл?