// File: /workspace/github_c_makefile_star2_O2/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 0x3172(%rip), %r13      # 0x5150
leaq 0x3e9b(%rip), %r14      # 0x5e80
leaq 0x3694(%rip), %r15      # 0x5680
leaq 0x1(%r15), %r12
movq (%r13), %rdi
callq 0x1110
movq %rax, (%r14)
movq (%r13), %rdx
movq %r15, %rdi
movl $0x800, %esi            # imm = 0x800
callq 0x10e0
testq %rax, %rax
je 0x21a7
leaq 0x3653(%rip), %rax      # 0x5670
incl (%rax)
cmpb $0x25, (%r15)
movq %r15, %rbx
cmoveq %r12, %rbx
callq 0x11e0
movq %rax, %rbp
movq %rbx, 0x3e4f(%rip)      # 0x5e88
movq (%rbp), %rcx
movsbq (%rbx), %rax
incq %rbx
testb $0x20, 0x1(%rcx,%rax,2)
jne 0x2032
movzbl %al, %eax
testl %eax, %eax
je 0x1ff0
orl $0x20, %eax
leal -0x63(%rax), %ecx
cmpl $0x9, %ecx
ja 0x2086
leaq 0x1148(%rip), %rdx      # 0x31ac
movslq (%rdx,%rcx,4), %rax
addq %rdx, %rax
jmpq *%rax
leaq 0x1160(%rip), %rdi      # 0x31d4
callq 0x21b8
testl %eax, %eax
jne 0x20ad
leaq 0x1158(%rip), %rdi      # 0x31dc
jmp 0x20a4
cmpl $0x72, %eax
jne 0x20b2
leaq 0x1175(%rip), %rdi      # 0x3207
jmp 0x20a4
leaq 0x115c(%rip), %rdi      # 0x31f7
jmp 0x20a4
leaq 0x115b(%rip), %rdi      # 0x31ff
callq 0x21b8
testl %eax, %eax
je 0x20b2
callq 0x21e2
movq 0x3dcf(%rip), %rax      # 0x5e88
incq %rax
movq (%rbp), %rdx
movsbq -0x1(%rax), %rcx
testb $0x20, 0x1(%rdx,%rcx,2)
je 0x20d5
movq %rax, 0x3db5(%rip)      # 0x5e88
jmp 0x20b9
movzbl %cl, %eax
testl %eax, %eax
je 0x1ff0
orl $0x20, %eax
cmpl $0x73, %eax
je 0x214b
cmpl $0x70, %eax
je 0x2132
cmpl $0x66, %eax
jne 0x1ff0
leaq 0x110f(%rip), %rdi      # 0x320c
jmp 0x2152
leaq 0x10e0(%rip), %rdi      # 0x31e6
callq 0x21b8
testl %eax, %eax
je 0x20b2
movq 0x3d72(%rip), %rax      # 0x5e88
incq %rax
movq (%rbp), %rdx
movsbq -0x1(%rax), %rcx
testb $0x20, 0x1(%rdx,%rcx,2)
je 0x2186
movq %rax, 0x3d58(%rip)      # 0x5e88
jmp 0x2116
leaq 0x10dc(%rip), %rdi      # 0x3215
callq 0x21b8
testl %eax, %eax
jne 0x215f
leaq 0x10d4(%rip), %rdi      # 0x321d
jmp 0x2152
leaq 0x10d5(%rip), %rdi      # 0x3227
callq 0x21b8
testl %eax, %eax
je 0x1ff0
movq 0x3d22(%rip), %rax      # 0x5e88
incq %rax
movq (%rbp), %rcx
movsbq -0x1(%rax), %rdx
testb $0x20, 0x1(%rcx,%rdx,2)
je 0x1ff0
movq %rax, 0x3d04(%rip)      # 0x5e88
jmp 0x2166
testb %cl, %cl
je 0x1ff0
leaq 0x1058(%rip), %rdi      # 0x31ed
callq 0x21b8
testl %eax, %eax
jne 0x20b2
jmp 0x1ff0
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq