Revert "Move clang feature flags settings out of LLVM core and into cfe"

Prospectively revert to get one of the many build configurations back working
(presumably the side-by-side+modular CMake config).

This reverts commit r212997.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213008 91177308-0d34-0410-b5e6-96231b3b80d8
AST: Cleanup __uuidof related code

Switch some things to use range-based for loops.
Change CXXUuidofExpr::GetUuidAttrOfType's return type to be const.
No functionality changed.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213009 91177308-0d34-0410-b5e6-96231b3b80d8
Define ENABLE_CLANG_ARCMT in the legacy build system too

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


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213013 91177308-0d34-0410-b5e6-96231b3b80d8
Revert "Revert "Move clang feature flags settings out of LLVM core and into cfe""

It turns out this commit was fine. The problem was in the legacy build system (fixed r213010).

This reverts commit r213008.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213014 91177308-0d34-0410-b5e6-96231b3b80d8
AST: Fix __uuidof for template specializations

While we previously supported __uuidof applied to a template
specialization, we would only find the uuid attribute if it was applied
to the template argument.  We would erroneously ignore the uuid
attribute on the specialization itself.

This is required to parse Windows Runtime C++ Template Library headers.

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