# Check that llvm-lib doesn't list the members of an archive which contains the # special member //. # RUN: yaml2obj --docnum=1 %s -o %t.lib # RUN: llvm-nm --print-armap %t.lib 2>&1 | FileCheck --check-prefix=NM1 %s # NM1: truncated or malformed archive (invalid EC symbols size (3)) --- !Arch Members: - Name: '/' Size: '0' - Name: '/' Size: '0' - Name: '//' Size: '3' Content: 010203 PaddingByte: 0 ... # RUN: yaml2obj --docnum=2 %s -o %t.lib # RUN: llvm-nm --print-armap %t.lib 2>&1 | FileCheck --check-prefix=NM2 %s # NM2: truncated or malformed archive (invalid EC symbols size. Size was 7, but expected 8) --- !Arch Members: - Name: '/' Size: '0' - Name: '/' Size: '12' Content: 010000001000000000000000 - Name: '//' Size: '7' Content: 02000000010001 PaddingByte: 0 ... # RUN: yaml2obj --docnum=3 %s -o %t.lib # RUN: llvm-nm --print-armap %t.lib 2>&1 | FileCheck --check-prefix=NM3 %s # NM3: truncated or malformed archive (invalid EC symbol index 2 is larger than member count 1) --- !Arch Members: - Name: '/' Size: '0' - Name: '/' Size: '12' Content: 010000001000000000000000 - Name: '//' Size: '8' Content: 0100000002006100 - Name: 'a.obj' Size: '0' ... # RUN: yaml2obj --docnum=4 %s -o %t.lib # RUN: llvm-nm --print-armap %t.lib 2>&1 | FileCheck --check-prefix=NM4 %s # NM4: truncated or malformed archive (invalid EC symbol index 0) --- !Arch Members: - Name: '/' Size: '0' - Name: '/' Size: '12' Content: 010000001000000000000000 - Name: '//' Size: '8' Content: 0100000000006100 - Name: 'a.obj' Size: '0' ... # RUN: yaml2obj --docnum=5 %s -o %t.lib # RUN: llvm-nm --print-armap %t.lib 2>&1 | FileCheck --check-prefix=NM5 %s # NM5: truncated or malformed archive (malformed EC symbol names: not null-terminated) --- !Arch Members: - Name: '/' Size: '0' - Name: '/' Size: '12' Content: 010000001000000000000000 - Name: '//' Size: '8' Content: 0100000001006161 - Name: 'a.obj' Size: '0' ...