7.14 Обратная совместимость
Теперь, когда существует окончательный стандарт 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-6.5.0/gcc/Backwards-Compatibility.html