Clang incorrectly reports empty unions as having a unique object representation. However, this is not correct since sizeof(EmptyUnion) == 1 AKA it has 8 bits of padding. Therefore it should be treated the same as an empty struct and report false.
@erichkeane also suggested this fix should be merged into the 6.0 release branch, so the initial release of __has_unique_object_representations is as bug-free as possible.