#define TYPE_CHECK(T, S) \
while (false) { \
*(static_cast<T* volatile*>(0)) = static_cast<S*>(0); \
}
I am reading Google v8's code and found the above macro for type check.
However, I do not understand why it works. while(false) never get executed, right? Can someone explain those lines? Thanks