Cześć,
znacie może jakąś flagę gcc, która pokaże ostrzeżenie związane z przycinaniem wartości podczas deklaracji zmiennej połączonej z inicjalizacją?
Przykład:
int array[5] = {1, -3, 5, 10, 4};
int size_array = sizeof(array) / sizeof(*array);
Wytłumaczenie:
wyrażenie po prawej stronie ma wartość: 5 * 4B / 4B = 5 (typy: unsigned long / unsigned long = unsigned long),
mamy deklarację jako int, więc wymuszenie typu poprzez przycięcie z 8B do 4B (możliwa więc strata informacji).
Próbowałem:
-Wall, -Wextra, -Wconversion, ale nie łapią tego.