diff options
Diffstat (limited to 'lib/Linker/LinkModules.cpp')
-rw-r--r-- | lib/Linker/LinkModules.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Linker/LinkModules.cpp b/lib/Linker/LinkModules.cpp index 43721e6237..0d521c086e 100644 --- a/lib/Linker/LinkModules.cpp +++ b/lib/Linker/LinkModules.cpp @@ -93,6 +93,10 @@ static bool RecursiveResolveTypesI(const PATypeHolder &DestTy, // type. For example, we cannot resolve an int to a float. if (DestTyT->getTypeID() != SrcTyT->getTypeID()) return true; + // If neither type is abstract, then they really are just different types. + if (!DestTyT->isAbstract() && !SrcTyT->isAbstract()) + return true; + // Otherwise, resolve the used type used by this derived type... switch (DestTyT->getTypeID()) { default: |