mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-02 07:11:49 +00:00
Add a bunch of missing "template" keywords to disambiguate dependent template names. GCC eats this ill-formed code, Clang does not. I already filed PR5404 to improve recovery in this case
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86204 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
ef1fad533e
commit
6a66b38846
@ -186,8 +186,9 @@ namespace llvm {
|
||||
int is() const {
|
||||
// Is it PT1/PT2?
|
||||
if (::llvm::getPointerUnionTypeNum<PT1, PT2>((T*)0) != -1)
|
||||
return Val.is<InnerUnion>() && Val.get<InnerUnion>().is<T>();
|
||||
return Val.is<T>();
|
||||
return Val.template is<InnerUnion>() &&
|
||||
Val.template get<InnerUnion>().template is<T>();
|
||||
return Val.template is<T>();
|
||||
}
|
||||
|
||||
/// get<T>() - Return the value of the specified pointer type. If the
|
||||
@ -197,9 +198,9 @@ namespace llvm {
|
||||
assert(is<T>() && "Invalid accessor called");
|
||||
// Is it PT1/PT2?
|
||||
if (::llvm::getPointerUnionTypeNum<PT1, PT2>((T*)0) != -1)
|
||||
return Val.get<InnerUnion>().get<T>();
|
||||
return Val.template get<InnerUnion>().template get<T>();
|
||||
|
||||
return Val.get<T>();
|
||||
return Val.template get<T>();
|
||||
}
|
||||
|
||||
/// dyn_cast<T>() - If the current value is of the specified pointer type,
|
||||
@ -291,8 +292,10 @@ namespace llvm {
|
||||
int is() const {
|
||||
// Is it PT1/PT2?
|
||||
if (::llvm::getPointerUnionTypeNum<PT1, PT2>((T*)0) != -1)
|
||||
return Val.is<InnerUnion1>() && Val.get<InnerUnion1>().is<T>();
|
||||
return Val.is<InnerUnion2>() && Val.get<InnerUnion2>().is<T>();
|
||||
return Val.template is<InnerUnion1>() &&
|
||||
Val.template get<InnerUnion1>().template is<T>();
|
||||
return Val.template is<InnerUnion2>() &&
|
||||
Val.template get<InnerUnion2>().template is<T>();
|
||||
}
|
||||
|
||||
/// get<T>() - Return the value of the specified pointer type. If the
|
||||
@ -302,9 +305,9 @@ namespace llvm {
|
||||
assert(is<T>() && "Invalid accessor called");
|
||||
// Is it PT1/PT2?
|
||||
if (::llvm::getPointerUnionTypeNum<PT1, PT2>((T*)0) != -1)
|
||||
return Val.get<InnerUnion1>().get<T>();
|
||||
return Val.template get<InnerUnion1>().template get<T>();
|
||||
|
||||
return Val.get<InnerUnion2>().get<T>();
|
||||
return Val.template get<InnerUnion2>().template get<T>();
|
||||
}
|
||||
|
||||
/// dyn_cast<T>() - If the current value is of the specified pointer type,
|
||||
|
Loading…
Reference in New Issue
Block a user