Их нужно не отключить, я однажды исправить. Там исправления такого
уровня, что делаются чуть ли не регэкспом, во всяком случае любой
дурак по-шаблону справится. Исправления код не изменят. Т.е. легко
проверить, что после исправлений собирается такой же бинарник. Суть
исправлений: руками привести типы насильно (через каст к void*:
"func((const void*)var)"). Хотя вообще за частью таких варнингов
запросто могут стоять ошибки, со строками наверное одно из немногих
исключений, когда разница между signed и unsigned -- глупость со стороны авторов стандарта.