<div dir="ltr"><div>Eric,</div><div><br></div><div>sizeof(double) seems to be 8 bytes.  The 8192 * No of Secs per week overflows this.<br></div><div><br></div><div>More info below:<br></div><div>root@ntpmon:/tmp# gcc -v<br>Using built-in specs.<br>COLLECT_GCC=gcc<br>COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/8/lto-wrapper<br>Target: i686-linux-gnu<br>Configured with: ../src/configure -v --with-pkgversion='Debian 8.3.0-19' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=i686-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --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-targets=all --enable-multiarch --disable-werror --with-arch-32=i686 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu --with-build-config=bootstrap-lto --enable-link-mutex<br>Thread model: posix<br>gcc version 8.3.0 (Debian 8.3.0-19) <br></div><div><br></div><div><br></div><div>root@ntpmon:/tmp# cat aa.c <br>    #include <stdio.h><br>    int main()<br>    {<br>        int integerType;<br>        float floatType;<br>        double doubleType;<br>        char charType;<br>        // Sizeof operator is used to evaluate the size of a variable<br>        printf("Size of int: %ld bytes\n",sizeof(integerType));<br>        printf("Size of float: %ld bytes\n",sizeof(floatType));<br>        printf("Size of double: %ld bytes\n",sizeof(doubleType));<br>        printf("Size of char: %ld byte\n",sizeof(charType));<br>        return 0;<br>    }<br></div><div><br></div><div>root@ntpmon:/tmp# gcc aa.c <br></div><div><br></div><div>root@ntpmon:/tmp# ./a.out<br>Size of int: 4 bytes<br>Size of float: 4 bytes<br>Size of double: 8 bytes<br>Size of char: 1 byte<br></div><div><br></div><div>root@ntpmon:/tmp# uname -a<br>Linux ntpmon 4.19.0-5-686-pae #1 SMP Debian 4.19.37-3 (2019-05-15) i686 GNU/Linux<br></div><div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">-- <br>Sanjeev Gupta<br>+65 98551208     <a href="http://www.linkedin.com/in/ghane" target="_blank">http://www.linkedin.com/in/ghane</a></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Aug 17, 2019 at 3:01 AM Eric S. Raymond <<a href="mailto:esr@thyrsus.com">esr@thyrsus.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Sanjeev Gupta <<a href="mailto:ghane0@gmail.com" target="_blank">ghane0@gmail.com</a>>:<br>
> Eric,<br>
> <br>
> On a 32-bit debian:<br>
> <br>
> [ 73/101] Compiling ntpd/ntp_io.c<br>
> ../../ntpd/ntp_scanner.c: In function ‘yylex’:<br>
> ../../ntpd/ntp_scanner.c:40:30: warning: integer overflow in expression of<br>
> type ‘long int’ results in ‘659554304’ [-Woverflow]<br>
>  #define GPS_ERA_13BIT (8192L * SECONDS_IN_WEEK)<br>
>                               ^<br>
> ../../ntpd/ntp_scanner.c:940:20: note: in expansion of macro ‘GPS_ERA_13BIT’<br>
>       era_offset += GPS_ERA_13BIT;<br>
<br>
That is rather odd.  The L suffix on one of the multiplicands shhould have<br>
clued in the compiler that the expression has type long.<br>
<br>
What is sizeof(double) in that environment?<br>
<br>
Attempt at a fix pushed. Let me know if it continues to complain.<br>
-- <br>
                <a href="<a href="http://www.catb.org/~esr/" rel="noreferrer" target="_blank">http://www.catb.org/~esr/</a>">Eric S. Raymond</a><br>
<br>
<br>
</blockquote></div>