	.file	"extr_c-common.c_warn_about_parentheses.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC0:
	.string	"suggest parentheses around + or - inside shift"
	.align 8
.LC1:
	.string	"suggest parentheses around && within ||"
	.align 8
.LC2:
	.string	"suggest parentheses around arithmetic in operand of |"
	.align 8
.LC3:
	.string	"suggest parentheses around comparison in operand of |"
	.align 8
.LC4:
	.string	"suggest parentheses around arithmetic in operand of ^"
	.align 8
.LC5:
	.string	"suggest parentheses around comparison in operand of ^"
	.align 8
.LC6:
	.string	"suggest parentheses around + or - in operand of &"
	.align 8
.LC7:
	.string	"suggest parentheses around comparison in operand of &"
	.align 8
.LC8:
	.string	"comparisons like X<=Y<=Z do not have their mathematical meaning"
	.text
	.p2align 4
	.globl	warn_about_parentheses
	.type	warn_about_parentheses, @function
warn_about_parentheses:
.LFB0:
	.cfi_startproc
	endbr64
	mov	eax, DWORD PTR warn_parentheses[rip]
	test	eax, eax
	je	.L48
	cmp	DWORD PTR LSHIFT_EXPR[rip], edi
	push	r13
	.cfi_def_cfa_offset 16
	.cfi_offset 13, -16
	mov	r13d, edx
	push	r12
	.cfi_def_cfa_offset 24
	.cfi_offset 12, -24
	mov	r12d, esi
	push	rbp
	.cfi_def_cfa_offset 32
	.cfi_offset 6, -32
	mov	ebp, edi
	je	.L4
	cmp	DWORD PTR RSHIFT_EXPR[rip], edi
	je	.L4
.L5:
	cmp	DWORD PTR TRUTH_ORIF_EXPR[rip], ebp
	je	.L54
.L8:
	cmp	DWORD PTR BIT_IOR_EXPR[rip], ebp
	mov	eax, DWORD PTR BIT_AND_EXPR[rip]
	je	.L55
.L10:
	cmp	DWORD PTR BIT_XOR_EXPR[rip], ebp
	je	.L56
.L15:
	cmp	ebp, eax
	je	.L57
.L21:
	mov	edi, ebp
	call	TREE_CODE_CLASS@PLT
	cmp	rax, QWORD PTR tcc_comparison[rip]
	je	.L58
.L1:
	pop	rbp
	.cfi_remember_state
	.cfi_def_cfa_offset 24
	pop	r12
	.cfi_def_cfa_offset 16
	pop	r13
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L4:
	.cfi_restore_state
	mov	eax, DWORD PTR PLUS_EXPR[rip]
	cmp	eax, r12d
	je	.L6
	mov	edx, DWORD PTR MINUS_EXPR[rip]
	cmp	eax, r13d
	sete	cl
	cmp	edx, r12d
	sete	al
	or	cl, al
	jne	.L6
	cmp	edx, r13d
	jne	.L5
.L6:
	mov	edi, DWORD PTR OPT_Wparentheses[rip]
	lea	rsi, .LC0[rip]
	call	warning@PLT
	cmp	DWORD PTR TRUTH_ORIF_EXPR[rip], ebp
	jne	.L8
.L54:
	mov	eax, DWORD PTR TRUTH_ANDIF_EXPR[rip]
	cmp	eax, r13d
	je	.L31
	cmp	eax, r12d
	jne	.L8
.L31:
	mov	edi, DWORD PTR OPT_Wparentheses[rip]
	lea	rsi, .LC1[rip]
	call	warning@PLT
	cmp	DWORD PTR BIT_IOR_EXPR[rip], ebp
	mov	eax, DWORD PTR BIT_AND_EXPR[rip]
	jne	.L10
	.p2align 4,,10
	.p2align 3
.L55:
	cmp	r12d, eax
	je	.L11
	mov	edx, DWORD PTR BIT_XOR_EXPR[rip]
	cmp	edx, r12d
	je	.L11
	mov	ecx, DWORD PTR PLUS_EXPR[rip]
	cmp	ecx, r12d
	je	.L11
	mov	esi, DWORD PTR MINUS_EXPR[rip]
	cmp	r13d, eax
	sete	al
	cmp	esi, r12d
	sete	dil
	or	eax, edi
	cmp	edx, r13d
	sete	dl
	or	eax, edx
	cmp	ecx, r13d
	sete	dl
	or	al, dl
	jne	.L11
	cmp	esi, r13d
	jne	.L12
	.p2align 4,,10
	.p2align 3
.L11:
	mov	edi, DWORD PTR OPT_Wparentheses[rip]
	lea	rsi, .LC2[rip]
	call	warning@PLT
