Unions are never base classes, and never have base classes.
It doesn't matter if they are complete or not. See http://llvm.org/PR41843
Note: There are tabs in clang/test/SemaCXX/type-traits.cpp that I didn't remove because it would have cluttered up the diff.
I can de-tabify the file when it is committed if people want.
Yeah, this seems to match the library wording. (I think it's short-sighted and over-fitting -- this is baking into the library specification that the language happens to not allow unions to have base classes today -- but this isn't the venue for that discussion.)