Что делают Clang и GCC, когда `удаляют` базовые классы с не виртуальными деструкторами?

Уже естьвопрос спрашивая о "реальном" поведенииdeleteуказатель на базовый класс, в котором отсутствует виртуальный деструктор, но вопрос ограничен очень ограниченным случаем (у производного класса нет членов с нетривиальными деструкторами), и принятый ответ просто говорит, что нет способа узнать без проверки поведение каждого компилятора.

.... но это на самом деле не очень полезно; зная, что каждый компиляторможет быть вести себя по-другому, не говорит нам ничего о поведении любогоконкретный компилятор. Итак, что же делают Clang и G ++ в этом случае? Я предполагаю, что они просто вызовут деструктор базового класса, а затем освободят память (для всего производного класса). Это тот случай?

Или, если это невозможно определить для всех версий GCC и Clang, как насчет GCC 4.9 и 5.1 и Clang 3.5–3.7?

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

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