7.11 Устаревшие возможности
В прошлом компилятор GNU C++ расширялся для экспериментов с новыми функциями в то время, когда язык C++ ещё развивался. Теперь, когда стандарт C++ завершён, некоторые из этих функций заменены лучшими альтернативами. Использование старых функций может в некоторых случаях вызвать предупреждение о том, что эта функция будет удалена в будущем. В других случаях функция уже может быть удалена.
Хотя нижеприведённый список не является исчерпывающим, он документирует некоторые из опций, которые теперь устарели или были удалены:
-fno-for-scope-ffriend-injection-
Эти две опции обеспечивают совместимость с предстандартным C++. Смотрите Совместимость со старыми версиями.
G++ допускает переопределение виртуальной функции, возвращающей ‘void *’, функцией, возвращающей другой тип указателя. Это расширение правил ковариантного возвращаемого типа теперь устарело и будет удалено в будущей версии.
Использование аргументов по умолчанию в указателях на функции, определениях типов функций и других местах, где это не разрешено стандартом, устарело и будет удалено в будущей версии G++.
G++ позволяет использовать десятичные литералы с плавающей точкой в целочисленных константных выражениях, например, ‘ enum E { e = int(2.2 * 3.7) } ’ Это расширение устарело и будет удалено в будущей версии.
G++ позволяет объявлять статические данные-члены типа const с плавающей точкой с инициализатором в определении класса. Стандарт допускает инициализаторы только для статических членов типа const целого типа и типа const перечисления, поэтому это расширение устарело и будет удалено в будущей версии.
G++ позволяет добавлять атрибуты после скобочного прямого инициализатора, например, ‘ int f (0) __attribute__ ((something)); ’ Это расширение игнорируется с версии G++ 3.3 и устарело.
G++ позволяет анонимным структурам и объединениям иметь члены, которые не являются общедоступными нестатическими данными-членами (т. е. полями). Эти расширения устарели.
Далее: Совместимость со старыми версиями, Предыдущее: Понятия C++, Вверх: Расширения C++ [Содержание][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-8.5.0/gcc/Deprecated-Features.html