But in fact no modern processor/OS executes this either. Pages are marked as executable or not, and static data is loaded as non-executable pages.

that is why it was not "static const char buf[]" ;) it was not an accident

executable stacks are still common (incl on windows with some settings), and sometimes they are required (eg for gcc nested functions)

That won't be located on the stack either. The underlying buffer will be a TU local - ie static and not rx

Good grief, what a useless argument. Isn't it obvious that this could trivially be converted to a non-static array if that's really what was needed?

If you are going to be pedantic, at least be fully pedantic.