Я знаю, что компиляторы используют __STDC__, чтобы указать, что компилятор является стандартным C, и оттуда вы можете использовать __STDC_VERSION__ для определения уровня используемого вами стандарта.
Я также знаю, что C90 не имел значения, C90 поправка 1 имела 199401L, а C99 имела 199901L.
В последнем проекте C1x я просто заявляю его как 201ymmL, и я предполагаю, что он был сделан менее "неопределенным" значением в окончательном стандарте.
Я предполагаю, что это будет 201112L, так как это было, когда C11 был ратифицирован, но я хотел бы быть уверенным.
Я думал, что могу попробовать использовать gcc -std=c1x, но версия gcc, которую я запускаю, пока не поддерживает.
Кто-нибудь знает, что такое фактическое значение?