xref: /llvm-project/llvm/test/ObjectYAML/wasm/multiple-tables.yaml (revision 9ac5620cb8548c0bd0150f0da68219dd3a5a657a)
1# RUN: yaml2obj %s | obj2yaml | FileCheck %s
2
3--- !WASM
4FileHeader:
5  Version:         0x1
6Sections:
7  - Type:            TYPE
8    Signatures:
9      - Index:           0
10        ParamTypes:      []
11        ReturnTypes:     []
12  - Type:            IMPORT
13    Imports:
14      - Module:          env
15        Field:           table_a
16        Kind:            TABLE
17        Table:
18          Index:           0
19          ElemType:        FUNCREF
20          Limits:
21            Minimum:         0x0
22  - Type:            FUNCTION
23    FunctionTypes:   [ 0 ]
24  - Type:            TABLE
25    Tables:
26      - Index:           1
27        ElemType:        FUNCREF
28        Limits:
29          Minimum:         0x0
30      - Index:           2
31        ElemType:        EXTERNREF
32        Limits:
33          Minimum:         0x0
34      - Index:           3
35        ElemType:        FUNCREF
36        Limits:
37          Flags:           [ HAS_MAX ]
38          Minimum:         0x3
39          Maximum:         0x3
40  - Type:            EXPORT
41    Exports:
42      - Name:            table_b
43        Kind:            TABLE
44        Index:           1
45      - Name:            table_c
46        Kind:            TABLE
47        Index:           2
48  - Type:            ELEM
49    Segments:
50      - Flags:           2
51        TableNumber:     3
52        ElemKind:        FUNCREF
53        Offset:
54          Opcode:          I32_CONST
55          Value:           1
56        Functions:       [ 0, 0 ]
57  - Type:            CODE
58    Functions:
59      - Index:           0
60        Locals:          []
61        Body:            0B
62...
63
64#      CHECK: --- !WASM
65# CHECK-NEXT: FileHeader:
66# CHECK-NEXT:   Version:         0x1
67# CHECK-NEXT: Sections:
68# CHECK-NEXT:   - Type:            TYPE
69# CHECK-NEXT:     Signatures:
70# CHECK-NEXT:       - Index:           0
71# CHECK-NEXT:         ParamTypes:      []
72# CHECK-NEXT:         ReturnTypes:     []
73# CHECK-NEXT:   - Type:            IMPORT
74# CHECK-NEXT:     Imports:
75# CHECK-NEXT:       - Module:          env
76# CHECK-NEXT:         Field:           table_a
77# CHECK-NEXT:         Kind:            TABLE
78# CHECK-NEXT:         Table:
79# CHECK-NEXT:           Index:           0
80# CHECK-NEXT:           ElemType:        FUNCREF
81# CHECK-NEXT:           Limits:
82# CHECK-NEXT:             Minimum:         0x0
83# CHECK-NEXT:   - Type:            FUNCTION
84# CHECK-NEXT:     FunctionTypes:   [ 0 ]
85# CHECK-NEXT:   - Type:            TABLE
86# CHECK-NEXT:     Tables:
87# CHECK-NEXT:       - Index:           1
88# CHECK-NEXT:         ElemType:        FUNCREF
89# CHECK-NEXT:         Limits:
90# CHECK-NEXT:           Minimum:         0x0
91# CHECK-NEXT:       - Index:           2
92# CHECK-NEXT:         ElemType:        EXTERNREF
93# CHECK-NEXT:         Limits:
94# CHECK-NEXT:           Minimum:         0x0
95# CHECK-NEXT:       - Index:           3
96# CHECK-NEXT:         ElemType:        FUNCREF
97# CHECK-NEXT:         Limits:
98# CHECK-NEXT:           Flags:           [ HAS_MAX ]
99# CHECK-NEXT:           Minimum:         0x3
100# CHECK-NEXT:           Maximum:         0x3
101# CHECK-NEXT:   - Type:            EXPORT
102# CHECK-NEXT:     Exports:
103# CHECK-NEXT:       - Name:            table_b
104# CHECK-NEXT:         Kind:            TABLE
105# CHECK-NEXT:         Index:           1
106# CHECK-NEXT:       - Name:            table_c
107# CHECK-NEXT:         Kind:            TABLE
108# CHECK-NEXT:         Index:           2
109# CHECK-NEXT:   - Type:            ELEM
110# CHECK-NEXT:     Segments:
111# CHECK-NEXT:       - Flags:           2
112# CHECK-NEXT:         TableNumber:     3
113# CHECK-NEXT:         ElemKind:        FUNCREF
114# CHECK-NEXT:         Offset:
115# CHECK-NEXT:           Opcode:          I32_CONST
116# CHECK-NEXT:           Value:           1
117# CHECK-NEXT:         Functions:       [ 0, 0 ]
118# CHECK-NEXT:   - Type:            CODE
119# CHECK-NEXT:     Functions:
120# CHECK-NEXT:       - Index:           0
121# CHECK-NEXT:         Locals:          []
122# CHECK-NEXT:         Body:            0B
123# CHECK-NEXT: ...
124