PR26087: Use nonstandard MSVC extension for VS2015 as well.

In r256564, I had conditioned the workaround in has_getDecl to only be
used for MSVC before the 2015 release, believing that 2015 could handle
the standard code. But, that was incorrect.

llvm-svn: 257392
This commit is contained in:
James Y Knight 2016-01-11 22:00:22 +00:00
parent 4b6e021fad
commit ab77aee6fd
1 changed files with 4 additions and 4 deletions

View File

@ -560,10 +560,10 @@ bool matchesFirstInPointerRange(const MatcherT &Matcher, IteratorT Start,
// Metafunction to determine if type T has a member called
// getDecl.
#if defined(_MSC_VER) && (_MSC_VER < 1900) && !defined(__clang__)
// For old versions of MSVC, we use a weird nonstandard __if_exists
// statement, since before MSVC2015, it was not standards-conformant
// enough to compile the usual code below.
#if defined(_MSC_VER) && !defined(__clang__)
// For MSVC, we use a weird nonstandard __if_exists statement, as it
// is not standards-conformant enough to properly compile the standard
// code below. (At least up through MSVC 2015 require this workaround)
template <typename T> struct has_getDecl {
__if_exists(T::getDecl) {
enum { value = 1 };