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

  • Home
  • SEARCH
  • 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 9257745
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 18, 20262026-06-18T12:12:32+00:00 2026-06-18T12:12:32+00:00

When I ask to see the current version of cc I get this. $

  • 0

When I ask to see the current version of cc I get this.

$ cc --version
cc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ 

What I would like to know is which of c89, c90, c99 or c11 is being used.

  • 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-06-18T12:12:33+00:00Added an answer on June 18, 2026 at 12:12 pm

    This is explained in depth in the gcc manual, available (if it’s installed) by typing info gcc or online here. The relevant section of the current
    manual is here, but it may or may not correspond to the version you’re using.

    Some of this information has changed since I posted this answer in 2013, and will continue to change. If you’re reading this around 2023, the current version is probably -std=gnu17 (C17 with GNU-specific extensions; C17 is a minor update to C11). You should check the documentation for the version you’re using. The C23 standard has not yet been released, but should be out Real Soon Now. I can’t predict when gcc will switch to -std=gnu23 as its default. If you’re reading this in the distant future, let us know how things turned out.

    gcc releases from 3.0 to 4.9.4 default to -std=gnu89 or -std=gnu90.
    gcc releases from 5.5 to 10.4 default to -std=gnu11 (they skipped -std=gnu99, though you can still specify it).
    gcc releases 11.3 and 12.2 default to std=gnu17.


    By default, gcc does not conform to any of the ANSI/ISO C standards. The current default is equivalent to -std=gnu17, which is the 2017 standard with GNU-specific extensions. (Some diagnostics required by the language standard are not issued.) Earlier releases of gcc have defaulted to -std=gnu90 or -std=gnu11.

    If you want standard conformance, you can use any of the following:

    -std=c90 -pedantic
    -std=c99 -pedantic
    -std=c11 -pedantic
    -std=c17 -pedantic
    

    -std=c90 can also be spelled -ansi, -std=c89, or -std=iso9899:1990.

    -std=iso9899:199409 supports the C90 standard plus the 1995 amendment, which added a few minor features (all of which are also in C99).

    -std=c99 can also be spelled -std=c9x or -std=iso9899:1999 (the name c9x was used before the standard was published). C99 support is not quite complete, but it’s close.

    -std=c11 can also be spelled -std=c0x or -std=iso9899:2011 (the name c0x was used before the final standard was published; it was wrongly assumed that x would not exceed 9). C11 support is also incomplete; the current status is summarized here.

    The -pedantic option causes gcc to print required diagnostics for violations of constraints and syntax rules. In some cases, those diagnostics are merely warnings — and there’s no easy way to distinguish between those warnings and other warnings that aren’t required by the language. Replace -pedantic by -pedantic-errors to cause gcc to treat language violations as fatal errors.

    A quick history of the standard:

    • C89 was the first official C standard, published by ANSI in 1989.
    • C90 was the ISO version of the standard, describing exactly the same language as C89. ANSI officially adopted ISO’s version of the standard. There were two Technical Corrigenda, correcting some errors.
    • C95 was an amendment to C90, adding a few features, mainly digraphs and wide character support. As far as I know, a merged version was never published.
    • C99 was issued by ISO in 1999. There were three Technical Corrigenda.
    • C11 was issued by ISO in 2011. There has been one Technical Corrigendum, fixing the definitions of __STDC_VERSION__ and __STDC_LIB_EXT1__.
    • C17 was issued by ISO in 2017, and was only a minor update to C11.
    • C23 will be issued in 2023. (As I write this, it’s close to being finalized, but the document is still being edited.)

    ANSI did not issue its own versions of the 1999 or later standards, adopting the ISO standards instead.

    N1256 is a freely available draft of the C99 standard, with the 3 Technical Corrigenda merged into it.

    N1570 is a freely available draft of the C11 standard. There are some minor differences between it and the published C11 standard, plus one Technical Corrigendum. For more details, see my answer to this question.

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

Sidebar

Related Questions

I'm not sure how to ask this, so, feel free to ask for more
see also Why do I get InvalidCastException from OperationContext.Current.GetCallbackChannel<>() I wish to pass my
I have a weird problem, so I thought I would ask and see if
I would like to ask if there is a way to see a variable
I ask this not to start anything negative. Rather, after looking at ASP.NET MVC
I ask this academically, I want to ask aloud a very important question and
I ask this question because I'm not able to test it at the moment.
I ask this because I am currently trying to work out my own technique,
I'm looking for my own personal use to see if I can get the
For example, I ask this question and click Post your question and stay in

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.