	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function read_directive
_read_directive:                        ## @read_directive
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%rbx
	pushq	%rax
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %r14
	xorl	%eax, %eax
	callq	_lex
	movq	%rax, %rbx
	movq	(%rax), %rax
	movq	_TNEWLINE@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_1
## %bb.22:
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_1:
	movq	_TNUMBER@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_2
## %bb.23:
	movq	%rbx, %rdi
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_read_linemarker                ## TAILCALL
LBB0_2:
	movq	_TIDENT@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_21
## %bb.3:
	movq	8(%rbx), %r15
	leaq	L_.str(%rip), %rsi
	movq	%r15, %rdi
	callq	_strcmp
	testl	%eax, %eax
	je	LBB0_24
## %bb.4:
	leaq	L_.str.1(%rip), %rsi
	movq	%r15, %rdi
	callq	_strcmp
	testl	%eax, %eax
	je	LBB0_25
## %bb.5:
	leaq	L_.str.2(%rip), %rsi
	movq	%r15, %rdi
	callq	_strcmp
	testl	%eax, %eax
	je	LBB0_26
## %bb.6:
	leaq	L_.str.3(%rip), %rsi
	movq	%r15, %rdi
	callq	_strcmp
	testl	%eax, %eax
	je	LBB0_27
## %bb.7:
	leaq	L_.str.4(%rip), %rsi
	movq	%r15, %rdi
	callq	_strcmp
	testl	%eax, %eax
	je	LBB0_28
## %bb.8:
	leaq	L_.str.5(%rip), %rsi
	movq	%r15, %rdi
	callq	_strcmp
	testl	%eax, %eax
	je	LBB0_29
## %bb.9:
	leaq	L_.str.6(%rip), %rsi
	movq	%r15, %rdi
	callq	_strcmp
	testl	%eax, %eax
	je	LBB0_30
## %bb.10:
	leaq	L_.str.7(%rip), %rsi
	movq	%r15, %rdi
	callq	_strcmp
	testl	%eax, %eax
	je	LBB0_31
## %bb.11:
	leaq	L_.str.8(%rip), %rsi
	movq	%r15, %rdi
	callq	_strcmp
	testl	%eax, %eax
	je	LBB0_12
## %bb.14:
	leaq	L_.str.9(%rip), %rsi
	movq	%r15, %rdi
	callq	_strcmp
	testl	%eax, %eax
	je	LBB0_15
## %bb.16:
	leaq	L_.str.10(%rip), %rsi
	movq	%r15, %rdi
	callq	_strcmp
	testl	%eax, %eax
	je	LBB0_32
## %bb.17:
	leaq	L_.str.11(%rip), %rsi
	movq	%r15, %rdi
	callq	_strcmp
	testl	%eax, %eax
	je	LBB0_33
## %bb.18:
	leaq	L_.str.12(%rip), %rsi
	movq	%r15, %rdi
	callq	_strcmp
	testl	%eax, %eax
	je	LBB0_34
## %bb.19:
	leaq	L_.str.13(%rip), %rsi
	movq	%r15, %rdi
	callq	_strcmp
	testl	%eax, %eax
	je	LBB0_35
## %bb.20:
	leaq	L_.str.14(%rip), %rsi
	movq	%r15, %rdi
	callq	_strcmp
	testl	%eax, %eax
	je	LBB0_36
LBB0_21:
	movq	%rbx, %rdi
	callq	_tok2s
	leaq	L_.str.15(%rip), %rsi
	movq	%r14, %rdi
	movl	%eax, %edx
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_errort                         ## TAILCALL
LBB0_24:
	xorl	%eax, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_read_define                    ## TAILCALL
LBB0_25:
	movq	%r14, %rdi
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_read_elif                      ## TAILCALL
LBB0_26:
	movq	%r14, %rdi
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_read_else                      ## TAILCALL
LBB0_27:
	movq	%r14, %rdi
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_read_endif                     ## TAILCALL
LBB0_28:
	movq	%r14, %rdi
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_read_error                     ## TAILCALL
LBB0_29:
	xorl	%eax, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_read_if                        ## TAILCALL
LBB0_30:
	xorl	%eax, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_read_ifdef                     ## TAILCALL
LBB0_31:
	xorl	%eax, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_read_ifndef                    ## TAILCALL
LBB0_12:
	movl	16(%rbx), %esi
	movq	%r14, %rdi
	movl	$1, %edx
	jmp	LBB0_13
LBB0_15:
	movl	16(%rbx), %esi
	movq	%r14, %rdi
	xorl	%edx, %edx
LBB0_13:
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_read_include                   ## TAILCALL
LBB0_32:
	movl	16(%rbx), %esi
	movq	%r14, %rdi
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_read_include_next              ## TAILCALL
LBB0_33:
	xorl	%eax, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_read_line                      ## TAILCALL
LBB0_34:
	xorl	%eax, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_read_pragma                    ## TAILCALL
