forked from OSchip/llvm-project
Handle QualifiedNameType and SubstTemplateTypeParmType types in CGDebugInfo::CreateTypeNode.
llvm-svn: 86274
This commit is contained in:
parent
ac5eba93ca
commit
8a6512961f
|
@ -879,6 +879,17 @@ llvm::DIType CGDebugInfo::CreateTypeNode(QualType Ty,
|
|||
return getOrCreateType(cast<TypeOfType>(Ty)->getUnderlyingType(), Unit);
|
||||
case Type::Decltype:
|
||||
return getOrCreateType(cast<DecltypeType>(Ty)->getUnderlyingType(), Unit);
|
||||
|
||||
case Type::QualifiedName: {
|
||||
const QualifiedNameType *T = cast<QualifiedNameType>(Ty);
|
||||
return CreateTypeNode(T->getNamedType(), Unit);
|
||||
}
|
||||
|
||||
case Type::SubstTemplateTypeParm: {
|
||||
const SubstTemplateTypeParmType *T = cast<SubstTemplateTypeParmType>(Ty);
|
||||
return CreateTypeNode(T->getReplacementType(), Unit);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
// RUN: clang-cc -emit-llvm-only -g
|
||||
template<typename T> struct Identity {
|
||||
typedef T Type;
|
||||
};
|
||||
|
||||
void f(Identity<int>::Type a) {}
|
Loading…
Reference in New Issue