This question is not bound to any specific compiler warning, the following is just an example.
Currently when I want a loop that checks an exit condition inside:
I'd go with for(;;) even without that warning. It's not stupid: it's a loop with no condition, which is exactly what you want to express.
That seems more logical to me than using a while loop and testing that true is still true each time round the loop (of course the compiler will optimize away this test, so it won't actually affect performance).