Enabling the subject list for the warn_unused attribute, and adding a test case. Previously, would issue a "warning ignored" diagnostic instead of the more specific "only applies to."

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195851 91177308-0d34-0410-b5e6-96231b3b80d8
Adding the Subjects entry back for the noreturn attributes. This caused some test cases to be updated because the original diagnostic was about applying to methods as well as functions, but the semantic checking disallowed methods.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195862 91177308-0d34-0410-b5e6-96231b3b80d8
Automated checking for C++ when determining what argument to send to the diagnostic for attribute subjects. In turn, this allows the Subjects to be enabled for some more attributes and improves diagnostics. Updated a test case based on the improved diagnostic.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195864 91177308-0d34-0410-b5e6-96231b3b80d8
Converts the lockable attributes to use the simple attribute handler because the semantic checking was already automated.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195866 91177308-0d34-0410-b5e6-96231b3b80d8
Bring back a StringRef used in some build configurations

This was removed in the great unused local cleanup of r195814.

Adding cast-to-void to suppress unused variable warnings.

Should fix certain builds like ARCMT.

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