.L12:
	mov	edi, r12d
	call	TREE_CODE_CLASS@PLT
	cmp	rax, QWORD PTR tcc_comparison[rip]
	je	.L14
	mov	edi, r13d
	call	TREE_CODE_CLASS@PLT
	cmp	rax, QWORD PTR tcc_comparison[rip]
	je	.L14
.L51:
	cmp	DWORD PTR BIT_XOR_EXPR[rip], ebp
	mov	eax, DWORD PTR BIT_AND_EXPR[rip]
	jne	.L15
.L56:
	cmp	r12d, eax
	je	.L16
	mov	edx, DWORD PTR PLUS_EXPR[rip]
	cmp	edx, r12d
	je	.L16
	mov	esi, DWORD PTR MINUS_EXPR[rip]
	cmp	esi, r12d
	sete	cl
	cmp	r13d, eax
	sete	al
	or	eax, ecx
	cmp	edx, r13d
	sete	dl
	or	al, dl
	jne	.L16
	cmp	esi, r13d
	jne	.L17
.L16:
	mov	edi, DWORD PTR OPT_Wparentheses[rip]
	lea	rsi, .LC4[rip]
	call	warning@PLT
.L17:
	mov	edi, r12d
	call	TREE_CODE_CLASS@PLT
	cmp	rax, QWORD PTR tcc_comparison[rip]
	je	.L19
	mov	edi, r13d
	call	TREE_CODE_CLASS@PLT
	cmp	rax, QWORD PTR tcc_comparison[rip]
	je	.L19
.L52:
	mov	eax, DWORD PTR BIT_AND_EXPR[rip]
	cmp	ebp, eax
	jne	.L21
.L57:
	mov	eax, DWORD PTR PLUS_EXPR[rip]
	cmp	eax, r12d
	je	.L22
	mov	edx, DWORD PTR MINUS_EXPR[rip]
	cmp	edx, r12d
	sete	cl
	cmp	eax, r13d
	sete	al
	or	cl, al
	jne	.L22
	cmp	edx, r13d
	jne	.L23
.L22:
	mov	edi, DWORD PTR OPT_Wparentheses[rip]
	lea	rsi, .LC6[rip]
	call	warning@PLT
.L23:
	mov	edi, r12d
	call	TREE_CODE_CLASS@PLT
	cmp	rax, QWORD PTR tcc_comparison[rip]
	je	.L26
	mov	edi, r13d
	call	TREE_CODE_CLASS@PLT
	cmp	rax, QWORD PTR tcc_comparison[rip]
	jne	.L21
.L26:
	mov	edi, DWORD PTR OPT_Wparentheses[rip]
	lea	rsi, .LC7[rip]
	call	warning@PLT
	mov	edi, ebp
	call	TREE_CODE_CLASS@PLT
	cmp	rax, QWORD PTR tcc_comparison[rip]
	jne	.L1
	.p2align 4,,10
	.p2align 3
.L58:
	mov	edi, r12d
	call	TREE_CODE_CLASS@PLT
	cmp	rax, QWORD PTR tcc_comparison[rip]
	je	.L30
	mov	edi, r13d
	call	TREE_CODE_CLASS@PLT
	cmp	rax, QWORD PTR tcc_comparison[rip]
	jne	.L1
.L30:
	mov	edi, DWORD PTR OPT_Wparentheses[rip]
	pop	rbp
	.cfi_restore 6
	.cfi_def_cfa_offset 24
	lea	rsi, .LC8[rip]
	pop	r12
	.cfi_restore 12
	.cfi_def_cfa_offset 16
	pop	r13
	.cfi_restore 13
	.cfi_def_cfa_offset 8
	jmp	warning@PLT
	.p2align 4,,10
	.p2align 3
.L48:
	ret
	.p2align 4,,10
	.p2align 3
.L14:
	.cfi_def_cfa_offset 32
	.cfi_offset 6, -32
	.cfi_offset 12, -24
	.cfi_offset 13, -16
	mov	edi, DWORD PTR OPT_Wparentheses[rip]
	lea	rsi, .LC3[rip]
	call	warning@PLT
	jmp	.L51
	.p2align 4,,10
	.p2align 3
.L19:
	mov	edi, DWORD PTR OPT_Wparentheses[rip]
	lea	rsi, .LC5[rip]
	call	warning@PLT
	jmp	.L52
	.cfi_endproc
