The bytecode reader wants to be able to read types that are not quite resolved
authorChris Lattner <sabre@nondot.org>
Wed, 7 Jul 2004 06:48:27 +0000 (06:48 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 7 Jul 2004 06:48:27 +0000 (06:48 +0000)
yet, then resolve them in it's own sweet time.  We must support this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14666 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/Type.cpp

index 74542b8e44baa9a3d150e59608cbe636774e31e3..026ba1bb6a0818d1cb84dabf7eb12d6fd3cd48b3 100644 (file)
@@ -402,7 +402,8 @@ FunctionType::FunctionType(const Type *Result,
                            const std::vector<const Type*> &Params, 
                            bool IsVarArgs) : DerivedType(FunctionTyID), 
                                              isVarArgs(IsVarArgs) {
-  assert((Result->isFirstClassType() || Result == Type::VoidTy) && 
+  assert((Result->isFirstClassType() || Result == Type::VoidTy ||
+         isa<OpaqueType>(Result)) && 
          "LLVM functions cannot return aggregates");
   bool isAbstract = Result->isAbstract();
   ContainedTys.reserve(Params.size()+1);