You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
tzdump.c: In function 'dumptzdata':
tzdump.c:486:37: warning: format '%d' expects argument of type 'int', but argument 3 has type 'long int' [-Wformat=]
(void)printf("transit[%d]: time=%d (%s) type=%d\n",
~^
%ld
i, transit[i].time, ctimeGMT(transit[i].time),
~~~~~~~~~~~~~~~
tzdump.c:486:50: warning: format '%d' expects argument of type 'int', but argument 5 has type 'long int' [-Wformat=]
(void)printf("transit[%d]: time=%d (%s) type=%d\n",
~^
%ld
tzdump.c:488:5:
transit[i].type);
~~~~~~~~~~~~~~~
tzdump.c:503:9: warning: implicit declaration of function 'isprint' [-Wimplicit-function-declaration]
if ( isprint(chars[i]) )
^~~~~~~
tzdump.c:518:38: warning: format '%d' expects argument of type 'int', but argument 3 has type 'time_t {aka long int}' [-Wformat=]
(void)printf("leaps[%d]: transit=%d correct=%d\n",
~^
%ld
i, leaps[i].transit, leaps[i].correct);
~~~~~~~~~~~~~~~~
tzdump.c:518:49: warning: format '%d' expects argument of type 'int', but argument 4 has type 'long int' [-Wformat=]
(void)printf("leaps[%d]: transit=%d correct=%d\n",
~^
%ld
i, leaps[i].transit, leaps[i].correct);
~~~~~~~~~~~~~~~~
tzdump.c:626:30: warning: format '%d' expects argument of type 'int', but argument 2 has type 'time_t {aka long int}' [-Wformat=]
(void)printf("tt[0]: time=%d (%s) index=%d type=%d\n",
~^
%ld
tt[0].time, ctimeGMT(tt[0].time),
~~~~~~~~~~
tzdump.c:629:30: warning: format '%d' expects argument of type 'int', but argument 2 has type 'time_t {aka long int}' [-Wformat=]
(void)printf("tt[1]: time=%d (%s) index=%d type=%d\n",
~^
%ld
tt[1].time, ctimeGMT(tt[1].time),
~~~~~~~~~~
Note that time_t will correspond to different int sizes on different hosts.
When printing (or converting) an integer of unknown size, the portable solution is to cast the value to (intmax_t) or (uintmax_t), and use %jd or %ju in the format string.
(I would recommend using #include <stdint.h> both for this, and to convert most declaration types to standard types for explicit sizes, such as uint8_t & uint32_t.)
The gcc compiler issues the following warnings:
Version compiler:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.4.0-1ubuntu1_18.04.1' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)
The text was updated successfully, but these errors were encountered: