Ответ 1
В соответствии с GCC ссылка C17
на самом деле является исправлением ошибок стандарта C11
с интегрированными разрешениями DR.
C17, версия с исправлением ошибок стандарта C11 с разрешениями DR интегрированный, скоро перейдет к голосованию. Этот патч добавляет соответствующие options
-std=c17
,-std=gnu17
(новая версия по умолчанию, замена-std=gnu11
по умолчанию),-std=iso9899:2017
. Как версия исправления ошибок стандарта, нет необходимости вflag_isoc17
или любых вариантах для предупреждения о совместимости; однако есть новый__STDC_VERSION__
значение, поэтому новые языки cpplibCLK_GNUC17
иCLK_STDC17
добавляются к поддержку с использованием этого нового значения с новыми параметрами. (Если стандарт заканчивается в 2018 году и известен какC18
, алиасы опций могут быть добавлены. Обратите внимание, однако, что-std=iso9899:199409
соответствует__STDC_VERSION__
, а не дата публикации.)(Существует несколько DR-решений, требующих реализации в GCC, но что не зависит от новых параметров.)
Итак, в C17 новых функций не будет.
Cppreference (История C) говорит:
Будущее развитие
C17 Следующая стандартная версия второго стандартного языка C будет включать все принятые отчеты о дефектах C11, но нет новых функций.