На этот На странице GCC 5 перечислено следующее в разделе Улучшения оптимизации времени соединения:
Было реализовано объединение типов C ++ на основе одного определения. Слияние типов обеспечивает лучшую девиртуализацию и анализ псевдонимов.
Что такое слияние типов C ++ и как оно связано с ODR?
Задача ещё не решена.
Других решений пока нет …