У нас есть тип дескриптора, объявленный как:
typedef void *config_h;
У нас есть функция, объявленная как:
void func(config_h hConfig);
Я назвал ее так:
config_h hConfig;
func(&hConfig);
Даже не предупреждение.Вещи, которые я не могу изменить в этом проекте: это C++11
и скомпилировано с -fpermissive
.config_h
typedef делается в файле, который также компилируется компиляторами C, кстати ..
Я посмотрел здесь: https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
Похоже, -Wstrict-aliasing
может быть билетом,но это не былоЯ получаю множество предупреждений о различных преобразованиях указателей, но не об этом.
Вопрос: «Какое самое узкое предупреждение (или предпочтительно ошибку), которое я могу включить, чтобы предотвратить эту проблему?»
Бонусный вопрос: Если подобные вещи сводят меня с ума, переключается ли на clang
вероятность выплаты дивидендов?