Положим что есть какой-то старый легаси проект где куча модулей, перечислений, структур и типов. Положим что у нас есть цель отрефачить его.
Оптимально было бы сначала запустить какую-нибудь утилу, которая сказала бы «перечисление aaa не используется в проекте» и мы такие - круто, удаляем из кода, чтобы не мешало восприятию. Или «функция bbb не используется в проекте» и мы такие - ваще кайф, минус 2500 строк кода.
Компилятор умеет находить неиспользуемые static-и, но по глобальным сущностям такое должен палить линкер, а у него таких опций вроде нет.
Есть что-то готовое чтобы не городить огород?