Some of my testing exposed a minor problem in GCC 9's validation of the type of function parameters referred to by attribute positional arguments. Whereas GCC 8 accepts all C integer types, including enumerated types, such as: enum AllocAlign { Align16 = 16, Align32 = 32 }; __attribute__ ((alloc_align (1))) void* alloc (size_t, enum AllocAlign) GCC 9 only accepts signed and unsigned integer types. This change (introduced by myself) was unintentional, and a fix for it is in the attached trivial patch. I plan to commit it without approval in the next day or so unless any concerns or suggestions come up. Tested on x86_64-linux. Martin