7.12 Обратная совместимость
Теперь, когда существует окончательный стандарт ISO C++, G++ имеет спецификацию, которой следует придерживаться. Язык C++ эволюционировал со временем, и функции, которые были приемлемы в предыдущих черновиках стандарта, такие как ARM [Annotated C++ Reference Manual], больше не принимаются. Чтобы разрешить компиляцию 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-7.5.0/gcc/Backwards-Compatibility.html