aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/VMCore/Type.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/VMCore/Type.cpp b/lib/VMCore/Type.cpp
index 4d838e2151..be5c66698b 100644
--- a/lib/VMCore/Type.cpp
+++ b/lib/VMCore/Type.cpp
@@ -372,6 +372,7 @@ PointerType::PointerType(const Type *E) : SequentialType(PointerTyID, E) {
}
OpaqueType::OpaqueType() : DerivedType(OpaqueTyID) {
+ Recursive = false;
setAbstract(true);
#ifdef DEBUG_MERGE_TYPES
std::cerr << "Derived new type: " << getDescription() << "\n";
@@ -426,7 +427,9 @@ static void getTypeProps(const Type *Ty, std::vector<const Type *> &TypeStack,
void DerivedType::setDerivedTypeProperties() {
std::vector<const Type *> TypeStack;
bool isAbstract = false, isRecursive = false;
-
+
+ setAbstract(true);
+ setRecursive(true);
getTypeProps(this, TypeStack, isAbstract, isRecursive);
setAbstract(isAbstract);
setRecursive(isRecursive);