[Mem2Reg] Respect optnone
[llvm-core.git] / test / Object / nm-archive.test
blob8f8cdbe9f08cf05a12e0782690695fa3779b1674
1 RUN: llvm-nm -a %p/Inputs/archive-test.a-coff-i386 \
2 RUN:         | FileCheck %s -check-prefix COFF
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
12 RUN: llvm-nm -a -o %p/Inputs/archive-test.a-coff-i386 \
13 RUN:         | FileCheck %s -check-prefix COFF-o
15 COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 d .data
16 COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 t .text
17 COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 d L_.str
18 COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386:          U _SomeOtherFunction
19 COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 T _main
20 COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386:          U _puts
22 RUN: llvm-as %p/Inputs/trivial.ll -o=%t1
23 RUN: rm -f %t2
24 RUN: llvm-ar rcs %t2 %t1
25 RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE
27 RUN: rm -f %t2
28 RUN: llvm-lib /out:%t2 %t1
29 RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE
31 RUN: rm -f %t2
32 RUN: echo /out:%t2 %t1 > %t.rsp
33 RUN: llvm-lib @%t.rsp
34 RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE
36 BITCODE:          U SomeOtherFunction
37 BITCODE-NEXT:          T main
38 BITCODE-NEXT:          U puts
39 BITCODE-NEXT:          D var
42 Test we don't error with an archive with no symtab.
43 RUN: llvm-nm %p/Inputs/archive-test.a-gnu-no-symtab
46 Or in an archive with no symtab or string table.
47 RUN: llvm-nm %p/Inputs/archive-test.a-gnu-minimal
50 And don't crash when asked to print a non-existing symtab.
51 RUN: llvm-nm -M %p/Inputs/archive-test.a-gnu-minimal
53 Don't reject an empty archive.
54 RUN: llvm-nm %p/Inputs/archive-test.a-empty
56 This archive has an unaligned member and a unknown format member.
57 GNU AR is able to parse the unaligned member and warns about the member with
58 the unknown format. We should probably simply warn on both. For now just check
59 that we don't produce an error.
60 RUN: llvm-nm %p/Inputs/corrupt-archive.a
63 RUN: llvm-nm %p/Inputs/thin.a | FileCheck %s -check-prefix THIN
65 THIN: IsNAN.o:
66 THIN: 00000014 T _ZN4llvm5IsNANEd
67 THIN: 00000000 T _ZN4llvm5IsNANEf
68 THIN:          U __isnan
69 THIN:          U __isnanf