	.file	"extr_test.c_parse_test.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC0:
	.string	"var x: char[256] = {1, 2, 3, ['a'] = 4}"
	.align 8
.LC1:
	.string	"struct Vector { x, y: float; }"
	.align 8
.LC2:
	.string	"var v = Vector{x = 1.0, y = -1.0}"
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC3:
	.string	"var v: Vector = {1.0, -1.0}"
.LC4:
	.string	"const n = sizeof(:int*[16])"
.LC5:
	.string	"const n = sizeof(1+2)"
.LC6:
	.string	"var x = b == 1 ? 1+2 : 3-4"
	.section	.rodata.str1.8
	.align 8
.LC7:
	.string	"func fact(n: int): int { trace(\"fact\"); if (n == 0) { return 1; } else { return n * fact(n-1); } }"
	.align 8
.LC8:
	.string	"func fact(n: int): int { p := 1; for (i := 1; i <= n; i++) { p *= i; } return p; }"
	.align 8
.LC9:
	.string	"var foo = a ? a&b + c<<d + e*f == +u-v-w + *g/h(x,y) + -i%k[x] && m <= n*(p+q)/r : 0"
	.align 8
.LC10:
	.string	"func f(x: int): bool { switch (x) { case 0: case 1: return true; case 2: default: return false; } }"
	.align 8
.LC11:
	.string	"enum Color { RED = 3, GREEN, BLUE = 0 }"
	.section	.rodata.str1.1
.LC12:
	.string	"const pi = 3.14"
	.section	.rodata.str1.8
	.align 8
.LC13:
	.string	"union IntOrFloat { i: int; f: float; }"
	.section	.rodata.str1.1
.LC14:
	.string	"typedef Vectors = Vector[1+2]"
	.section	.rodata.str1.8
	.align 8
.LC15:
	.string	"func f() { do { print(42); } while(1); }"
	.align 8
.LC16:
	.string	"typedef T = (func(int):int)[16]"
	.align 8
.LC17:
	.string	"func f() { enum E { A, B, C } return; }"
	.align 8
.LC18:
	.string	"func f() { if (1) { return 1; } else if (2) { return 2; } else { return 3; } }"
	.section	.rodata.str1.1
.LC19:
	.string	"\n"
	.text
	.p2align 4
	.globl	parse_test
	.type	parse_test, @function
parse_test:
.LFB0:
	.cfi_startproc
	endbr64
	push	r12
	.cfi_def_cfa_offset 16
	.cfi_offset 12, -16
	lea	rsi, .LC0[rip]
	push	rbp
	.cfi_def_cfa_offset 24
	.cfi_offset 6, -24
	lea	rbp, .LC19[rip]
	push	rbx
	.cfi_def_cfa_offset 32
	.cfi_offset 3, -32
	sub	rsp, 160
	.cfi_def_cfa_offset 192
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR 152[rsp], rax
	xor	eax, eax
	lea	rax, .LC1[rip]
	mov	QWORD PTR [rsp], rsi
	mov	rbx, rsp
	mov	QWORD PTR 8[rsp], rax
	lea	rax, .LC2[rip]
	lea	r12, 152[rsp]
	mov	QWORD PTR 16[rsp], rax
	lea	rax, .LC3[rip]
	mov	QWORD PTR 24[rsp], rax
	lea	rax, .LC4[rip]
	mov	QWORD PTR 32[rsp], rax
	lea	rax, .LC5[rip]
	mov	QWORD PTR 40[rsp], rax
	lea	rax, .LC6[rip]
	mov	QWORD PTR 48[rsp], rax
	lea	rax, .LC7[rip]
	mov	QWORD PTR 56[rsp], rax
	lea	rax, .LC8[rip]
	mov	QWORD PTR 64[rsp], rax
	lea	rax, .LC9[rip]
	mov	QWORD PTR 72[rsp], rax
	lea	rax, .LC10[rip]
	mov	QWORD PTR 80[rsp], rax
	lea	rax, .LC11[rip]
	mov	QWORD PTR 88[rsp], rax
	lea	rax, .LC12[rip]
	mov	QWORD PTR 96[rsp], rax
	lea	rax, .LC13[rip]
	mov	QWORD PTR 104[rsp], rax
	lea	rax, .LC14[rip]
	mov	QWORD PTR 112[rsp], rax
	lea	rax, .LC15[rip]
	mov	QWORD PTR 120[rsp], rax
	lea	rax, .LC16[rip]
	mov	QWORD PTR 128[rsp], rax
	lea	rax, .LC17[rip]
	mov	QWORD PTR 136[rsp], rax
	lea	rax, .LC18[rip]
	mov	QWORD PTR 144[rsp], rax
	jmp	.L3
	.p2align 4,,10
	.p2align 3
