Я пытаюсь скомпилировать следующее с Windriver Diab 5.9.8.4:
void* ptr;
void* array[2] = {&ptr};
int func(void)
{
void* l_1[] = {&(*((void**)array[0]))};
const struct {const signed int bit : 1;} l_2 = {0};
return 0;
}
Строка компиляции:
dcc -tPPCE200Z4VFS: simple -c. \ test.c -o test.o -Xdialect-c99 -Xkeep-assembly-file
и получить следующую ошибку:
".\test.c", line 7: warning (etoa:4108): signed bit field of length 1
const struct {const signed int bit : 1;} l_2 = {0};
^
".\test.c", line 6: warning (etoa:4177): variable "l_1" was declared but never referenced
void* l_1[] = {&(*((void**)array[0]))};
^
".\test.c", line 7: warning (etoa:4177): variable "l_2" was declared but never referenced
const struct {const signed int bit : 1;} l_2 = {0};
^
".\test.c", line 7: error (etoa:1044): assignment to constant expression
В чем причина ошибки