I agree that the first thing to do is nail down the syntax; details
about tree codes and such can come later. (Certainly, tcc_exceptional
seems like the better of the two alternatives you posted; what exactly
to do about too many tree codes is something I want to think about
later, and respond to in the context of Doug's thread, not in this one.)
I think it would be better to use *exactly* the Microsoft syntax. At
some point, someone is going to want Microsoft compatibility in this
respect, as they have in others. In practice, it's not likely that the
C++ committee, or even another compiler vendor, is going to claim
__is_class for some other purpose. They also meet Gaby's request for a
C-compatible syntax.