I think one of the two reasons given is perfectly valid: "It is
impossible to generate #pragma commands from a macro". Yes, the other
objections apply to __attribute__ just as much as to #pragma. But the
one about macros is a clear differentiator.
paul