Change hasName() to take const std::string&, as it was taking before rL219792.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@219849 91177308-0d34-0410-b5e6-96231b3b80d8
test: simplify test further

Remove the use of an unnecessary function.  NFC.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@219850 91177308-0d34-0410-b5e6-96231b3b80d8
Sema: handle AttributedTypeLocs in C++14 auto deduction

When performing a type deduction from the return type, the FunctionDecl may be
attributed with a calling convention.  In such a case, the retrieved type
location may be an AttributedTypeLoc.  Performing a castAs<FunctionProtoTypeLoc>
on such a type loc would result in an assertion as they are not derived types.

Ensure that we correctly handle the attributed type location by looking through
it to the modified type loc.

Fixes an assertion triggered in C++14 mode.

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