зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1310067 - VS2017 doesn't require JS_DEPENDENT_TEMPLATE_HINT workaround. r=jonco
MozReview-Commit-ID: DuDDyP6tpc8
This commit is contained in:
Родитель
defb095265
Коммит
48a2c42b58
|
@ -164,12 +164,12 @@ template <> struct MapTypeToRootKind<JSFunction*> : public MapTypeToRootKind<JSO
|
||||||
// type designated by |traceKind| as the functor's template argument. The
|
// type designated by |traceKind| as the functor's template argument. The
|
||||||
// |thing| parameter is optional; without it, we simply pass through |... args|.
|
// |thing| parameter is optional; without it, we simply pass through |... args|.
|
||||||
|
|
||||||
// GCC and Clang require an explicit template declaration in front of the
|
// VS2017+, GCC and Clang require an explicit template declaration in front of
|
||||||
// specialization of operator() because it is a dependent template. MSVC, on
|
// the specialization of operator() because it is a dependent template. VS2015,
|
||||||
// the other hand, gets very confused if we have a |template| token there.
|
// on the other hand, gets very confused if we have a |template| token there.
|
||||||
// The clang-cl front end defines _MSC_VER, but still requires the explicit
|
// The clang-cl front end defines _MSC_VER, but still requires the explicit
|
||||||
// template declaration, so we must test for __clang__ here as well.
|
// template declaration, so we must test for __clang__ here as well.
|
||||||
#if defined(_MSC_VER) && !defined(__clang__)
|
#if (defined(_MSC_VER) && _MSC_VER < 1910) && !defined(__clang__)
|
||||||
# define JS_DEPENDENT_TEMPLATE_HINT
|
# define JS_DEPENDENT_TEMPLATE_HINT
|
||||||
#else
|
#else
|
||||||
# define JS_DEPENDENT_TEMPLATE_HINT template
|
# define JS_DEPENDENT_TEMPLATE_HINT template
|
||||||
|
|
Загрузка…
Ссылка в новой задаче