https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79058
--- Comment #21 from Arnd Bergmann <arnd at linaro dot org> --- // reduced version of 0xB0981CD0 file long a; struct { int su_flags; } * b; struct nilfs_segment_usage *e; void fn1(); enum { NILFS_SEGMENT_USAGE_ACTIVE, NILFS_SEGMENT_USAGE_DIRTY } fn2() { return b->su_flags & 1 << NILFS_SEGMENT_USAGE_DIRTY; } void fn3(long long p1) { fn1(); long c = p1; unsigned d = a; a = d + c; } void fn4() { void *f; int g; f = fn1; e = f; g = fn2(); fn3(g ? -1 : 0); }