Могут ли разные диалекты GCC быть связаны между собой?

Я знаю, что в принципе это, вероятно, неопределенное поведение, но в интересах работы с большим проектом, вот мой вопрос о GCC:

Предположим, я скомпилировал одну единицу перехода сgcc -std=c++98и еще один с-std=c++11, используя точно такую же установку компилятора. Есть ли какая-либо гарантия, что я смогу связать два объектных файла и получить четко определенную программу?

Насколько я могу судить, потенциальные проблемы могут исходить только от разных представлений заголовков библиотек из-за разных макросов, а те, в свою очередь, будут в лучшем случаеadd новые функции-члены, но не объекты-члены, для стандартных библиотечных классов.

Будет ли это как-то приемлемо для компиляции разных частей более крупного проекта с разными вариантами языкового диалекта?

Update: Я должен добавить ортогональный вопрос: как насчет использования двухdifferent версии GCC (скажем, 4.3 и 4.6), ноsame вариант диалекта (-std=c++98)? Списокв этой документации GCC Похоже, что библиотека совместима в обоих направлениях между 4.2.2 и 4.6.

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

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