The readability-else-after-return check was not warning about an else after a call to the function that will not return. In particular, marker with a noreturn attribute, be it either C++11 [[noreturn]], or the __attribute__((noreturn)).
This differential adds support to diagnose normal function calls, and calls to member functions; but not constructors, destructors and special member functions.
A follow-up for D40505.
You've spotted the downside to this clever construct -- it is hard to make the wording not terrible here. :-)
I think the diagnostic should read do no use 'else' after a call to a function that does not return. This is trickier because the current %0 is always quoted.