I am having PRId64 warnings while building MinGW64 GCC under MSys2 for MinGW 64 bit. I just wish to verify my test code is correct in order to start determining the cause of the many warnings.
Code:
#include <stdio.h>
#include <stdlib.h>
#include <inttypes.h>
#define MAX_OUTPUT 24
int main()
{
char test_output[MAX_OUTPUT+1];
int64_t test_signed_64_bit=0;
#ifdef __USE_MINGW_ANSI_STDIO
printf("__USE_MINGW_ANSI_STDIO is as %d\n", __USE_MINGW_ANSI_STDIO);
#else
printf("%s\n", "__USE_MINGW_ANSI_STDIO is not defined");
#endif
printf("PRId64 is %s\n", PRId64);
sscanf("1234567891011121314", "%" PRId64, &test_signed_64_bit);
snprintf(test_output, MAX_OUTPUT, "%" PRId64, test_signed_64_bit);
printf("%s\n", test_output);
return 0;
}
build log
Code:
x86_64-w64-mingw32-gcc.exe -pedantic -Wextra -Wall -std=c99 -Wno-pedantic-ms-format -c C:\Users\stahta01\devel\test\test_format\main.c -o obj\no_USE_MINGW_ANSI_STDIO\main.o
x86_64-w64-mingw32-gcc.exe -o bin\no_USE_MINGW_ANSI_STDIO\test_format.exe obj\no_USE_MINGW_ANSI_STDIO\main.o
output
Code:
__USE_MINGW_ANSI_STDIO is as 1
PRId64 is lld
1234567891011121314
I was slightly surprised that __USE_MINGW_ANSI_STDIO is defined as 1 by default.
Tim S.