// File: /workspace/github_c_makefile_star2_O2/meaning-matters[P]Except/Test.c
// Function: TestCheck
static void TestCheck(void)
{
    printf("\nCHECK TESTS -------------------------------------------\n\n");

    printf("-->%2d: Superfluous catch Exception at line %d?\n", testNum++,
           __LINE__ + 3);
    try;
    catch (Throwable, e);
    catch (Exception, e);
    finally;
    printf("\n");

    printf("-->%2d: Superfluous catch Level2Exception at line %d?\n", testNum++,
            __LINE__ + 4);
    try;
    catch (Exception, e);
    catch (FailedAssertion, e);
    catch (Level2Exception, e);
    catch (RuntimeException, e);
    finally;
    printf("\n");

    printf("-->%2d: Two superfluous catches?\n", testNum++);
    try;
    catch (Throwable, e);
    catch (FailedAssertion, e);
    catch (Exception, e);
    finally;
    printf("\n");

    printf("-->%2d: Duplicate catch (SegmentationFault) at line %d?\n", 
           testNum++, __LINE__ + 4);
    try;
    catch (SegmentationFault, e);
    catch (FailedAssertion, e);
    catch (SegmentationFault, e);
    catch (RuntimeException, e);
    finally;
    printf("\n");

    printf("-->%2d: Warning: No catches?\n", testNum++);
    try;
    finally;
    printf("\n");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
leaq 0x4bc2(%rip), %rdi      # 0xa9bb
callq 0x1070
movl 0x845c(%rip), %esi      # 0xe260
movl %esi, %eax
incl %eax
movl %eax, 0x8452(%rip)      # 0xe260
leaq 0x48c7(%rip), %rdi      # 0xa6dc
xorl %eax, %eax
movl $0x2a3, %edx            # imm = 0x2A3
callq 0x1080
leaq 0x8448(%rip), %r12      # 0xe270
movq (%r12), %rdi
leaq 0x45e5(%rip), %r14      # 0xa418
movl $0x2a1, %edx            # imm = 0x2A1
movq %r14, %rsi
callq 0x14e8
leaq 0x8559(%rip), %r15      # 0xe3a0
leaq 0x8272(%rip), %rbp      # 0xe0c0
pushq $0x1
popq %r13
movq (%r12), %rdi
callq 0x1290
movq %rax, %rbx
movq %rax, %rdi
movq %r15, %rsi
movq %r14, %rdx
movl $0x2a1, %ecx            # imm = 0x2A1
callq 0x1b23
testl %eax, %eax
je 0x5e98
movq (%rbx), %rdi
cmpl $0x0, 0x1b4(%rdi)
je 0x5e98
addq $0x8, %rdi
movl %r13d, %esi
callq 0x1130
movl %r13d, %ecx
testl %eax, %eax
je 0x5f1b
movq %rbx, %rdi
movq %r15, %rsi
movq %rbp, %rdx
movq %r14, %rcx
movl $0x2a2, %r8d            # imm = 0x2A2
callq 0x1bb7
testl %eax, %eax
je 0x5ece
movq (%rbx), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x5ece
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x1867
testl %eax, %eax
jne 0x5f0c
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x8205(%rip), %rdx      # 0xe0e0
movq %r14, %rcx
movl $0x2a3, %r8d            # imm = 0x2A3
callq 0x1bb7
testl %eax, %eax
je 0x5f24
movq (%rbx), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x5f24
movq %rbx, %rdi
leaq 0x81dd(%rip), %rsi      # 0xe0e0
callq 0x1867
testl %eax, %eax
je 0x5f24
movq 0x8(%rbx), %rdi
movl %r13d, %esi
callq 0x1f02
pushq $0x2
popq %rcx
movq (%rbx), %rax
movl %ecx, 0x1b8(%rax)
cmpl $0x0, 0x8475(%rip)      # 0xe3a0
je 0x5e52
movq (%rbx), %rdi
cmpl $0x0, 0x1b4(%rdi)
jne 0x5f62
addq $0xd0, %rdi
movl %r13d, %esi
callq 0x1130
testl %eax, %eax
jne 0x5f62
movq (%rbx), %rax
movl $0x1, 0x1b4(%rax)
jmp 0x5e52
movq (%r12), %rdi
callq 0x1290
movq (%rax), %rax
movl $0x3, 0x1b8(%rax)
movq (%r12), %rdi
callq 0x1290
movq (%rax), %rax
cmpl $0x0, 0x1b4(%rax)
jg 0x5f9a
movq (%r12), %rdi
callq 0x18d5
testl %eax, %eax
je 0x5fbc
movq (%r12), %rdi
callq 0x1290
movq (%rax), %rax
movl 0x1b4(%rax), %ecx
movl %ecx, %edx
decl %edx
movl %edx, 0x1b4(%rax)
testl %ecx, %ecx
jg 0x5f9a
jmp 0x5f78
pushq $0xa
popq %rdi
callq 0x1050
movl 0x8296(%rip), %esi      # 0xe260
movl %esi, %eax
incl %eax
movl %eax, 0x828c(%rip)      # 0xe260
leaq 0x4732(%rip), %rdi      # 0xa70d
xorl %eax, %eax
movl $0x2ac, %edx            # imm = 0x2AC
callq 0x1080
movq (%r12), %rdi
leaq 0x4426(%rip), %r14      # 0xa418
movl $0x2a9, %edx            # imm = 0x2A9
movq %r14, %rsi
callq 0x14e8
leaq 0x839e(%rip), %r15      # 0xe3a4
leaq 0x80d3(%rip), %rbp      # 0xe0e0
pushq $0x1
popq %r13
movq (%r12), %rdi
callq 0x1290
movq %rax, %rbx
movq %rax, %rdi
movq %r15, %rsi
movq %r14, %rdx
movl $0x2a9, %ecx            # imm = 0x2A9
callq 0x1b23
testl %eax, %eax
je 0x6057
movq (%rbx), %rdi
cmpl $0x0, 0x1b4(%rdi)
je 0x6057
addq $0x8, %rdi
movl %r13d, %esi
callq 0x1130
movl %r13d, %ecx
testl %eax, %eax
je 0x615a
movq %rbx, %rdi
movq %r15, %rsi
movq %rbp, %rdx
movq %r14, %rcx
movl $0x2aa, %r8d            # imm = 0x2AA
callq 0x1bb7
testl %eax, %eax
je 0x6091
movq (%rbx), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x6091
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x1867
testl %eax, %eax
jne 0x614b
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x8082(%rip), %rdx      # 0xe120
movq %r14, %rcx
movl $0x2ab, %r8d            # imm = 0x2AB
callq 0x1bb7
testl %eax, %eax
je 0x60cf
movq (%rbx), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x60cf
movq %rbx, %rdi
leaq 0x805a(%rip), %rsi      # 0xe120
callq 0x1867
testl %eax, %eax
jne 0x614b
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x8164(%rip), %rdx      # 0xe240
movq %r14, %rcx
movl $0x2ac, %r8d            # imm = 0x2AC
callq 0x1bb7
testl %eax, %eax
je 0x610d
movq (%rbx), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x610d
movq %rbx, %rdi
leaq 0x813c(%rip), %rsi      # 0xe240
callq 0x1867
testl %eax, %eax
jne 0x614b
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x8026(%rip), %rdx      # 0xe140
movq %r14, %rcx
movl $0x2ad, %r8d            # imm = 0x2AD
callq 0x1bb7
testl %eax, %eax
je 0x6163
movq (%rbx), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x6163
movq %rbx, %rdi
leaq 0x7ffe(%rip), %rsi      # 0xe140
callq 0x1867
testl %eax, %eax
je 0x6163
movq 0x8(%rbx), %rdi
movl %r13d, %esi
callq 0x1f02
pushq $0x2
popq %rcx
movq (%rbx), %rax
movl %ecx, 0x1b8(%rax)
cmpl $0x0, 0x823a(%rip)      # 0xe3a4
je 0x6011
movq (%rbx), %rdi
cmpl $0x0, 0x1b4(%rdi)
jne 0x61a1
addq $0xd0, %rdi
movl %r13d, %esi
callq 0x1130
testl %eax, %eax
jne 0x61a1
movq (%rbx), %rax
movl $0x1, 0x1b4(%rax)
jmp 0x6011
movq (%r12), %rdi
callq 0x1290
movq (%rax), %rax
movl $0x3, 0x1b8(%rax)
movq (%r12), %rdi
callq 0x1290
movq (%rax), %rax
cmpl $0x0, 0x1b4(%rax)
jg 0x61d9
movq (%r12), %rdi
callq 0x18d5
testl %eax, %eax
je 0x61fb
movq (%r12), %rdi
callq 0x1290
movq (%rax), %rax
movl 0x1b4(%rax), %ecx
movl %ecx, %edx
decl %edx
movl %edx, 0x1b4(%rax)
testl %ecx, %ecx
jg 0x61d9
jmp 0x61b7
pushq $0xa
popq %rdi
callq 0x1050
movl 0x8057(%rip), %esi      # 0xe260
movl %esi, %eax
incl %eax
movl %eax, 0x804d(%rip)      # 0xe260
leaq 0x452a(%rip), %rdi      # 0xa744
xorl %eax, %eax
callq 0x1080
movq (%r12), %rdi
leaq 0x41ec(%rip), %rbx      # 0xa418
movl $0x2b2, %edx            # imm = 0x2B2
movq %rbx, %rsi
callq 0x14e8
leaq 0x8168(%rip), %r14      # 0xe3a8
leaq 0x7e79(%rip), %r15      # 0xe0c0
pushq $0x1
popq %rbp
movq (%r12), %rdi
callq 0x1290
movq %rax, %r13
movq %rax, %rdi
movq %r14, %rsi
movq %rbx, %rdx
movl $0x2b2, %ecx            # imm = 0x2B2
callq 0x1b23
testl %eax, %eax
je 0x628f
movq (%r13), %rdi
cmpl $0x0, 0x1b4(%rdi)
je 0x628f
addq $0x8, %rdi
movl %ebp, %esi
callq 0x1130
movl %ebp, %ecx
testl %eax, %eax
je 0x6352
movq %r13, %rdi
movq %r14, %rsi
movq %r15, %rdx
movq %rbx, %rcx
movl $0x2b3, %r8d            # imm = 0x2B3
callq 0x1bb7
testl %eax, %eax
je 0x62c6
movq (%r13), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x62c6
movq %r13, %rdi
movq %r15, %rsi
callq 0x1867
testl %eax, %eax
jne 0x6344
movq %r13, %rdi
movq %r14, %rsi
leaq 0x7e4d(%rip), %rdx      # 0xe120
movq %rbx, %rcx
movl $0x2b4, %r8d            # imm = 0x2B4
callq 0x1bb7
testl %eax, %eax
je 0x6305
movq (%r13), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x6305
movq %r13, %rdi
leaq 0x7e24(%rip), %rsi      # 0xe120
callq 0x1867
testl %eax, %eax
jne 0x6344
movq %r13, %rdi
movq %r14, %rsi
leaq 0x7dce(%rip), %rdx      # 0xe0e0
movq %rbx, %rcx
movl $0x2b5, %r8d            # imm = 0x2B5
callq 0x1bb7
testl %eax, %eax
je 0x635c
movq (%r13), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x635c
movq %r13, %rdi
leaq 0x7da5(%rip), %rsi      # 0xe0e0
callq 0x1867
testl %eax, %eax
je 0x635c
movq 0x8(%r13), %rdi
movl %ebp, %esi
callq 0x1f02
pushq $0x2
popq %rcx
movq (%r13), %rax
movl %ecx, 0x1b8(%rax)
cmpl $0x0, 0x8045(%rip)      # 0xe3a8
je 0x624a
movq (%r13), %rdi
cmpl $0x0, 0x1b4(%rdi)
jne 0x639b
addq $0xd0, %rdi
movl %ebp, %esi
callq 0x1130
testl %eax, %eax
jne 0x639b
movq (%r13), %rax
movl $0x1, 0x1b4(%rax)
jmp 0x624a
movq (%r12), %rdi
callq 0x1290
movq (%rax), %rax
movl $0x3, 0x1b8(%rax)
movq (%r12), %rdi
callq 0x1290
movq (%rax), %rax
cmpl $0x0, 0x1b4(%rax)
jg 0x63d3
movq (%r12), %rdi
callq 0x18d5
testl %eax, %eax
je 0x63f5
movq (%r12), %rdi
callq 0x1290
movq (%rax), %rax
movl 0x1b4(%rax), %ecx
movl %ecx, %edx
decl %edx
movl %edx, 0x1b4(%rax)
testl %ecx, %ecx
jg 0x63d3
jmp 0x63b1
pushq $0xa
popq %rdi
callq 0x1050
movl 0x7e5d(%rip), %esi      # 0xe260
movl %esi, %eax
incl %eax
movl %eax, 0x7e53(%rip)      # 0xe260
leaq 0x4352(%rip), %rdi      # 0xa766
xorl %eax, %eax
movl $0x2be, %edx            # imm = 0x2BE
callq 0x1080
movq (%r12), %rdi
leaq 0x3fed(%rip), %r14      # 0xa418
movl $0x2bb, %edx            # imm = 0x2BB
movq %r14, %rsi
callq 0x14e8
leaq 0x7f6d(%rip), %r15      # 0xe3ac
leaq 0x7d7a(%rip), %rbp      # 0xe1c0
pushq $0x1
popq %r13
movq (%r12), %rdi
callq 0x1290
movq %rax, %rbx
movq %rax, %rdi
movq %r15, %rsi
movq %r14, %rdx
movl $0x2bb, %ecx            # imm = 0x2BB
callq 0x1b23
testl %eax, %eax
je 0x6490
movq (%rbx), %rdi
cmpl $0x0, 0x1b4(%rdi)
je 0x6490
addq $0x8, %rdi
movl %r13d, %esi
callq 0x1130
movl %r13d, %ecx
testl %eax, %eax
je 0x658b
movq %rbx, %rdi
movq %r15, %rsi
movq %rbp, %rdx
movq %r14, %rcx
movl $0x2bc, %r8d            # imm = 0x2BC
callq 0x1bb7
testl %eax, %eax
je 0x64ca
movq (%rbx), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x64ca
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x1867
testl %eax, %eax
jne 0x657c
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x7c49(%rip), %rdx      # 0xe120
movq %r14, %rcx
movl $0x2bd, %r8d            # imm = 0x2BD
callq 0x1bb7
testl %eax, %eax
je 0x6508
movq (%rbx), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x6508
movq %rbx, %rdi
leaq 0x7c21(%rip), %rsi      # 0xe120
callq 0x1867
testl %eax, %eax
jne 0x657c
movq %rbx, %rdi
movq %r15, %rsi
movq %rbp, %rdx
movq %r14, %rcx
movl $0x2be, %r8d            # imm = 0x2BE
callq 0x1bb7
testl %eax, %eax
je 0x653e
movq (%rbx), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x653e
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x1867
testl %eax, %eax
jne 0x657c
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x7bf5(%rip), %rdx      # 0xe140
movq %r14, %rcx
movl $0x2bf, %r8d            # imm = 0x2BF
callq 0x1bb7
testl %eax, %eax
je 0x6594
movq (%rbx), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x6594
movq %rbx, %rdi
leaq 0x7bcd(%rip), %rsi      # 0xe140
callq 0x1867
testl %eax, %eax
je 0x6594
movq 0x8(%rbx), %rdi
movl %r13d, %esi
callq 0x1f02
pushq $0x2
popq %rcx
movq (%rbx), %rax
movl %ecx, 0x1b8(%rax)
cmpl $0x0, 0x7e11(%rip)      # 0xe3ac
je 0x644a
movq (%rbx), %rdi
cmpl $0x0, 0x1b4(%rdi)
jne 0x65d2
addq $0xd0, %rdi
movl %r13d, %esi
callq 0x1130
testl %eax, %eax
jne 0x65d2
movq (%rbx), %rax
movl $0x1, 0x1b4(%rax)
jmp 0x644a
movq (%r12), %rdi
callq 0x1290
movq (%rax), %rax
movl $0x3, 0x1b8(%rax)
movq (%r12), %rdi
callq 0x1290
movq (%rax), %rax
cmpl $0x0, 0x1b4(%rax)
jg 0x660a
movq (%r12), %rdi
callq 0x18d5
testl %eax, %eax
je 0x662c
movq (%r12), %rdi
callq 0x1290
movq (%rax), %rax
movl 0x1b4(%rax), %ecx
movl %ecx, %edx
decl %edx
movl %edx, 0x1b4(%rax)
testl %ecx, %ecx
jg 0x660a
jmp 0x65e8
pushq $0xa
popq %rdi
callq 0x1050
movl 0x7c26(%rip), %esi      # 0xe260
movl %esi, %eax
incl %eax
movl %eax, 0x7c1c(%rip)      # 0xe260
leaq 0x4154(%rip), %rdi      # 0xa79f
xorl %eax, %eax
callq 0x1080
movq (%r12), %rdi
leaq 0x3dbb(%rip), %rbx      # 0xa418
movl $0x2c4, %ebp            # imm = 0x2C4
movq %rbx, %rsi
movl %ebp, %edx
callq 0x14e8
leaq 0x7d3d(%rip), %r14      # 0xe3b0
pushq $0x1
popq %r15
movq (%r12), %rdi
callq 0x1290
movq %rax, %r13
movq %rax, %rdi
movq %r14, %rsi
movq %rbx, %rdx
movl %ebp, %ecx
callq 0x1b23
testl %eax, %eax
je 0x66c2
movq (%r13), %rdi
cmpl $0x0, 0x1b4(%rdi)
je 0x66c2
addq $0x8, %rdi
movl %r15d, %esi
callq 0x1130
testl %eax, %eax
jne 0x66c2
movq (%r13), %rax
movl $0x1, 0x1b8(%rax)
cmpl $0x0, 0x7ce7(%rip)      # 0xe3b0
je 0x6677
movq (%r13), %rdi
cmpl $0x0, 0x1b4(%rdi)
jne 0x66fe
addq $0xd0, %rdi
movl %r15d, %esi
callq 0x1130
testl %eax, %eax
jne 0x66fe
movq (%r13), %rax
movl $0x1, 0x1b4(%rax)
jmp 0x6677
movq (%r12), %rdi
callq 0x1290
movq (%rax), %rax
movl $0x3, 0x1b8(%rax)
movq (%r12), %rdi
callq 0x1290
movq (%rax), %rax
cmpl $0x0, 0x1b4(%rax)
jg 0x6736
movq (%r12), %rdi
callq 0x18d5
testl %eax, %eax
je 0x6758
movq (%r12), %rdi
callq 0x1290
movq (%rax), %rax
movl 0x1b4(%rax), %ecx
movl %ecx, %edx
decl %edx
movl %edx, 0x1b4(%rax)
testl %ecx, %ecx
jg 0x6736
jmp 0x6714
pushq $0xa
popq %rdi
callq 0x1050
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq