// File: /workspace/github_c_makefile_star2_O3/darwin-on-arm[P]darwin-sdk/developer_cmds/ctags/fortran.c
// Function: PF_funcs
int
PF_funcs()
{
	bool	pfcnt;			/* pascal/fortran functions found */
	char	*cp;
	char	tok[MAXTOKEN];

	for (pfcnt = NO;;) {
		lineftell = ftell(inf);
		if (!fgets(lbuf, sizeof(lbuf), inf))
			return (pfcnt);
		++lineno;
		lbp = lbuf;
		if (*lbp == '%')	/* Ratfor escape to fortran */
			++lbp;
		for (; isspace(*lbp); ++lbp)
			continue;
		if (!*lbp)
			continue;
		switch (*lbp | ' ') {	/* convert to lower-case */
		case 'c':
			if (cicmp("complex") || cicmp("character"))
				takeprec();
			break;
		case 'd':
			if (cicmp("double")) {
				for (; isspace(*lbp); ++lbp)
					continue;
				if (!*lbp)
					continue;
				if (cicmp("precision"))
					break;
				continue;
			}
			break;
		case 'i':
			if (cicmp("integer"))
				takeprec();
			break;
		case 'l':
			if (cicmp("logical"))
				takeprec();
			break;
		case 'r':
			if (cicmp("real"))
				takeprec();
			break;
		}
		for (; isspace(*lbp); ++lbp)
			continue;
		if (!*lbp)
			continue;
		switch (*lbp | ' ') {
		case 'f':
			if (cicmp("function"))
				break;
			continue;
		case 'p':
			if (cicmp("program") || cicmp("procedure"))
				break;
			continue;
		case 's':
			if (cicmp("subroutine"))
				break;
		default:
			continue;
		}
		for (; isspace(*lbp); ++lbp)
			continue;
		if (!*lbp)
			continue;
		for (cp = lbp + 1; *cp && intoken(*cp); ++cp)
			continue;
		if ((cp = lbp + 1) != NULL)
			continue;
		*cp = EOS;
		(void)strcpy(tok, lbp);
		ct_getline();			/* process line for ex(1) */
		pfnote(tok, lineno);
		pfcnt = YES;
	}
	/*NOTREACHED*/
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
leaq 0x30a6(%rip), %r15      # 0x5150
movq (%r15), %rdi
callq 0x1120
leaq 0x3dc7(%rip), %rcx      # 0x5e80
movq %rax, (%rcx)
movq (%r15), %rdx
leaq 0x35ba(%rip), %rbx      # 0x5680
movq %rbx, %rdi
movl $0x800, %esi            # imm = 0x800
callq 0x10f0
testq %rax, %rax
je 0x23fc
callq 0x11e0
movq %rax, %r14
leaq 0x1(%rbx), %rbp
leaq 0x1104(%rip), %r13      # 0x31f3
leaq 0x1105(%rip), %r12      # 0x31fb
leaq 0x3573(%rip), %rax      # 0x5670
incl (%rax)
cmpb $0x25, (%rbx)
movq %rbx, %rcx
cmoveq %rbp, %rcx
leaq -0x1(%rcx), %rax
addq $0xe, %rcx
movq %rcx, %rdx
movsbq 0x1(%rax), %rsi
incq %rax
movq %rax, 0x3d65(%rip)      # 0x5e88
movq (%r14), %rdi
incq %rcx
testb $0x20, 0x1(%rdi,%rsi,2)
jne 0x2111
movzbl %sil, %ecx
testl %ecx, %ecx
je 0x23d1
orl $0x20, %ecx
leal -0x63(%rcx), %esi
cmpl $0x9, %esi
ja 0x2183
leaq 0x105a(%rip), %rdi      # 0x31a8
movslq (%rdi,%rsi,4), %rsi
addq %rdi, %rsi
jmpq *%rsi
xorl %edx, %edx
leaq 0x1070(%rip), %rsi      # 0x31d0
xorb (%rax,%rdx), %cl
testb $-0x21, %cl
jne 0x2279
movb 0x1(%rdx,%rsi), %cl
incq %rdx
cmpq $0x7, %rdx
jne 0x2160
movl $0x7, %ecx
jmp 0x229e
cmpl $0x72, %ecx
jne 0x22ad
xorl %edx, %edx
xorb (%rax,%rdx), %cl
testb $-0x21, %cl
jne 0x22ad
leaq 0x1062(%rip), %rcx      # 0x3203
movb 0x1(%rdx,%rcx), %cl
incq %rdx
cmpq $0x4, %rdx
jne 0x218e
addq $0x4, %rax
jmp 0x22a1
xorl %edx, %edx
xorb (%rax,%rdx), %cl
testb $-0x21, %cl
jne 0x22ad
movb 0x1(%rdx,%r13), %cl
incq %rdx
cmpq $0x7, %rdx
jne 0x21b9
jmp 0x21f1
xorl %edx, %edx
xorb (%rax,%rdx), %cl
testb $-0x21, %cl
jne 0x22ad
movb 0x1(%rdx,%r12), %cl
incq %rdx
cmpq $0x7, %rdx
jne 0x21d7
addq $0x7, %rax
jmp 0x22a1
xorl %esi, %esi
xorb (%rax,%rsi), %cl
testb $-0x21, %cl
jne 0x22ad
leaq 0xfd3(%rip), %rcx       # 0x31e2
movb 0x1(%rsi,%rcx), %cl
incq %rsi
cmpq $0x6, %rsi
jne 0x21fc
leaq -0x8(%rdx), %rax
movq %rax, 0x3c61(%rip)      # 0x5e88
movq (%r14), %rcx
movsbq -0x8(%rdx), %rax
incq %rdx
testb $0x20, 0x1(%rcx,%rax,2)
jne 0x221c
testb %al, %al
je 0x23d1
leaq -0x9(%rdx), %rax
movb $0x70, %sil
movq $-0x9, %rcx
xorb (%rax), %sil
testb $-0x21, %sil
jne 0x23d1
incq %rax
leaq 0xf83(%rip), %rsi       # 0x31e9
movb 0xa(%rcx,%rsi), %sil
incq %rcx
jne 0x224f
movq %rdx, 0x3c11(%rip)      # 0x5e88
jmp 0x22ad
movb $0x63, %dl
xorl %ecx, %ecx
xorb (%rax,%rcx), %dl
testb $-0x21, %dl
jne 0x22ad
leaq 0xf4c(%rip), %rdx       # 0x31d8
movb 0x1(%rcx,%rdx), %dl
incq %rcx
cmpq $0x9, %rcx
jne 0x227d
movl $0x9, %ecx
addq %rcx, %rax
movq %rax, 0x3be0(%rip)      # 0x5e88
callq 0x244b
movq (%r14), %rdx
movq 0x3bd1(%rip), %rax      # 0x5e88
movsbq (%rax), %rcx
testb $0x20, 0x1(%rdx,%rcx,2)
je 0x22e0
incq %rax
movq %rax, 0x3bbc(%rip)      # 0x5e88
movq (%r14), %rdx
movsbq (%rax), %rcx
incq %rax
testb $0x20, 0x1(%rdx,%rcx,2)
jne 0x22c5
decq %rax
testb %cl, %cl
je 0x23d1
orb $0x20, %cl
cmpb $0x66, %cl
je 0x234f
movzbl %cl, %edx
cmpl $0x70, %edx
je 0x232a
cmpl $0x73, %edx
jne 0x23d1
xorl %edx, %edx
xorb (%rax,%rdx), %cl
testb $-0x21, %cl
jne 0x23d1
leaq 0xf0d(%rip), %rcx       # 0x3223
movb 0x1(%rdx,%rcx), %cl
incq %rdx
cmpq $0xa, %rdx
jne 0x2303
movl $0xa, %ecx
jmp 0x2399
xorl %edx, %edx
leaq 0xede(%rip), %rsi       # 0x3211
xorb (%rax,%rdx), %cl
testb $-0x21, %cl
jne 0x2374
movb 0x1(%rdx,%rsi), %cl
incq %rdx
cmpq $0x7, %rdx
jne 0x2333
movl $0x7, %ecx
jmp 0x2399
xorl %edx, %edx
xorb (%rax,%rdx), %cl
testb $-0x21, %cl
jne 0x23d1
leaq 0xea8(%rip), %rcx       # 0x3208
movb 0x1(%rdx,%rcx), %cl
incq %rdx
cmpq $0x8, %rdx
jne 0x2351
movl $0x8, %ecx
jmp 0x2399
movb $0x70, %dl
xorl %ecx, %ecx
xorb (%rax,%rcx), %dl
testb $-0x21, %dl
jne 0x23d1
leaq 0xe92(%rip), %rdx       # 0x3219
movb 0x1(%rcx,%rdx), %dl
incq %rcx
cmpq $0x9, %rcx
jne 0x2378
movl $0x9, %ecx
leaq (%rax,%rcx), %rdx
movq %rdx, 0x3ae4(%rip)      # 0x5e88
movq (%r14), %rdx
movsbq (%rax,%rcx), %rsi
testb $0x20, 0x1(%rdx,%rsi,2)
je 0x23d1
addq %rcx, %rax
incq %rax
movq %rax, 0x3ac8(%rip)      # 0x5e88
movq (%r14), %rcx
movsbq (%rax), %rdx
incq %rax
testb $0x20, 0x1(%rcx,%rdx,2)
jne 0x23b9
movq (%r15), %rdi
callq 0x1120
leaq 0x3aa0(%rip), %rcx      # 0x5e80
movq %rax, (%rcx)
movq (%r15), %rdx
movq %rbx, %rdi
movl $0x800, %esi            # imm = 0x800
callq 0x10f0
testq %rax, %rax
jne 0x20f6
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq