GCC (/ Clang): объединение функций с одинаковыми инструкциями (сворачивание COMDAT)

Просто любопытно, реализуют ли наборы инструментов GCC или Clang эквивалент MSVC?идентичный складной COMDAT (ICF) в настоящее время? Если нет, есть ли планы? Я могу'Кажется, что не найдено каких-либо недавних авторитетных ссылок на эту тему, кроме старых сообщений в списке рассылки GCC.

Если нет, означает ли это, что создание экземпляров шаблона для различных типов всегда является различными функциями в результирующем двоичном файле (в ситуациях, когда они не полностью встроены), даже если они являются двоично-совместимыми, или существуют другие механизмы для обработки этого на каком-то другом уровне?

Кроме того, кто-нибудь обнаружил, что ICF имеет большое значение для минимизации размера получаемого исполняемого файла на практике? Я неу меня нет больших проектов MSVC, чтобы проверить это. (Я'Я предполагаю, что это действительно помогает, только если вы создали экземпляры шаблонов для множества различных типов, совместимых с vtable-layout.)

Наконец, совместим ли он со стандартами C ++ 11 для двух указателей на разные функции для сравнения во время выполнения?Эта ссылка кажется, подразумевает, что это нет, но этос для С99. РЕДАКТИРОВАТЬ:нашел предыдущий вопрос по этой теме

Ответы на вопрос(1)

Ваш ответ на вопрос