Implement most of N3638 (return type deduction for normal functions).
Missing (somewhat ironically) is support for the new deduction rules
in lambda functions, plus PCH support for return type patching.


git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@181108 91177308-0d34-0410-b5e6-96231b3b80d8
More colours for C++ status page, and mark relaxed constexpr as partially complete.


git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@181109 91177308-0d34-0410-b5e6-96231b3b80d8
Tweaks to C++ status: add a link to Faisal's generic lambdas implementation,
and mark "clarifying memory allocation" as done, since it turns out that our
optimizations here (such as they are) already conform to the new rules.


git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@181110 91177308-0d34-0410-b5e6-96231b3b80d8
AArch64: teach Clang about __clear_cache intrinsic

libgcc provides a __clear_cache intrinsic on AArch64, much like it
does on 32-bit ARM.

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