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