The warning is produced by the c code generated by vala.
warning: missing braces around initializer
The code works but the warni
Yes, this appears to be related to GCC bug 53119. It goes away if you change the C declaration to {{0}}
. Your options are:
{{0}}
instead of {0}
on that line using sed
or the like.extern
in Vala, and write the C definition elsewhere. (The permanent version of #2.)struct foo { int bar; Position positions[8]; } static foo position_holder
and {0}
will then be initialising position_holder.bar
which is fine and the warning goes away.This warning also appears when a multi-dimensional array is treated as a linear array ( although it is still correct and the code runs perfectly ) with -Wall compiler flags set.
For example
char array[5][10][2] = {\
"0","0","0","0","0","0","0","0","0","0",\
"1","1","1","1","1","1","1","1","1","1",\
"2","2","2","2","2","2","2","2","2","2",\
"3","3","3","3","3","3","3","3","3","3",\
"4","4","4","4","4","4","4","4","4","4" };
This will generate the warning.
Do the following changes to remove the warnings as shown below
char array[5][10][2] = {\
{"0","0","0","0","0","0","0","0","0","0" },\
{"1","1","1","1","1","1","1","1","1","1"},\
{"2","2","2","2","2","2","2","2","2","2"},\
{"3","3","3","3","3","3","3","3","3","3"},\
{"4","4","4","4","4","4","4","4","4","4"} };
Please do correct me if I am wrong.