This patch is in response to https://reviews.llvm.org/D35043 which removed -reverse-iterate flag.
This patch does 3 things:
- Get rid of the unit test objc-modern-metadata-visibility2.mm because this test check uses flag -reverse-iterate. This flag will be removed in D35043.
- D35043 gets rid of the empty base definition for PointerLikeTypeTraits. This results in a compiler warning because PointerLikeTypeTrait has been defined as struct here while in the header it is a class. So I have changed struct to class.
- Since I changed struct PointerLikeTypeTrait to class PointerLikeTypeTrait here, the member functions are no longer public now. This results in a compiler error. So I explicitly marked them as public here.