[llvm-branch-commits] [llvm] 2d8cc54 - [Hexagon] Workaround for compilation error with VS2017
Krzysztof Parzyszek via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Dec 11 13:16:06 PST 2020
Author: Krzysztof Parzyszek
Date: 2020-12-11T15:11:44-06:00
New Revision: 2d8cc5479b9e9eb96a0e7f70f473c03b82f4084c
URL: https://github.com/llvm/llvm-project/commit/2d8cc5479b9e9eb96a0e7f70f473c03b82f4084c
DIFF: https://github.com/llvm/llvm-project/commit/2d8cc5479b9e9eb96a0e7f70f473c03b82f4084c.diff
LOG: [Hexagon] Workaround for compilation error with VS2017
Added:
Modified:
llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp b/llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
index 7791fb9a1a74..cee620e03b00 100644
--- a/llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
@@ -292,8 +292,16 @@ template <> StoreInst *isCandidate<StoreInst>(Instruction *In) {
return getIfUnordered(dyn_cast<StoreInst>(In));
}
+#if !defined(_MSC_VER) || _MSC_VER >= 1920
+// VS2017 has trouble compiling this:
+// error C2976: 'std::map': too few template arguments
template <typename Pred, typename... Ts>
-void erase_if(std::map<Ts...> &map, Pred p) {
+void erase_if(std::map<Ts...> &map, Pred p)
+#else
+template <typename Pred, typename T, typename U>
+void erase_if(std::map<T, U> &map, Pred p)
+#endif
+{
for (auto i = map.begin(), e = map.end(); i != e;) {
if (p(*i))
i = map.erase(i);
More information about the llvm-branch-commits
mailing list