Beebe@SCIENCE.UTAH.EDU ("Nelson H.F. Beebe") (10/05/88)
Machine: Sun 3/110 OS 4.0 (~4.2BSD Unix) GCC version 1.27 A peculiar warning message is being issued by gcc; the number in question is 0.0. The code came from file lib.c in the new AT&T awk release, and I've hacked it down into something that reproduces the behavior. If the large structure initialization for fldtab[] is commented out, or reduced in size the message disappears; however, that structure is unused in the reduced code. 305 plot79>gcc -c foo3.i gcc -c foo3.i foo2.c:123: warning: floating point number exceeds range of `double' 306 plot79>gcc -v gcc version 1.27 The line in question is the one "setfval(fnrloc, 0.0);" Here is foo3.i: typedef double Awkfloat; typedef unsigned char uchar; typedef struct Cell { uchar ctype; uchar csub; uchar *nval; uchar *sval; Awkfloat fval; unsigned tval; struct Cell *cnext; } Cell; Awkfloat setfval(), getfval(); uchar recdata[(3 * 1024) ]; extern Cell *fnrloc; /* FNR */ Cell fldtab[ ] = { {1, 1, (uchar *) "$0", recdata, 0.0, 0200 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, {1, 1, 0, (uchar *) "", 0.0, 0100 | 02 | 04}, }; getrec(buf) uchar *buf; { setfval(fnrloc, 0.0); return 0; } -------