Я пытаюсь скомпилировать следующее на gcc с -pedantic-errors -pedantic -Wall -O2
#include <iostream>
void reset_uint32(uint32_t* pi)
{
char* c = (char*)(pi);
uint16_t* j = (uint16_t*)(c); // warning?
j[0] = 0;
j[1] = 0;
}
void foo()
{
uint32_t i = 1234;
reset_uint32(&i);
}
int main() {
foo();
}
Но я не вижу никаких предупреждений о строгом алиасинге. Я также пытался включить
-fstrict-aliasing
-Wstrict-aliasing
но все равно никаких предупреждений. Это ошибка?