mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 12:41:49 +01:00
llvm-ar: Don't try to extract from thin archives.
This matches the gnu ar behavior. llvm-svn: 242162
This commit is contained in:
parent
9a2398fd87
commit
1893c5e76b
@ -183,6 +183,7 @@ public:
|
||||
};
|
||||
|
||||
Kind kind() const { return (Kind)Format; }
|
||||
bool isThin() const { return IsThin; }
|
||||
|
||||
child_iterator child_begin(bool SkipInternal = true) const;
|
||||
child_iterator child_end() const;
|
||||
|
@ -45,3 +45,6 @@ CHECK: 1465 2004-11-19 03:01:31.000000000 very_long_bytecode_file_name.bc
|
||||
|
||||
RUN: not llvm-ar x %p/Inputs/GNU.a foo.o 2>&1 | FileCheck --check-prefix=NOTFOUND %s
|
||||
NOTFOUND: foo.o was not found
|
||||
|
||||
RUN: not llvm-ar x %p/Inputs/thin.a foo.o 2>&1 | FileCheck %s --check-prefix=THINEXTRACT
|
||||
THINEXTRACT: extracting from a thin archive is not supported
|
||||
|
@ -391,6 +391,11 @@ static bool shouldCreateArchive(ArchiveOperation Op) {
|
||||
|
||||
static void performReadOperation(ArchiveOperation Operation,
|
||||
object::Archive *OldArchive) {
|
||||
if (Operation == Extract && OldArchive->isThin()) {
|
||||
errs() << "extracting from a thin archive is not supported\n";
|
||||
std::exit(1);
|
||||
}
|
||||
|
||||
bool Filter = !Members.empty();
|
||||
for (const object::Archive::Child &C : OldArchive->children()) {
|
||||
ErrorOr<StringRef> NameOrErr = C.getName();
|
||||
|
Loading…
x
Reference in New Issue
Block a user