(In reply to Jiri Slaby from comment #1) > Maybe it's __diagnose_as which is causing the recursion, defined in > include/linux/compiler_attributes.h as: > #if __has_attribute(__diagnose_as_builtin__) > # define __diagnose_as(builtin...) > __attribute__((__diagnose_as_builtin__(builtin))) > #else > # define __diagnose_as(builtin...) > #endif Or not, it's not supported by gcc, so it expands to nothing.