.L7:
	mov	rsi, QWORD PTR [rbx]
.L3:
	xor	edi, edi
	add	rbx, 8
	call	init_stream@PLT
	mov	rdi, rbp
	call	printf@PLT
	cmp	rbx, r12
	jne	.L7
	mov	rax, QWORD PTR 152[rsp]
	xor	rax, QWORD PTR fs:40
	jne	.L8
	add	rsp, 160
	.cfi_remember_state
	.cfi_def_cfa_offset 32
	pop	rbx
	.cfi_def_cfa_offset 24
	pop	rbp
	.cfi_def_cfa_offset 16
	pop	r12
	.cfi_def_cfa_offset 8
	ret
.L8:
	.cfi_restore_state
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE0:
	.size	parse_test, .-parse_test
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_test.c_parse_test.c"
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"var x: char[256] = {1, 2, 3, ['a'] = 4}\000"
	.align	2
.LC1:
	.ascii	"struct Vector { x, y: float; }\000"
	.align	2
.LC2:
	.ascii	"var v = Vector{x = 1.0, y = -1.0}\000"
	.align	2
.LC3:
	.ascii	"var v: Vector = {1.0, -1.0}\000"
	.align	2
.LC4:
	.ascii	"const n = sizeof(:int*[16])\000"
	.align	2
.LC5:
	.ascii	"const n = sizeof(1+2)\000"
	.align	2
.LC6:
	.ascii	"var x = b == 1 ? 1+2 : 3-4\000"
	.align	2
.LC7:
	.ascii	"func fact(n: int): int { trace(\"fact\"); if (n == "
	.ascii	"0) { return 1; } else { return n * fact(n-1); } }\000"
	.align	2
.LC8:
	.ascii	"func fact(n: int): int { p := 1; for (i := 1; i <= "
	.ascii	"n; i++) { p *= i; } return p; }\000"
	.align	2
.LC9:
	.ascii	"var foo = a ? a&b + c<<d + e*f == +u-v-w + *g/h(x,y"
	.ascii	") + -i%k[x] && m <= n*(p+q)/r : 0\000"
	.align	2
.LC10:
	.ascii	"func f(x: int): bool { switch (x) { case 0: case 1:"
	.ascii	" return true; case 2: default: return false; } }\000"
	.align	2
.LC11:
	.ascii	"enum Color { RED = 3, GREEN, BLUE = 0 }\000"
	.align	2
.LC12:
	.ascii	"const pi = 3.14\000"
	.align	2
.LC13:
	.ascii	"union IntOrFloat { i: int; f: float; }\000"
	.align	2
.LC14:
	.ascii	"typedef Vectors = Vector[1+2]\000"
	.align	2
.LC15:
	.ascii	"func f() { do { print(42); } while(1); }\000"
	.align	2
.LC16:
	.ascii	"typedef T = (func(int):int)[16]\000"
	.align	2
.LC17:
	.ascii	"func f() { enum E { A, B, C } return; }\000"
	.align	2
.LC18:
	.ascii	"func f() { if (1) { return 1; } else if (2) { retur"
	.ascii	"n 2; } else { return 3; } }\000"
	.text
	.section	.rodata.str1.4
	.align	2
.LC21:
	.ascii	"\012\000"
	.section	.rodata.cst4,"aM",%progbits,4
	.align	2
.LC22:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	parse_test
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_test, %function
parse_test:
	@ args = 0, pretend = 0, frame = 80
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, lr}
	sub	sp, sp, #80
	mov	r0, sp
	ldr	r3, .L8
	mov	r2, #76
	ldr	r1, .L8+4
	ldr	r3, [r3]
	str	r3, [sp, #76]
	mov	r3,#0
	mov	r4, r0
	bl	memcpy
	ldr	r6, .L8+8
	add	r5, sp, #76
.L2:
	ldr	r1, [r4], #4
	mov	r0, #0
	bl	init_stream
	mov	r0, r6
	bl	printf
	cmp	r4, r5
	bne	.L2
	ldr	r3, .L8
	ldr	r2, [r3]
	ldr	r3, [sp, #76]
	eors	r2, r3, r2
	mov	r3, #0
	bne	.L7
	add	sp, sp, #80
	@ sp needed
	pop	{r4, r5, r6, pc}
.L7:
	bl	__stack_chk_fail
.L9:
	.align	2
.L8:
	.word	.LC22
	.word	.LANCHOR0
	.word	.LC21
	.size	parse_test, .-parse_test
	.section	.rodata
	.align	2
	.set	.LANCHOR0,. + 0
.LC20:
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
