	.file	"extr_decl.c_program.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"empty declaration\n"
.LC1:
	.string	"unrecognized declaration\n"
.LC2:
	.string	"empty input file\n"
	.text
	.p2align 4
	.globl	program
	.type	program, @function
program:
.LFB0:
	.cfi_startproc
	endbr64
	mov	eax, DWORD PTR GLOBAL[rip]
	mov	DWORD PTR level[rip], eax
	mov	rax, QWORD PTR t[rip]
	cmp	rax, QWORD PTR EOI[rip]
	je	.L2
	push	rbx
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	lea	rbx, .LC1[rip]
	jmp	.L10
	.p2align 4,,10
	.p2align 3
.L3:
	mov	edi, DWORD PTR dclglobal[rip]
	call	decl@PLT
	mov	edi, DWORD PTR STMT[rip]
	call	deallocate@PLT
	cmp	DWORD PTR glevel[rip], 2
	jg	.L17
	cmp	QWORD PTR xref[rip], 0
	je	.L19
.L17:
	mov	rax, QWORD PTR t[rip]
.L7:
	cmp	QWORD PTR EOI[rip], rax
	je	.L20
.L10:
	mov	rdx, QWORD PTR kind[rip]
	mov	rdx, QWORD PTR [rdx+rax*8]
	cmp	rdx, QWORD PTR CHAR[rip]
	je	.L3
	cmp	rdx, QWORD PTR STATIC[rip]
	je	.L3
	cmp	QWORD PTR ID[rip], rax
	je	.L3
	mov	rdx, rax
	and	rdx, -3
	cmp	rdx, 40
	je	.L3
	cmp	rax, 59
	je	.L21
	mov	rdi, rbx
	call	error@PLT
	xor	eax, eax
	call	gettok@PLT
	cmp	QWORD PTR EOI[rip], rax
	mov	QWORD PTR t[rip], rax
	jne	.L10
.L20:
	pop	rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L19:
	.cfi_restore_state
	mov	edi, DWORD PTR FUNC[rip]
	call	deallocate@PLT
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L21:
	lea	rdi, .LC0[rip]
	call	warning@PLT
	xor	eax, eax
	call	gettok@PLT
	mov	QWORD PTR t[rip], rax
	jmp	.L7
	.p2align 4,,10
	.p2align 3
.L2:
	.cfi_def_cfa_offset 8
	.cfi_restore 3
	lea	rdi, .LC2[rip]
	jmp	warning@PLT
	.cfi_endproc
.LFE0:
	.size	program, .-program
	.comm	xref,8,8
	.comm	t,8,8
	.comm	level,4,4
	.comm	kind,8,8
	.comm	glevel,4,4
	.comm	dclglobal,4,4
	.comm	STMT,4,4
	.comm	STATIC,8,8
	.comm	ID,8,8
	.comm	GLOBAL,4,4
	.comm	FUNC,4,4
	.comm	EOI,8,8
	.comm	CHAR,8,8
	.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_decl.c_program.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"empty declaration\012\000"
	.align	2
.LC1:
	.ascii	"unrecognized declaration\012\000"
	.align	2
.LC2:
	.ascii	"empty input file\012\000"
	.text
	.align	2
	.global	program
	.syntax unified
	.arm
	.fpu softvfp
	.type	program, %function
program:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
	ldr	r4, .L19
	ldr	fp, .L19+4
	ldr	r3, .L19+8
	ldr	r0, [r4]
	ldr	ip, [fp]
	ldr	r1, [r3]
	ldr	r3, .L19+12
	cmp	r0, ip
	str	r1, [r3]
	beq	.L2
	ldr	r6, .L19+16
	ldr	r5, .L19+20
	ldr	r9, .L19+24
	ldr	r8, .L19+28
	ldr	r7, .L19+32
	ldr	r10, .L19+36
	b	.L9
.L3:
	ldr	r0, [r9]
	bl	decl
	ldr	r0, [r8]
	bl	deallocate
	ldr	r3, [r7]
	cmp	r3, #2
	bgt	.L15
	ldr	r3, .L19+40
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L17
.L15:
	ldr	r0, [r4]
.L6:
	ldr	r3, [fp]
	cmp	r3, r0
	popeq	{r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L9:
	ldr	r3, [r6]
	ldr	r1, [r5]
	ldr	r3, [r3, r0, lsl #2]
	cmp	r3, r1
	beq	.L3
	ldr	r1, [r10]
	cmp	r3, r1
	beq	.L3
	ldr	r1, .L19+44
	bic	r3, r0, #2
	ldr	r1, [r1]
	cmp	r3, #40
	cmpne	r1, r0
	beq	.L3
	cmp	r0, #59
	beq	.L18
	ldr	r0, .L19+48
	bl	error
	bl	gettok
	str	r0, [r4]
	b	.L6
.L17:
	ldr	r3, .L19+52
	ldr	r0, [r3]
	bl	deallocate
	b	.L15
.L18:
	ldr	r0, .L19+56
	bl	warning
	bl	gettok
	str	r0, [r4]
	b	.L6
.L2:
	ldr	r0, .L19+60
	pop	{r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
	b	warning
.L20:
	.align	2
.L19:
	.word	t
	.word	EOI
	.word	GLOBAL
	.word	level
	.word	kind
	.word	CHAR
	.word	dclglobal
	.word	STMT
	.word	glevel
	.word	STATIC
	.word	xref
	.word	ID
	.word	.LC1
	.word	FUNC
	.word	.LC0
	.word	.LC2
	.size	program, .-program
	.comm	xref,4,4
	.comm	t,4,4
	.comm	level,4,4
	.comm	kind,4,4
	.comm	glevel,4,4
	.comm	dclglobal,4,4
	.comm	STMT,4,4
	.comm	STATIC,4,4
	.comm	ID,4,4
	.comm	GLOBAL,4,4
	.comm	FUNC,4,4
	.comm	EOI,4,4
	.comm	CHAR,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