LBB0_35:
	xorl	%eax, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_read_undef                     ## TAILCALL
LBB0_36:
	movq	%r14, %rdi
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_read_warning                   ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	_TNEWLINE,8,3                   ## @TNEWLINE
	.comm	_TNUMBER,8,3                    ## @TNUMBER
	.comm	_TIDENT,8,3                     ## @TIDENT
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"define"

L_.str.1:                               ## @.str.1
	.asciz	"elif"

L_.str.2:                               ## @.str.2
	.asciz	"else"

L_.str.3:                               ## @.str.3
	.asciz	"endif"

L_.str.4:                               ## @.str.4
	.asciz	"error"

L_.str.5:                               ## @.str.5
	.asciz	"if"

L_.str.6:                               ## @.str.6
	.asciz	"ifdef"

L_.str.7:                               ## @.str.7
	.asciz	"ifndef"

L_.str.8:                               ## @.str.8
	.asciz	"import"

L_.str.9:                               ## @.str.9
	.asciz	"include"

L_.str.10:                              ## @.str.10
	.asciz	"include_next"

L_.str.11:                              ## @.str.11
	.asciz	"line"

L_.str.12:                              ## @.str.12
	.asciz	"pragma"

L_.str.13:                              ## @.str.13
	.asciz	"undef"

L_.str.14:                              ## @.str.14
	.asciz	"warning"

L_.str.15:                              ## @.str.15
	.asciz	"unsupported preprocessor directive: %s"

	.no_dead_strip	_read_directive
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function read_directive
_read_directive:                        ; @read_directive
	.cfi_startproc
