aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/Support/TrailingObjects.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/Support/TrailingObjects.h')
-rw-r--r--include/llvm/Support/TrailingObjects.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/llvm/Support/TrailingObjects.h b/include/llvm/Support/TrailingObjects.h
index 4d355724149c..cb5a52b0d861 100644
--- a/include/llvm/Support/TrailingObjects.h
+++ b/include/llvm/Support/TrailingObjects.h
@@ -294,7 +294,14 @@ class TrailingObjects : private trailing_objects_internal::TrailingObjectsImpl<
public:
// Make this (privately inherited) member public.
+#ifndef _MSC_VER
using ParentType::OverloadToken;
+#else
+ // MSVC bug prevents the above from working, at least up through CL
+ // 19.10.24629.
+ template <typename T>
+ using OverloadToken = typename ParentType::template OverloadToken<T>;
+#endif
/// Returns a pointer to the trailing object array of the given type
/// (which must be one of those specified in the class template). The