forked from OSchip/llvm-project
r149474 went a bit too far when combined with type caching. If we want
a full type go ahead and emit it if we currently only have a forward declaration. Fixes gdb bots for gdb1090.exp and call-ar-st.exp. llvm-svn: 149560
This commit is contained in:
parent
6d65d7b63d
commit
c9e6924fb2
|
@ -1637,9 +1637,12 @@ llvm::DIType CGDebugInfo::getOrCreateType(QualType Ty, llvm::DIFile Unit) {
|
|||
|
||||
// Unwrap the type as needed for debug information.
|
||||
Ty = UnwrapTypeForDebugInfo(Ty);
|
||||
|
||||
|
||||
// Check if we already have the type. If we've gotten here and
|
||||
// have a forward declaration of the type we may want the full type.
|
||||
// Go ahead and create it if that's the case.
|
||||
llvm::DIType T = getTypeOrNull(Ty);
|
||||
if (T.Verify()) return T;
|
||||
if (T.Verify() && !T.isForwardDecl()) return T;
|
||||
|
||||
// Otherwise create the type.
|
||||
llvm::DIType Res = CreateTypeNode(Ty, Unit);
|
||||
|
|
Loading…
Reference in New Issue