xref: /llvm-project/llvm/test/tools/llvm-size/totals.test (revision a8eef4e5f50009f9b4387c8e617f34493549a781)
1*a8eef4e5SJames Henderson## Show that llvm-size prints the total sizes when --totals is specified.
2*a8eef4e5SJames Henderson
3*a8eef4e5SJames Henderson# RUN: rm -f %t.a
4*a8eef4e5SJames Henderson# RUN: yaml2obj %s --docnum=1 -o %t.o
5*a8eef4e5SJames Henderson# RUN: yaml2obj %s --docnum=2 -o %t2.o
6*a8eef4e5SJames Henderson# RUN: llvm-ar rc %t.a %t.o %t2.o
7*a8eef4e5SJames Henderson# RUN: llvm-size --totals %t.o %t.a %t2.o \
8*a8eef4e5SJames Henderson# RUN:   | FileCheck %s -DFILE1=%t.o -DFILE2=%t2.o -DARCHIVE=%t.a
9*a8eef4e5SJames Henderson# RUN: llvm-size -t %t.o %t.a %t2.o \
10*a8eef4e5SJames Henderson# RUN:   | FileCheck %s -DFILE1=%t.o -DFILE2=%t2.o -DARCHIVE=%t.a
11*a8eef4e5SJames Henderson
12*a8eef4e5SJames Henderson# CHECK:         text    data     bss     dec     hex filename
13*a8eef4e5SJames Henderson# CHECK-NEXT: [[FILE1]]
14*a8eef4e5SJames Henderson# CHECK-NEXT: {{.*}}.o (ex [[ARCHIVE]])
15*a8eef4e5SJames Henderson# CHECK-NEXT: {{.*}}2.o (ex [[ARCHIVE]])
16*a8eef4e5SJames Henderson# CHECK-NEXT: [[FILE2]]
17*a8eef4e5SJames Henderson# CHECK-NEXT:      18      36      72     126      7e (TOTALS)
18*a8eef4e5SJames Henderson
19*a8eef4e5SJames Henderson--- !ELF
20*a8eef4e5SJames HendersonFileHeader:
21*a8eef4e5SJames Henderson  Class:   ELFCLASS64
22*a8eef4e5SJames Henderson  Data:    ELFDATA2LSB
23*a8eef4e5SJames Henderson  Type:    ET_REL
24*a8eef4e5SJames Henderson  Machine: EM_X86_64
25*a8eef4e5SJames HendersonSections:
26*a8eef4e5SJames Henderson  - Name:    .text
27*a8eef4e5SJames Henderson    Type:    SHT_PROGBITS
28*a8eef4e5SJames Henderson    Flags:   [SHF_ALLOC, SHF_EXECINSTR]
29*a8eef4e5SJames Henderson    Size:    1
30*a8eef4e5SJames Henderson  - Name:    .data
31*a8eef4e5SJames Henderson    Type:    SHT_PROGBITS
32*a8eef4e5SJames Henderson    Flags:   [SHF_ALLOC, SHF_WRITE]
33*a8eef4e5SJames Henderson    Size:    2
34*a8eef4e5SJames Henderson  - Name:    .bss
35*a8eef4e5SJames Henderson    Type:    SHT_NOBITS
36*a8eef4e5SJames Henderson    Flags:   [SHF_ALLOC, SHF_WRITE]
37*a8eef4e5SJames Henderson    Size:    4
38*a8eef4e5SJames Henderson
39*a8eef4e5SJames Henderson--- !ELF
40*a8eef4e5SJames HendersonFileHeader:
41*a8eef4e5SJames Henderson  Class:   ELFCLASS64
42*a8eef4e5SJames Henderson  Data:    ELFDATA2LSB
43*a8eef4e5SJames Henderson  Type:    ET_REL
44*a8eef4e5SJames Henderson  Machine: EM_X86_64
45*a8eef4e5SJames HendersonSections:
46*a8eef4e5SJames Henderson  - Name:    .text
47*a8eef4e5SJames Henderson    Type:    SHT_PROGBITS
48*a8eef4e5SJames Henderson    Flags:   [SHF_ALLOC, SHF_EXECINSTR]
49*a8eef4e5SJames Henderson    Size:    8
50*a8eef4e5SJames Henderson  - Name:    .data
51*a8eef4e5SJames Henderson    Type:    SHT_PROGBITS
52*a8eef4e5SJames Henderson    Flags:   [SHF_ALLOC, SHF_WRITE]
53*a8eef4e5SJames Henderson    Size:    16
54*a8eef4e5SJames Henderson  - Name:    .bss
55*a8eef4e5SJames Henderson    Type:    SHT_NOBITS
56*a8eef4e5SJames Henderson    Flags:   [SHF_ALLOC, SHF_WRITE]
57*a8eef4e5SJames Henderson    Size:    32
58