.LFE0:
	.size	warn_about_parentheses, .-warn_about_parentheses
	.comm	warn_parentheses,4,4
	.comm	tcc_comparison,8,8
	.comm	TRUTH_ORIF_EXPR,4,4
	.comm	TRUTH_ANDIF_EXPR,4,4
	.comm	RSHIFT_EXPR,4,4
	.comm	PLUS_EXPR,4,4
	.comm	OPT_Wparentheses,4,4
	.comm	MINUS_EXPR,4,4
	.comm	LSHIFT_EXPR,4,4
	.comm	BIT_XOR_EXPR,4,4
	.comm	BIT_IOR_EXPR,4,4
	.comm	BIT_AND_EXPR,4,4
	.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_c-common.c_warn_about_parentheses.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"suggest parentheses around + or - inside shift\000"
	.align	2
.LC1:
	.ascii	"suggest parentheses around && within ||\000"
	.align	2
.LC2:
	.ascii	"suggest parentheses around arithmetic in operand of"
	.ascii	" |\000"
	.align	2
.LC3:
	.ascii	"suggest parentheses around comparison in operand of"
	.ascii	" |\000"
	.align	2
.LC4:
	.ascii	"suggest parentheses around arithmetic in operand of"
	.ascii	" ^\000"
	.align	2
.LC5:
	.ascii	"suggest parentheses around comparison in operand of"
	.ascii	" ^\000"
	.align	2
.LC6:
	.ascii	"suggest parentheses around + or - in operand of &\000"
	.align	2
.LC7:
	.ascii	"suggest parentheses around comparison in operand of"
	.ascii	" &\000"
	.align	2
.LC8:
	.ascii	"comparisons like X<=Y<=Z do not have their mathemat"
	.ascii	"ical meaning\000"
	.text
	.align	2
	.global	warn_about_parentheses
	.syntax unified
	.arm
	.fpu softvfp
	.type	warn_about_parentheses, %function
warn_about_parentheses:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	ldr	r3, .L55
	ldr	r3, [r3]
	cmp	r3, #0
	bxeq	lr
	ldr	r3, .L55+4
	push	{r4, r5, r6, r7, r8, r9, r10, lr}
	ldr	r3, [r3]
	mov	r4, r0
	cmp	r3, r0
	mov	r5, r1
	mov	r6, r2
	beq	.L4
	ldr	r3, .L55+8
	ldr	r3, [r3]
	cmp	r3, r0
	beq	.L4
.L5:
	ldr	r3, .L55+12
	ldr	r3, [r3]
	cmp	r3, r4
	beq	.L52
.L7:
	ldr	r3, .L55+16
	ldr	r8, .L55+20
	ldr	r2, [r3]
	ldr	r9, .L55+24
	cmp	r2, r4
	ldr	r3, [r8]
	beq	.L43
	ldr	r7, .L55+28
.L8:
	ldr	r2, [r9]
	cmp	r2, r4
	beq	.L53
.L12:
	cmp	r4, r3
	beq	.L54
.L17:
	mov	r0, r4
	bl	TREE_CODE_CLASS
	ldr	r3, [r7]
	cmp	r0, r3
	popne	{r4, r5, r6, r7, r8, r9, r10, pc}
	mov	r0, r5
	bl	TREE_CODE_CLASS
	ldr	r3, [r7]
	cmp	r0, r3
	beq	.L25
	mov	r0, r6
	bl	TREE_CODE_CLASS
	ldr	r3, [r7]
	cmp	r0, r3
	popne	{r4, r5, r6, r7, r8, r9, r10, pc}
.L25:
	ldr	r3, .L55+32
	ldr	r1, .L55+36
	ldr	r0, [r3]
	pop	{r4, r5, r6, r7, r8, r9, r10, lr}
	b	warning
.L4:
	ldr	r3, .L55+40
	ldr	r3, [r3]
	cmp	r3, r5
	beq	.L6
	ldr	r2, .L55+44
	ldr	r2, [r2]
	cmp	r2, r5
	cmpne	r3, r6
	moveq	r3, #1
	movne	r3, #0
	cmp	r2, r6
	orreq	r3, r3, #1
	cmp	r3, #0
	beq	.L5
.L6:
	ldr	r3, .L55+32
	ldr	r1, .L55+48
	ldr	r0, [r3]
	bl	warning
	ldr	r3, .L55+12
	ldr	r3, [r3]
	cmp	r3, r4
	bne	.L7
.L52:
	ldr	r3, .L55+52
	ldr	r3, [r3]
	cmp	r3, r5
	cmpne	r3, r6
	bne	.L7
	ldr	r3, .L55+32
	ldr	r1, .L55+56
	ldr	r0, [r3]
	bl	warning
	b	.L7
.L54:
	ldr	r3, .L55+40
	ldr	r3, [r3]
	cmp	r3, r5
	beq	.L18
	ldr	r2, .L55+44
	ldr	r2, [r2]
	cmp	r3, r6
	cmpne	r2, r5
	moveq	r3, #1
	movne	r3, #0
	cmp	r2, r6
	orreq	r3, r3, #1
	cmp	r3, #0
	beq	.L19
