Я получаю следующую синтаксическую ошибку:
../stat-time.h:58:[kernel] user error: Cannot find field st_atim
Это в gnu stat-time.h Пола Эггерта. Вот фрагмент, вызывающий ошибку:
#define STAT_TIMESPEC(st, st_xtim) ((st)->st_xtim)
long int get_stat_atime_ns(struct stat const *st) {
...
// 58:
return STAT_TIMESPEC(st, st_atim).tv_nsec;
...
}
Я попытался сначала предварительно обработать файл, а затем запустить frama-c для предварительно обработанного файла, но это не помогло. Frama-c по-прежнему сообщал о той же ошибке в том же месте, даже несмотря на то, что файл был правильно предварительно обработан и макрос был правильно развернут! Я вызвал gcc для предварительной обработки следующим образом:
gcc -E -C -I. -dD -nostdinc -D__FC_MACHDEP_X86_32 -I/usr/local/share/frama-c/libc
Любые идеи?