## Test reading an archive with malformed header.
# RUN: echo    "<bigaf>" > %t.a
# RUN: not llvm-ar tv %t.a 2>&1 | FileCheck --check-prefix=CHECK-HEADER %s
# CHECK-HEADER: truncated or malformed archive{{.*}}malformed AIX big archive: incomplete fixed length header

## Test reading an empty archive with first member's offset is not zero.
# RUN: echo    "<bigaf>" > %t.a
# RUN: echo -n "0                   0                   0                   128                 0                   0                   " >> %t.a
# RUN: not llvm-ar tv %t.a 2>&1 | FileCheck %s

# RUN: echo    "<bigaf>" > %t.a
# RUN: echo -n "0                   0                   0                   28                  0                   0                   " >> %t.a
# RUN: not llvm-ar tv %t.a 2>&1 | FileCheck %s

# CHECK: truncated or malformed archive{{.*}}malformed AIX big archive: remaining buffer is unable to contain next archive member
