No warning message for Integer crossing.

Hi,
C99 defines :
Long long int type values range from -(2^63-1) to 2^63-1.
When running the below testcase, PGCC executes successfully without any warning while gcc and intelc output warnings: integer constant is too large for its type. And clang report an error: integer literal is too large to be represented in any integer type. So i think it would be better for PGCC to ouput a warning message for the wrong action.

TestCase:
#include<stdint.h>
#include<stdio.h>
int main(void){
long long int NISLParameter1 = -28434685606287798005;
printf(“%lld\n”, NISLParameter1);
return 0;
}

Compiler Version:
pgcc 19.10-0 LLVM 64-bit target on x86-64 Linux -tp skylake

Output:
8458802541131305227

Expected output:
output a warning then run the testcase.

Hi sunrise,

This is a known issue that’s been corrected in our new C compiler, pgcc18.

% pgcc18 -V19.10 test.c
"test.c", line 4: error: integer constant is too large
  long long int NISLParameter1 = -28434685606287798005;
                                  ^

1 error detected in the compilation of "test.c".

Note that pgcc18 will become the default C compiler in our 20.1 release and the current default C compiler will be deprecated and renamed to pgcc11.

-Mat

Thanks, mat.
Pgcc18 does solve this problem and I will switch to the new compiler pgcc18 in the future.