gcc will warn on void g(int); void f(int a, int b) { if (a) if (b) g(1); else g(2); g(3); } but clang doesn't.
Created attachment 7765 [details] possible patch Based on http://drdobbs.com/blogs/cpp/231602010 I didn't evaluate the usefulness of this warning yet.
Created attachment 7766 [details] with actual test
Sent out for review: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20111219/050474.html
r147202