Optimize declval for compile times. Patch from Eric Niebler.
Optimize declval for compile times. Patch from Eric Niebler.

This patch implements the C++11 version of declval without requiring a template
instantiation.

See PR27798 for more information. https://llvm.org/bugs/show_bug.cgi?id=27798


git-svn-id: 756ef344af921d95d562d9e9f9389127a89a6314@269991 91177308-0d34-0410-b5e6-96231b3b80d8

llvm-mirror/libcxx,llvm-mirror/libcxx,llvm-mirror/libcxx,llvm-mirror/libcxx,llvm-mirror/libcxx