From 449208d95b9418306e1250429211e056f9af2940 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Wed, 15 Jul 2015 20:45:56 +0000 Subject: Handle the error of trying to convert a regular archive to a thin one. While at it, test that we can add to a thin archive. llvm-svn: 242330 --- llvm/lib/Object/ArchiveWriter.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'llvm/lib/Object/ArchiveWriter.cpp') diff --git a/llvm/lib/Object/ArchiveWriter.cpp b/llvm/lib/Object/ArchiveWriter.cpp index bcd5382..b555b8c 100644 --- a/llvm/lib/Object/ArchiveWriter.cpp +++ b/llvm/lib/Object/ArchiveWriter.cpp @@ -318,6 +318,9 @@ llvm::writeArchive(StringRef ArcName, MemberRef = Buffers.back()->getMemBufferRef(); } else { object::Archive::child_iterator OldMember = Member.getOld(); + assert(!Thin || + OldMember->getParent()->isThin() && + "Thin archives cannot refers to member of other archives"); ErrorOr MemberBufferOrErr = OldMember->getMemoryBufferRef(); if (auto EC = MemberBufferOrErr.getError()) -- cgit v1.1