Here is how I parse it:
For a call to a non-member function or to a static member function, the postfix expression shall either be:- anlvalue that refers to a function (in which case the function-to-pointer standard conversion is suppressed on the postfix expression), or- [a prvalue and] have function pointer type.
I read it as just needing function pointer type. All of the big 4
compilers agree that it need not be a prvalue; for instance, it
could be an xvalue: https://godbolt.org/z/Il8sH3 .
-- Jason Cobb