Updated LLVM and LLDB to fix compilation errors
with recent Clang. Clang is now stricter about presence of complete types and about use of the "template" keyword in C++ for template-dependent types. llvm-svn: 153563
This commit is contained in:
parent
7317a5cbfc
commit
2f22999bab
|
@ -17,11 +17,7 @@
|
|||
#include "clang/AST/ASTImporter.h"
|
||||
#include "clang/Basic/FileManager.h"
|
||||
#include "clang/Basic/FileSystemOptions.h"
|
||||
#if defined(__GNUC__) && !defined(__clang__)
|
||||
// Gcc complains about ClangNamespaceDecl being an incomplete type
|
||||
// without this.
|
||||
#include "lldb/Symbol/ClangNamespaceDecl.h"
|
||||
#endif
|
||||
|
||||
namespace lldb_private {
|
||||
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
Index: lib/AST/ExprConstant.cpp
|
||||
===================================================================
|
||||
--- lib/AST/ExprConstant.cpp (revision 152265)
|
||||
+++ lib/AST/ExprConstant.cpp (working copy)
|
||||
@@ -4210,7 +4210,7 @@
|
||||
/// character of a string literal.
|
||||
template<typename LValue>
|
||||
static bool EvaluateBuiltinConstantPForLValue(const LValue &LV) {
|
||||
- const Expr *E = LV.getLValueBase().dyn_cast<const Expr*>();
|
||||
+ const Expr *E = LV.getLValueBase().template dyn_cast<const Expr*>();
|
||||
return E && isa<StringLiteral>(E) && LV.getLValueOffset().isZero();
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
Index: include/llvm/ADT/PointerUnion.h
|
||||
===================================================================
|
||||
--- include/llvm/ADT/PointerUnion.h (revision 152265)
|
||||
+++ include/llvm/ADT/PointerUnion.h (working copy)
|
||||
@@ -266,7 +266,7 @@
|
||||
::llvm::PointerUnionTypeSelector<PT1, T, IsInnerUnion,
|
||||
::llvm::PointerUnionTypeSelector<PT2, T, IsInnerUnion, IsPT3 >
|
||||
>::Return Ty;
|
||||
- return Ty(Val).is<T>();
|
||||
+ return Ty(Val).template is<T>();
|
||||
}
|
||||
|
||||
/// get<T>() - Return the value of the specified pointer type. If the
|
||||
@@ -279,7 +279,7 @@
|
||||
::llvm::PointerUnionTypeSelector<PT1, T, IsInnerUnion,
|
||||
::llvm::PointerUnionTypeSelector<PT2, T, IsInnerUnion, IsPT3 >
|
||||
>::Return Ty;
|
||||
- return Ty(Val).get<T>();
|
||||
+ return Ty(Val).template get<T>();
|
||||
}
|
||||
|
||||
/// dyn_cast<T>() - If the current value is of the specified pointer type,
|
||||
Index: include/llvm/ADT/IntervalMap.h
|
||||
===================================================================
|
||||
--- include/llvm/ADT/IntervalMap.h (revision 152265)
|
||||
+++ include/llvm/ADT/IntervalMap.h (working copy)
|
||||
@@ -1977,7 +1977,7 @@
|
||||
CurSize[Nodes] = CurSize[NewNode];
|
||||
Node[Nodes] = Node[NewNode];
|
||||
CurSize[NewNode] = 0;
|
||||
- Node[NewNode] = this->map->newNode<NodeT>();
|
||||
+ Node[NewNode] = this->map->template newNode<NodeT>();
|
||||
++Nodes;
|
||||
}
|
||||
|
Loading…
Reference in New Issue