; %bb.0:
	stp	x22, x21, [sp, #-48]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 48
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #32]             ; 16-byte Folded Spill
	add	x29, sp, #32
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	mov	x19, x0
	bl	_lex
	ldr	x8, [x0]
Lloh0:
	adrp	x9, _TNEWLINE@GOTPAGE
Lloh1:
	ldr	x9, [x9, _TNEWLINE@GOTPAGEOFF]
Lloh2:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_2
; %bb.1:
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	ret
LBB0_2:
	mov	x20, x0
Lloh3:
	adrp	x9, _TNUMBER@GOTPAGE
Lloh4:
	ldr	x9, [x9, _TNUMBER@GOTPAGEOFF]
Lloh5:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_4
; %bb.3:
	mov	x0, x20
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_read_linemarker
LBB0_4:
Lloh6:
	adrp	x9, _TIDENT@GOTPAGE
Lloh7:
	ldr	x9, [x9, _TIDENT@GOTPAGEOFF]
Lloh8:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_20
; %bb.5:
	ldr	x21, [x20, #8]
Lloh9:
	adrp	x1, l_.str@PAGE
Lloh10:
	add	x1, x1, l_.str@PAGEOFF
	mov	x0, x21
	bl	_strcmp
	cbz	w0, LBB0_21
; %bb.6:
Lloh11:
	adrp	x1, l_.str.1@PAGE
Lloh12:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	x0, x21
	bl	_strcmp
	cbz	w0, LBB0_22
; %bb.7:
Lloh13:
	adrp	x1, l_.str.2@PAGE
Lloh14:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	x0, x21
	bl	_strcmp
	cbz	w0, LBB0_23
; %bb.8:
Lloh15:
	adrp	x1, l_.str.3@PAGE
Lloh16:
	add	x1, x1, l_.str.3@PAGEOFF
	mov	x0, x21
	bl	_strcmp
	cbz	w0, LBB0_24
; %bb.9:
Lloh17:
	adrp	x1, l_.str.4@PAGE
Lloh18:
	add	x1, x1, l_.str.4@PAGEOFF
	mov	x0, x21
	bl	_strcmp
	cbz	w0, LBB0_25
; %bb.10:
Lloh19:
	adrp	x1, l_.str.5@PAGE
Lloh20:
	add	x1, x1, l_.str.5@PAGEOFF
	mov	x0, x21
	bl	_strcmp
	cbz	w0, LBB0_26
; %bb.11:
Lloh21:
	adrp	x1, l_.str.6@PAGE
Lloh22:
	add	x1, x1, l_.str.6@PAGEOFF
	mov	x0, x21
	bl	_strcmp
	cbz	w0, LBB0_27
; %bb.12:
Lloh23:
	adrp	x1, l_.str.7@PAGE
Lloh24:
	add	x1, x1, l_.str.7@PAGEOFF
	mov	x0, x21
	bl	_strcmp
	cbz	w0, LBB0_28
; %bb.13:
Lloh25:
	adrp	x1, l_.str.8@PAGE
Lloh26:
	add	x1, x1, l_.str.8@PAGEOFF
	mov	x0, x21
	bl	_strcmp
	cbz	w0, LBB0_29
; %bb.14:
Lloh27:
	adrp	x1, l_.str.9@PAGE
Lloh28:
	add	x1, x1, l_.str.9@PAGEOFF
	mov	x0, x21
	bl	_strcmp
	cbz	w0, LBB0_30
; %bb.15:
Lloh29:
	adrp	x1, l_.str.10@PAGE
Lloh30:
	add	x1, x1, l_.str.10@PAGEOFF
	mov	x0, x21
	bl	_strcmp
	cbz	w0, LBB0_32
; %bb.16:
Lloh31:
	adrp	x1, l_.str.11@PAGE
Lloh32:
	add	x1, x1, l_.str.11@PAGEOFF
	mov	x0, x21
	bl	_strcmp
	cbz	w0, LBB0_33
; %bb.17:
Lloh33:
	adrp	x1, l_.str.12@PAGE
Lloh34:
	add	x1, x1, l_.str.12@PAGEOFF
	mov	x0, x21
	bl	_strcmp
	cbz	w0, LBB0_34
; %bb.18:
Lloh35:
	adrp	x1, l_.str.13@PAGE
Lloh36:
	add	x1, x1, l_.str.13@PAGEOFF
	mov	x0, x21
	bl	_strcmp
	cbz	w0, LBB0_35
; %bb.19:
Lloh37:
	adrp	x1, l_.str.14@PAGE
Lloh38:
	add	x1, x1, l_.str.14@PAGEOFF
	mov	x0, x21
	bl	_strcmp
	cbz	w0, LBB0_36
LBB0_20:
	mov	x0, x20
	bl	_tok2s
	mov	x2, x0
Lloh39:
	adrp	x1, l_.str.15@PAGE
Lloh40:
	add	x1, x1, l_.str.15@PAGEOFF
	mov	x0, x19
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_errort
LBB0_21:
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_read_define
LBB0_22:
	mov	x0, x19
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_read_elif
LBB0_23:
	mov	x0, x19
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_read_else
LBB0_24:
	mov	x0, x19
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_read_endif
LBB0_25:
	mov	x0, x19
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_read_error
LBB0_26:
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_read_if
LBB0_27:
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_read_ifdef
LBB0_28:
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_read_ifndef
LBB0_29:
	ldr	w1, [x20, #16]
	mov	x0, x19
	mov	w2, #1
	b	LBB0_31
LBB0_30:
	ldr	w1, [x20, #16]
	mov	x0, x19
	mov	w2, #0
LBB0_31:
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_read_include
LBB0_32:
	ldr	w1, [x20, #16]
	mov	x0, x19
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_read_include_next
LBB0_33:
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_read_line
LBB0_34:
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_read_pragma
LBB0_35:
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_read_undef
LBB0_36:
	mov	x0, x19
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_read_warning
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpAdd	Lloh9, Lloh10
	.loh AdrpAdd	Lloh11, Lloh12
	.loh AdrpAdd	Lloh13, Lloh14
	.loh AdrpAdd	Lloh15, Lloh16
	.loh AdrpAdd	Lloh17, Lloh18
	.loh AdrpAdd	Lloh19, Lloh20
	.loh AdrpAdd	Lloh21, Lloh22
	.loh AdrpAdd	Lloh23, Lloh24
	.loh AdrpAdd	Lloh25, Lloh26
	.loh AdrpAdd	Lloh27, Lloh28
	.loh AdrpAdd	Lloh29, Lloh30
	.loh AdrpAdd	Lloh31, Lloh32
	.loh AdrpAdd	Lloh33, Lloh34
	.loh AdrpAdd	Lloh35, Lloh36
	.loh AdrpAdd	Lloh37, Lloh38
	.loh AdrpAdd	Lloh39, Lloh40
	.cfi_endproc
                                        ; -- End function
	.comm	_TNEWLINE,8,3                   ; @TNEWLINE
	.comm	_TNUMBER,8,3                    ; @TNUMBER
	.comm	_TIDENT,8,3                     ; @TIDENT
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"define"

l_.str.1:                               ; @.str.1
	.asciz	"elif"

l_.str.2:                               ; @.str.2
	.asciz	"else"

l_.str.3:                               ; @.str.3
	.asciz	"endif"

l_.str.4:                               ; @.str.4
	.asciz	"error"

l_.str.5:                               ; @.str.5
	.asciz	"if"

l_.str.6:                               ; @.str.6
	.asciz	"ifdef"

l_.str.7:                               ; @.str.7
	.asciz	"ifndef"

l_.str.8:                               ; @.str.8
	.asciz	"import"

l_.str.9:                               ; @.str.9
	.asciz	"include"

l_.str.10:                              ; @.str.10
	.asciz	"include_next"

l_.str.11:                              ; @.str.11
	.asciz	"line"

l_.str.12:                              ; @.str.12
	.asciz	"pragma"

l_.str.13:                              ; @.str.13
	.asciz	"undef"

l_.str.14:                              ; @.str.14
	.asciz	"warning"

l_.str.15:                              ; @.str.15
	.asciz	"unsupported preprocessor directive: %s"

	.no_dead_strip	_read_directive
.subsections_via_symbols
