it fails here:

fflush.c(95): error: a value of type "__off_t={__int64_t={long long}}" cannot 
be assigned to an entity of type "fpos_t"
    fp_->_offset = pos;
                 ^
compilation aborted for fflush.c (code 2)
*** [fflush.o] Error code 2
1 error


A quick look at /usr/include/stdio.h shows where the problem is:

/*
 * This is fairly grotesque, but pure ANSI code must not inspect the
 * innards of an fpos_t anyway.  The library internally uses off_t, 
 * which we assume is exactly as big as eight chars.
 */
#if (!defined(_ANSI_SOURCE) && !defined(__STRICT_ANSI__)) || defined(_LIBC)
typedef __off_t fpos_t;
#else
typedef struct __sfpos {
    __off_t _pos;
} fpos_t;
#endif

I think the comment is right and m4 shouldn't use C99 flag (or don't use 
_offset).

Thanks,
Alex


Reply via email to