Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7544455
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 30, 20262026-05-30T08:40:34+00:00 2026-05-30T08:40:34+00:00

I know that compilers use __STDC__ to indicate that a compiler is standard C

  • 0

I know that compilers use __STDC__ to indicate that a compiler is standard C and, from, there, you can use __STDC_VERSION__ to figure out which level of the standard you’re using.

I also know that C90 had no value, C90 amendment 1 had 199401L and C99 had 199901L.

The latest C1x draft I have simply states it as 201ymmL and I’m assuming it was made a less “vague” value in the final standard.

My guess is that it will be 201112L since that’s when C11 was ratified but I’d like to be certain.

I thought I could try using gcc -std=c1x but the version of gcc I’m running doesn’t support that yet.

Does anyone know what the actual value is?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-30T08:40:36+00:00Added an answer on May 30, 2026 at 8:40 am

    With -std=c11 in gcc, 201112L is used for __STDC_VERSION__

    See this gcc patch on December 20, 2011 on gcc ml:

    https://www.mail-archive.com/gcc-patches@gcc.gnu.org/msg23572.html

    And note that apparently the ISO version of C11 forgot to update the 201ymmL from the Draft.

    The intended final __STDC_VERSION__ value, 201112L, is also implemented (the editor forgot to update the 201ymmL placeholders before sending the document for publication by ISO).

    See also DR #411, which makes it official that the intended value is 201112l. The editor has said that “The committee is trying to get it approved as a TC as soon as possible.”. (TC = “Technical Corrigendum”)

    EDIT (July 16, 2012): Technical Corrigendum 1 (ISO/IEC 9899:2011/Cor 1:2012) released on July 15, 2012 fixes the __STDC_VERSION__ to 201112L.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Is there a #define compiler (nvcc) macro of CUDA which I can use? (Like
Is there any way to indicate to the compiler that you know the value
I know that the #warning directive is not standard C /C++, but several compilers
Are there any general rules I can use for evaluating whether a modern compiler
Do you know of any compilers that only requires one or two clicks on
I know that the compiler will sometimes initialize memory with certain patterns such as
Anyone know this compiler feature? It seems GCC support that. How does it work?
Possible Duplicate: Inadvertent use of = instead of == C++ compilers let you know
I recently discovered at work that it is the policy not to use compiler
As I know that in C we could use the keyword register to suggest

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.