__STDC_VERSION__ still not defined in 6.2?

I thought the STDC_VERSION definition would be fixed by 6.2, but apparently not?

[chulbert@hulbert64 ~]$ cat test.c
#include <stdlib.h>
#include <stdio.h>

int main(void)

[chulbert@hulbert64 ~]$ pgcc -c9x -v test.c

/opt/pgi/linux86-64/6.2/bin/pgc test.c -opt 1 -x 119 0xa10000 -x 122 0x40 -x 123 0x1000 -x 127 4 -x 127 16 -x 19 0x400000 -x 28 0x40000 -quad -x 120 0x80000000 -x 59 4 -x 59 4 -y 80 0x1000 -x 80 0x10800000 -astype 0 -stdinc /opt/pgi/linux86-64/6.2/include:/usr/local/include:/usr/lib/gcc/x86_64-redhat-linux/4.1.1/include:/usr/lib/gcc/x86_64-redhat-linux/4.1.1//include:/usr/include -def unix -def __unix -def unix -def linux -def __linux -def linux -def __NO_MATH_INLINES -def x86_64 -def LONG_MAX=9223372036854775807L -def ‘SIZE_TYPE=unsigned long int’ -def ‘PTRDIFF_TYPE=long int’ -def __THROW= -def extension= -def amd64 -def SSE -def MMX -def SSE2 -def SSE3 -predicate ‘#machine(x86_64) #lint(off) #system(posix) #cpu(x86_64)’ -cmdline ‘+pgcc test.c -c9x -c99 -v’ -x 123 4 -x 123 0x80000000 -alwaysinline /opt/pgi/linux86-64/6.2/lib/libintrinsics.il 4 -asm /tmp/pgccKeRSSUA_4fB.s
PGC-I-0222-Redundant definition for symbol __THROW (/usr/include/sys/cdefs.h: 63)
PGC-I-0222-Redundant definition for symbol extension (/usr/include/sys/cdefs.h: 287)
PGC-S-0039-Use of undeclared variable STDC_VERSION (test.c: 6)
PGC/x86-64 Linux/x86-64 6.2-2: compilation completed with severe errors
pgcc-Fatal-ccompile completed with exit code 1

Unlinking /tmp/pgccKeRSSUA_4fB.s

[chulbert@hulbert64 ~]$ pgcc -V

pgcc 6.2-2 64-bit target on x86-64 Linux
Copyright 1989-2000, The Portland Group, Inc. All Rights Reserved.
Copyright 2000-2006, STMicroelectronics, Inc. All Rights Reserved.

Hi Chris,

Hmmm… I thought our compiler engineers were going to fix this. Sorry about that. I’ll press them a bit and try and get this into the October build.


Will this make it in the first windows nt86 release of 6.2? Any idea when the windows release will be available?

Hi Chris,

I was able to get the full story. There are a few C99 features, such as designated initalizers, that we don’t yet support. Once these features have been added (currently scheduled for the 7.0 release) it will be safe to define “STDC_VERSION”. Currently, if we defined it, there is a chance we would break a user’s code. Our engineers decided to error on the side of caution.

Since we use Microsoft’s math libraries, C99 support will be limited with our Windows products. Hence, it may be a while longer before we can define “STDC_VERSION” on Windows.

We’re in the process of performing our final installation and QA testing so I expect 6.2 Windows to be released very soon.

  • Mat


PGI 6.2 Windows Workstation has been released and can be found on the PGI download page.

  • Mat

Now if only I could generate the license keys :)! I’ve emailed license@pgroup.com, but have not heard back yet. Looks like the link for the windows licenses are gone