7.13 Обратная совместимость
Теперь, когда есть окончательный стандарт ISO C++, G++ имеет спецификацию, которой нужно следовать. Язык C++ развивался со временем, и функции, которые были приемлемы в предыдущих черновиках стандарта, такие как ARM [Аннотированный справочник по C++], больше не принимаются. Для того, чтобы позволить компиляцию C++, написанного для таких черновиков, G++ содержит некоторую обратную совместимость. Все такие функции обратной совместимости могут исчезнуть в будущих версиях G++. Они должны считаться устаревшими. См. Устаревшие функции.
For scope-
Если переменная объявлена в цикле for, она оставалась в области видимости до конца области, содержащей оператор for (а не только внутри области for). G++ сохраняет это, но выдает предупреждение, если такая переменная используется за пределами области for.
Implicit C languageСтарые системные заголовочные файлы C не содержали
extern "C" {…}области для установки языка. В таких системах все заголовочные файлы неявно находятся внутри области языка C. Кроме того, пустой прототип()обрабатывается как имеющий неопределенное количество аргументов, а не как не имеющий аргументов, как требует C++.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-5.5.0/gcc/Backwards-Compatibility.html