Не понимаю, как вам удается использовать новые версии MSVS/MSVC для проектов, которые хоть сколько-нибудь отходят от мейнстрима. Как в очередной раз пытаюсь подсунуть под VS 2019 что-то свое, так плююсь и матерюсь.
Сегодня попробовал подсунуть свою библиотеку для унификации кода между режимами пользователя и ядра, с которой работаю в VS 2008. Там много нетривиальных зависимостей и оптимизаций, поэтому пока она заточена под WDK 7 (6.1.7600), под десяточные SDK/WDK придется много перетачивать. При компиляции MSVC версии старше 19.24, сразу же вылезают ошибки
error C7576: declaration of '_Size' shadows a template parameter
на файлы stdio.h, wchar.h и некоторые другие. Там действительно используется макрос, раскрывающийся в шаблон, и в обоих используется параметр _Size. Но оно ж, блин, сколько лет работало, и никого не парило! Накойхер выдавать на это ошибку вместо предупреждения?
Оказывается, это давно известный косяк. Еще два года назад были багрепорты (
один,
два. Оба MS аккуратно замела под ковер, сделав вид, что так и надо.
Как при таком отношении вообще можно использовать их поделия последних лет до того, как они окончательно перестанут обновляться?