Matthew Woehlke wrote:
Eric Blake wrote:
According to Matthew Woehlke on 2/28/2007 5:46 PM:
Sigh. Now you're picking up coreutils' problem, trying to use 'unsigned
long long' on a platform (Tandem NSK/OSS) that "doesn't" have such a
thing, just because 'long long' exists. 16 errors trying to build printf.c.

That's because printf.c is part of gnulib, and both coreutils and m4 use
the same source file.  Whatever you do to fix it for one package will fix
it for the other; and as Bruno suggested, if compiling with CFLAGS=-O
fixes it (by detecting the brokenness of your compiler's long long), then
it probably is not worth much further effort in gnulib to work around it.

Well... aside from the fact that I forgot that [snip]

...it also seems to break tempname.c:

source='tempname.c' object='tempname.o' libtool=no \
        DEPDIR=.deps depmode=none /bin/sh ../depcomp \
        cc  -I.     -O -c tempname.c
          int64_t st_reserved[3];
          ^
"///usr/include/sys/stat.h", line 70: error(114): identifier "int64_t"
          is undefined


  struct  stat {
          ^
"///usr/include/sys/stat.h", line 48: warning(664): padding is required
          at the end of this struct for correct layout


    len = strlen (tmpl);
          ^
"/home/tandem_oss/floss/src/m4-1.4.8b/lib/tempname.c", line 228:
          warning(1506): implicit conversion from "unsigned int" to
          "int": rounding, sign extension, or loss of accuracy may
          result


          if (__lxstat64 (_STAT_VER, tmpl, &st) < 0)
              ^
"/home/tandem_oss/floss/src/m4-1.4.8b/lib/tempname.c", line 286:
          warning(304): function "lstat" declared implicitly


1 error detected in the compilation of "tempname.c".
c89: /usr/lib/cfe exited, returning 2.
make[2]: *** [tempname.o] Error 1


No, wait. It breaks the system headers (which, if memory serves, I predicted would happen). So pretending long long does not exist is not an option.

--
Matthew
Ngx iqct zgg dxei zodt gf ngxk iqfrl.



Reply via email to