Don't include llvm.metadata variables in archive symbol tables.
[oota-llvm.git] / test / Object / nm-archive.test
1 RUN: llvm-nm %p/Inputs/archive-test.a-coff-i386 \
2 RUN:         | FileCheck %s -check-prefix COFF
3
4 COFF: trivial-object-test.coff-i386:
5 COFF-NEXT: 00000000 d .data
6 COFF-NEXT: 00000000 t .text
7 COFF-NEXT: 00000000 d L_.str
8 COFF-NEXT:          U _SomeOtherFunction
9 COFF-NEXT: 00000000 T _main
10 COFF-NEXT:          U _puts
11
12
13 RUN: llvm-as %p/Inputs/trivial.ll -o=%t1
14 RUN: rm -f %t2
15 RUN: llvm-ar rcs %t2 %t1
16 RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE
17
18 BITCODE:          U SomeOtherFunction
19 BITCODE-NEXT:          T main
20 BITCODE-NEXT:          U puts
21 BITCODE-NEXT:          D var
22
23
24 Test we don't error with an archive with no symtab.
25 RUN: llvm-nm %p/Inputs/archive-test.a-gnu-no-symtab
26
27
28 Or in an archive with no symtab or string table.
29 RUN: llvm-nm %p/Inputs/archive-test.a-gnu-minimal
30
31
32 And don't crash when asked to print a non-existing symtab.
33 RUN: llvm-nm -s %p/Inputs/archive-test.a-gnu-minimal
34
35 Don't reject an empty archive.
36 RUN: llvm-nm %p/Inputs/archive-test.a-empty
37
38 This archive has an unaligned member and a unknown format member.
39 GNU AR is able to parse the unaligned member and warns about the member with
40 the unknown format. We should probably simply warn on both. For now just check
41 that we don't produce an error.
42 RUN: llvm-nm %p/Inputs/corrupt-archive.a