Improve on an objc_bridge_related diagnostic.
// rdar://15499111


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196950 91177308-0d34-0410-b5e6-96231b3b80d8
Add a triple to this IRgen test to unbreak the ARM bots.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196953 91177308-0d34-0410-b5e6-96231b3b80d8
Enhance attribute machinery to include ObjCProtocols as "subjects" in attribute declarations.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196954 91177308-0d34-0410-b5e6-96231b3b80d8
Rename attribute 'objc_suppress_protocol_methods' to 'objc_protocol_requires_explicit_implementation'.

That's a mouthful, and not necessarily the final name.  This also
reflects a semantic change where this attribute is now on the
protocol itself instead of a class.  This attribute will require
that a protocol, when adopted by a class, is explicitly implemented
by the class itself (instead of walking the super class chain).

Note that this attribute is not "done".  This should be considered
a WIP.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196955 91177308-0d34-0410-b5e6-96231b3b80d8