@e = private constant [9 x i8] c"constant\00", align 1
@f = private constant i8 43, align 4
+@g = thread_local global i32 99, align 4
+
; ERROR: 'bulk-memory' feature must be used in order to use shared memory
; ACTIVE-LABEL: - Type: CODE
; PASSIVE-LABEL: - Type: START
; PASSIVE-NEXT: StartFunction: 2
; PASSIVE-LABEL: - Type: DATACOUNT
-; PASSIVE-NEXT: Count: 2
+; PASSIVE-NEXT: Count: 3
; PASSIVE-LABEL: - Type: CODE
; PASSIVE-NEXT: Functions:
; PASSIVE-NEXT: - Index: 0
; PASSIVE-NEXT: Body: 0B
; PASSIVE-NEXT: - Index: 1
; PASSIVE-NEXT: Locals: []
-; PASSIVE-NEXT: Body: 0B
+; PASSIVE-NEXT: Body: {{.*}}
; PASSIVE-NEXT: - Index: 2
; PASSIVE-NEXT: Locals: []
; PASSIVE-NEXT: Body: {{.*}}
; PASSIVE-NEXT: Segments:
; PASSIVE-NEXT: - SectionOffset: 3
; PASSIVE-NEXT: InitFlags: 1
+; PASSIVE-NEXT: Content: '63000000'
+; PASSIVE-NEXT: - SectionOffset: 9
+; PASSIVE-NEXT: InitFlags: 1
; PASSIVE-NEXT: Content: 636F6E7374616E74000000002B
-; PASSIVE-NEXT: - SectionOffset: 18
+; PASSIVE-NEXT: - SectionOffset: 24
; PASSIVE-NEXT: InitFlags: 1
; PASSIVE-NEXT: Content: 68656C6C6F00676F6F646279650000002A000000
; PASSIVE-NEXT: - Type: CUSTOM
; PASSIVE-PIC: - Type: START
; PASSIVE-PIC-NEXT: StartFunction: 2
; PASSIVE-PIC-NEXT: - Type: DATACOUNT
-; PASSIVE-PIC-NEXT: Count: 2
+; PASSIVE-PIC-NEXT: Count: 3
; PASSIVE-PIC-NEXT: - Type: CODE
; PASSIVE-PIC-NEXT: Functions:
; PASSIVE-PIC-NEXT: - Index: 0
; PASSIVE-PIC-NEXT: Body: 0B
; PASSIVE-PIC-NEXT: - Index: 1
; PASSIVE-PIC-NEXT: Locals: []
-; PASSIVE-PIC-NEXT: Body: 0B
+; PASSIVE-PIC-NEXT: Body: {{.*}}
; PASSIVE-PIC-NEXT: - Index: 2
; PASSIVE-PIC-NEXT: Locals:
; PASSIVE32-PIC-NEXT: - Type: I32
; PASSIVE-PIC-NEXT: Segments:
; PASSIVE-PIC-NEXT: - SectionOffset: 3
; PASSIVE-PIC-NEXT: InitFlags: 1
+; PASSIVE-PIC-NEXT: Content: '63000000'
+; PASSIVE-PIC-NEXT: - SectionOffset: 9
+; PASSIVE-PIC-NEXT: InitFlags: 1
; PASSIVE-PIC-NEXT: Content: 636F6E7374616E74000000002B
-; PASSIVE-PIC-NEXT: - SectionOffset: 18
+; PASSIVE-PIC-NEXT: - SectionOffset: 24
; PASSIVE-PIC-NEXT: InitFlags: 1
; PASSIVE-PIC-NEXT: Content: 68656C6C6F00676F6F646279650000002A000000
; PASSIVE-PIC-NEXT: - Type: CUSTOM
; PIC-DIS: .local [[PTR]]
; PIC-DIS-NEXT: global.get 1
-; PIC-DIS-NEXT: [[PTR]].const 10036
+; PIC-DIS-NEXT: [[PTR]].const 10040
; PIC-DIS-NEXT: [[PTR]].add
; PIC-DIS-NEXT: local.set 0
; DIS-NEXT: block
; DIS-NEXT: block
-; NOPIC-DIS-NEXT: [[PTR]].const 11060
+; NOPIC-DIS-NEXT: [[PTR]].const 11064
; PIC-DIS-NEXT: local.get 0
; DIS-NEXT: i32.const 0
; DIS-NEXT: # 2: down to label0
; DIS-NEXT: end
-; NOPIC-DIS-NEXT: [[PTR]].const 1024
-; PIC-DIS-NEXT: [[PTR]].const 0
+; NOPIC-DIS-NEXT: [[PTR]].const 1028
+; PIC-DIS-NEXT: [[PTR]].const 4
; PIC-DIS-NEXT: global.get 1
; PIC-DIS-NEXT: [[PTR]].add
; DIS-NEXT: i32.const 0
; DIS-NEXT: i32.const 13
-; DIS-NEXT: memory.init 0, 0
+; DIS-NEXT: memory.init 1, 0
-; NOPIC-DIS-NEXT: [[PTR]].const 1040
-; PIC-DIS-NEXT: [[PTR]].const 16
+; NOPIC-DIS-NEXT: [[PTR]].const 1044
+; PIC-DIS-NEXT: [[PTR]].const 20
; PIC-DIS-NEXT: global.get 1
; PIC-DIS-NEXT: [[PTR]].add
; DIS-NEXT: i32.const 0
; DIS-NEXT: i32.const 20
-; DIS-NEXT: memory.init 1, 0
-; NOPIC-DIS-NEXT: [[PTR]].const 1060
-; PIC-DIS-NEXT: [[PTR]].const 36
+; DIS-NEXT: memory.init 2, 0
+; NOPIC-DIS-NEXT: [[PTR]].const 1064
+; PIC-DIS-NEXT: [[PTR]].const 40
; PIC-DIS-NEXT: global.get 1
; PIC-DIS-NEXT: [[PTR]].add
; DIS-NEXT: i32.const 0
; PIC-DIS-NEXT: call 3
-; NOPIC-DIS-NEXT: [[PTR]].const 11060
+; NOPIC-DIS-NEXT: [[PTR]].const 11064
; PIC-DIS-NEXT: local.get 0
; DIS-NEXT: i32.const 2
; DIS-NEXT: i32.atomic.store 0
-; NOPIC-DIS-NEXT: [[PTR]].const 11060
+; NOPIC-DIS-NEXT: [[PTR]].const 11064
; PIC-DIS-NEXT: local.get 0
; DIS-NEXT: i32.const -1
; DIS-NEXT: br 1 # 1: down to label1
; DIS-NEXT: end
-; NOPIC-DIS-NEXT: [[PTR]].const 11060
+; NOPIC-DIS-NEXT: [[PTR]].const 11064
; PIC-DIS-NEXT: local.get 0
; DIS-NEXT: i32.const 1
; DIS-NEXT: memory.atomic.wait32 0
; DIS-NEXT: drop
; DIS-NEXT: end
-; DIS-NEXT: data.drop 0
; DIS-NEXT: data.drop 1
+; DIS-NEXT: data.drop 2
; DIS-NEXT: end