.L18:
	ldr	r3, .L55+32
	ldr	r1, .L55+60
	ldr	r0, [r3]
	bl	warning
.L19:
	mov	r0, r5
	bl	TREE_CODE_CLASS
	ldr	r3, [r7]
	cmp	r0, r3
	beq	.L21
	mov	r0, r6
	bl	TREE_CODE_CLASS
	ldr	r3, [r7]
	cmp	r0, r3
	bne	.L17
.L21:
	ldr	r3, .L55+32
	ldr	r1, .L55+64
	ldr	r0, [r3]
	bl	warning
	b	.L17
.L53:
	cmp	r5, r3
	beq	.L13
	ldr	r2, .L55+40
	ldr	r2, [r2]
	cmp	r2, r5
	beq	.L13
	ldr	r1, .L55+44
	ldr	r1, [r1]
	cmp	r6, r3
	cmpne	r1, r5
	moveq	r3, #1
	movne	r3, #0
	cmp	r2, r6
	orreq	r3, r3, #1
	cmp	r1, r6
	orreq	r3, r3, #1
	cmp	r3, #0
	beq	.L14
.L13:
	ldr	r3, .L55+32
	ldr	r1, .L55+68
	ldr	r0, [r3]
	bl	warning
.L14:
	mov	r0, r5
	bl	TREE_CODE_CLASS
	ldr	r3, [r7]
	cmp	r0, r3
	beq	.L15
	mov	r0, r6
	bl	TREE_CODE_CLASS
	ldr	r3, [r7]
	cmp	r0, r3
	beq	.L15
.L50:
	ldr	r3, [r8]
	b	.L12
.L43:
	cmp	r5, r3
	beq	.L9
	ldr	r2, [r9]
	cmp	r2, r5
	beq	.L9
	ldr	r1, .L55+40
	ldr	r1, [r1]
	cmp	r1, r5
	beq	.L9
	ldr	r0, .L55+44
	ldr	r0, [r0]
	cmp	r0, r5
	cmpne	r6, r3
	moveq	r3, #1
	movne	r3, #0
	cmp	r2, r6
	orreq	r3, r3, #1
	cmp	r1, r6
	orreq	r3, r3, #1
	cmp	r0, r6
	orreq	r3, r3, #1
	cmp	r3, #0
	beq	.L10
.L9:
	ldr	r3, .L55+32
	ldr	r1, .L55+72
	ldr	r0, [r3]
	bl	warning
.L10:
	mov	r0, r5
	bl	TREE_CODE_CLASS
	ldr	r7, .L55+28
	ldr	r3, [r7]
	cmp	r0, r3
	beq	.L11
	mov	r0, r6
	bl	TREE_CODE_CLASS
	ldr	r3, [r7]
	cmp	r0, r3
	beq	.L11
.L49:
	ldr	r3, [r8]
	b	.L8
.L15:
	ldr	r3, .L55+32
	ldr	r1, .L55+76
	ldr	r0, [r3]
	bl	warning
	b	.L50
.L11:
	ldr	r3, .L55+32
	ldr	r1, .L55+80
	ldr	r0, [r3]
	bl	warning
	b	.L49
.L56:
	.align	2
.L55:
	.word	warn_parentheses
	.word	LSHIFT_EXPR
	.word	RSHIFT_EXPR
	.word	TRUTH_ORIF_EXPR
	.word	BIT_IOR_EXPR
	.word	BIT_AND_EXPR
	.word	BIT_XOR_EXPR
	.word	tcc_comparison
	.word	OPT_Wparentheses
	.word	.LC8
	.word	PLUS_EXPR
	.word	MINUS_EXPR
	.word	.LC0
	.word	TRUTH_ANDIF_EXPR
	.word	.LC1
	.word	.LC6
	.word	.LC7
	.word	.LC4
	.word	.LC2
	.word	.LC5
	.word	.LC3
	.size	warn_about_parentheses, .-warn_about_parentheses
	.comm	warn_parentheses,4,4
	.comm	tcc_comparison,4,4
	.comm	TRUTH_ORIF_EXPR,4,4
	.comm	TRUTH_ANDIF_EXPR,4,4
	.comm	RSHIFT_EXPR,4,4
	.comm	PLUS_EXPR,4,4
	.comm	OPT_Wparentheses,4,4
	.comm	MINUS_EXPR,4,4
	.comm	LSHIFT_EXPR,4,4
	.comm	BIT_XOR_EXPR,4,4
	.comm	BIT_IOR_EXPR,4,4
	.comm	BIT_AND_EXPR,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
