News:

As usual while waiting for the next release - don't forget to check the nightly builds in the forum.

Main Menu

C 99

Started by ANIRBAN GHOSH, March 18, 2007, 08:15:36 AM

Previous topic - Next topic

ANIRBAN GHOSH

I have the latest build March 17. So what I have to do to get the support for C99 in my C programs?

Russell

Not entirely sure whether this will help or not, also presuming you use mingw/gcc

1) rename all files to a .c extension
2) use -pedantic
3) check http://gcc.gnu.org/c99status.html for anything that you use that might be broken.

AmR EiSa


ANIRBAN GHOSH

Cannot get u all. Rename files to .C??? Why a C file have an extension other than .C

Should I have to turn any option on in compiler setting? I am using mingw.

Biplab

My guess, Russel assumed that you'll be using a filename with .c99 extension or so. I'm not sure, but I guess so. If you are using any such extension, then rename them to .c

Quote from: ANIRBAN GHOSH on March 18, 2007, 03:53:36 PM
Should I have to turn any option on in compiler setting? I am using mingw.

Yes, again from Russel's post, -pedantic compiler options should be used.

Regards,

Biplab
Be a part of the solution, not a part of the problem.

ANIRBAN GHOSH

I have found in one book that following switches to be used...

-ansi Compiles programs that are standards compliant as well as
        the GNU extensions
-pedantic Issues warnings required by strict standards compliance
-std=c89 The ISO C89 standard
-std=C99 The ISO C99 standard
-std=gnu89 The ISO C89 standard with GNU extensions and someC99 features
-traditional Compiles with the original C syntax

But where should I set these switches in CODE BLOCKS?

thomas

Actually if you want C99, then -std=c99 would be the right option.

--pedantic does not necessarily use C99 (it accidentially does on my system, but not necessarily on all systems, and not at all times in the future). What --pedantic does is "reject all programs that use forbidden extensions, and some other programs that do not follow ISO C and ISO C++. For ISO C, follows the version of the ISO C standard specified by any -std option used.".

As a side note, please do note that gcc does not support C99 at all, only the corrected version from 2001 (it's still called C99, but not the same as "real" C99).

Also please be careful if you intend to:
Quote from: gcc documentationSome users try to use -pedantic to check programs for strict ISO C conformance. They soon find that it does not do quite what they want: it finds some non-ISO practices, but not all—only those for which ISO C requires a diagnostic, and some others for which diagnostics have been added.
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

ANIRBAN GHOSH

But where to implement the switches in CODE BLOCKS? I am using GCC 4.1.2..Does not it support C99?

TDragon

Quote from: ANIRBAN GHOSH on March 19, 2007, 01:01:28 PM
But where to implement the switches in CODE BLOCKS?
The "Other options" tab in the Compiler settings section of your project's Build options.
[url="https://jmeubank.github.io/tdm-gcc/"]https://jmeubank.github.io/tdm-gcc/[/url] - TDM-GCC compiler suite for Windows (GCC 9.2.0 2020-03-08, 32/64-bit, no extra DLLs)

thomas

"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

ANIRBAN GHOSH

THANK YOU VERY MUCH TO ALL OF YOU FOR THE GREAT SUPPORT