// File: /workspace/github_c_makefile_star2_O3/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 0x49e6(%rip), %rdi      # 0xa9bb
callq 0x1070
movl 0x8280(%rip), %esi      # 0xe260
movl %esi, %eax
incl %eax
movl %eax, 0x8276(%rip)      # 0xe260
leaq 0x46eb(%rip), %rdi      # 0xa6dc
xorl %eax, %eax
movl $0x2a3, %edx            # imm = 0x2A3
callq 0x1080
leaq 0x826c(%rip), %r12      # 0xe270
movq (%r12), %rdi
leaq 0x4409(%rip), %r14      # 0xa418
movl $0x2a1, %edx            # imm = 0x2A1
movq %r14, %rsi
callq 0x157c
leaq 0x837d(%rip), %r15      # 0xe3a0
leaq 0x8096(%rip), %rbp      # 0xe0c0
movq (%r12), %rdi
callq 0x1334
movq %rax, %rbx
movq %rax, %rdi
movq %r15, %rsi
movq %r14, %rdx
movl $0x2a1, %ecx            # imm = 0x2A1
callq 0x1bb0
testl %eax, %eax
je 0x6073
movq (%rbx), %rdi
cmpl $0x0, 0x1b4(%rdi)
je 0x6073
addq $0x8, %rdi
movl $0x1, %r13d
movl %r13d, %esi
callq 0x1130
testl %eax, %eax
je 0x60fb
movq %rbx, %rdi
movq %r15, %rsi
movq %rbp, %rdx
movq %r14, %rcx
movl $0x2a2, %r8d            # imm = 0x2A2
callq 0x1c49
testl %eax, %eax
je 0x60a9
movq (%rbx), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x60a9
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x1904
testl %eax, %eax
jne 0x60e7
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x802a(%rip), %rdx      # 0xe0e0
movq %r14, %rcx
movl $0x2a3, %r8d            # imm = 0x2A3
callq 0x1c49
testl %eax, %eax
je 0x6105
movq (%rbx), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x6105
movq %rbx, %rdi
leaq 0x8002(%rip), %rsi      # 0xe0e0
callq 0x1904
testl %eax, %eax
je 0x6105
movq 0x8(%rbx), %rdi
movl $0x1, %esi
callq 0x1f9d
movl $0x2, %r13d
movq (%rbx), %rax
movl %r13d, 0x1b8(%rax)
cmpl $0x0, 0x8294(%rip)      # 0xe3a0
je 0x602a
movq (%rbx), %rdi
cmpl $0x0, 0x1b4(%rdi)
jne 0x6145
addq $0xd0, %rdi
movl $0x1, %esi
callq 0x1130
testl %eax, %eax
jne 0x6145
movq (%rbx), %rax
movl $0x1, 0x1b4(%rax)
jmp 0x602a
movq (%r12), %rdi
callq 0x1334
movq (%rax), %rax
movl $0x3, 0x1b8(%rax)
movq (%r12), %rdi
callq 0x1334
movq (%rax), %rax
cmpl $0x0, 0x1b4(%rax)
jg 0x617d
movq (%r12), %rdi
callq 0x195a
testl %eax, %eax
je 0x619f
movq (%r12), %rdi
callq 0x1334
movq (%rax), %rax
movl 0x1b4(%rax), %ecx
movl %ecx, %edx
decl %edx
movl %edx, 0x1b4(%rax)
testl %ecx, %ecx
jg 0x617d
jmp 0x615b
movl $0xa, %edi
callq 0x1050
movl 0x80b1(%rip), %esi      # 0xe260
movl %esi, %eax
incl %eax
movl %eax, 0x80a7(%rip)      # 0xe260
leaq 0x454d(%rip), %rdi      # 0xa70d
xorl %eax, %eax
movl $0x2ac, %edx            # imm = 0x2AC
callq 0x1080
movq (%r12), %rdi
leaq 0x4241(%rip), %r14      # 0xa418
movl $0x2a9, %edx            # imm = 0x2A9
movq %r14, %rsi
callq 0x157c
leaq 0x81b9(%rip), %r15      # 0xe3a4
movl $0x1, %r13d
movq (%r12), %rdi
callq 0x1334
movq %rax, %rbx
movq %rax, %rdi
movq %r15, %rsi
movq %r14, %rdx
movl $0x2a9, %ecx            # imm = 0x2A9
callq 0x1bb0
testl %eax, %eax
je 0x6238
movq (%rbx), %rdi
cmpl $0x0, 0x1b4(%rdi)
je 0x6238
addq $0x8, %rdi
movl $0x1, %ebp
movl %ebp, %esi
callq 0x1130
testl %eax, %eax
je 0x6345
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x7e9b(%rip), %rdx      # 0xe0e0
movq %r14, %rcx
movl $0x2aa, %r8d            # imm = 0x2AA
callq 0x1c49
testl %eax, %eax
je 0x627a
movq (%rbx), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x627a
movq %rbx, %rdi
leaq 0x7e73(%rip), %rsi      # 0xe0e0
callq 0x1904
testl %eax, %eax
jne 0x6334
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x7e99(%rip), %rdx      # 0xe120
movq %r14, %rcx
movl $0x2ab, %r8d            # imm = 0x2AB
callq 0x1c49
testl %eax, %eax
je 0x62b8
movq (%rbx), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x62b8
movq %rbx, %rdi
leaq 0x7e71(%rip), %rsi      # 0xe120
callq 0x1904
testl %eax, %eax
jne 0x6334
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x7f7b(%rip), %rdx      # 0xe240
movq %r14, %rcx
movl $0x2ac, %r8d            # imm = 0x2AC
callq 0x1c49
testl %eax, %eax
je 0x62f6
movq (%rbx), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x62f6
movq %rbx, %rdi
leaq 0x7f53(%rip), %rsi      # 0xe240
callq 0x1904
testl %eax, %eax
jne 0x6334
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x7e3d(%rip), %rdx      # 0xe140
movq %r14, %rcx
movl $0x2ad, %r8d            # imm = 0x2AD
callq 0x1c49
testl %eax, %eax
je 0x634e
movq (%rbx), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x634e
movq %rbx, %rdi
leaq 0x7e15(%rip), %rsi      # 0xe140
callq 0x1904
testl %eax, %eax
je 0x634e
movq 0x8(%rbx), %rdi
movl %r13d, %esi
callq 0x1f9d
movl $0x2, %ebp
movq (%rbx), %rax
movl %ebp, 0x1b8(%rax)
cmpl $0x0, 0x804f(%rip)      # 0xe3a4
je 0x61f1
movq (%rbx), %rdi
cmpl $0x0, 0x1b4(%rdi)
jne 0x638c
addq $0xd0, %rdi
movl %r13d, %esi
callq 0x1130
testl %eax, %eax
jne 0x638c
movq (%rbx), %rax
movl $0x1, 0x1b4(%rax)
jmp 0x61f1
movq (%r12), %rdi
callq 0x1334
movq (%rax), %rax
movl $0x3, 0x1b8(%rax)
movq (%r12), %rdi
callq 0x1334
movq (%rax), %rax
cmpl $0x0, 0x1b4(%rax)
jg 0x63c4
movq (%r12), %rdi
callq 0x195a
testl %eax, %eax
je 0x63e6
movq (%r12), %rdi
callq 0x1334
movq (%rax), %rax
movl 0x1b4(%rax), %ecx
movl %ecx, %edx
decl %edx
movl %edx, 0x1b4(%rax)
testl %ecx, %ecx
jg 0x63c4
jmp 0x63a2
movl $0xa, %edi
callq 0x1050
movl 0x7e6a(%rip), %esi      # 0xe260
movl %esi, %eax
incl %eax
movl %eax, 0x7e60(%rip)      # 0xe260
leaq 0x433d(%rip), %rdi      # 0xa744
xorl %eax, %eax
callq 0x1080
movq (%r12), %rdi
leaq 0x3fff(%rip), %rbx      # 0xa418
movl $0x2b2, %edx            # imm = 0x2B2
movq %rbx, %rsi
callq 0x157c
leaq 0x7f7b(%rip), %r14      # 0xe3a8
leaq 0x7c8c(%rip), %r15      # 0xe0c0
movq (%r12), %rdi
callq 0x1334
movq %rax, %r13
movq %rax, %rdi
movq %r14, %rsi
movq %rbx, %rdx
movl $0x2b2, %ecx            # imm = 0x2B2
callq 0x1bb0
testl %eax, %eax
je 0x647c
movq (%r13), %rdi
cmpl $0x0, 0x1b4(%rdi)
je 0x647c
addq $0x8, %rdi
movl $0x1, %ebp
movl %ebp, %esi
callq 0x1130
testl %eax, %eax
je 0x6544
movq %r13, %rdi
movq %r14, %rsi
movq %r15, %rdx
movq %rbx, %rcx
movl $0x2b3, %r8d            # imm = 0x2B3
callq 0x1c49
testl %eax, %eax
je 0x64b3
movq (%r13), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x64b3
movq %r13, %rdi
movq %r15, %rsi
callq 0x1904
testl %eax, %eax
jne 0x6531
movq %r13, %rdi
movq %r14, %rsi
leaq 0x7c60(%rip), %rdx      # 0xe120
movq %rbx, %rcx
movl $0x2b4, %r8d            # imm = 0x2B4
callq 0x1c49
testl %eax, %eax
je 0x64f2
movq (%r13), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x64f2
movq %r13, %rdi
leaq 0x7c37(%rip), %rsi      # 0xe120
callq 0x1904
testl %eax, %eax
jne 0x6531
movq %r13, %rdi
movq %r14, %rsi
leaq 0x7be1(%rip), %rdx      # 0xe0e0
movq %rbx, %rcx
movl $0x2b5, %r8d            # imm = 0x2B5
callq 0x1c49
testl %eax, %eax
je 0x654e
movq (%r13), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x654e
movq %r13, %rdi
leaq 0x7bb8(%rip), %rsi      # 0xe0e0
callq 0x1904
testl %eax, %eax
je 0x654e
movq 0x8(%r13), %rdi
movl $0x1, %esi
callq 0x1f9d
movl $0x2, %ebp
movq (%r13), %rax
movl %ebp, 0x1b8(%rax)
cmpl $0x0, 0x7e53(%rip)      # 0xe3a8
je 0x6434
movq (%r13), %rdi
cmpl $0x0, 0x1b4(%rdi)
jne 0x6590
addq $0xd0, %rdi
movl $0x1, %esi
callq 0x1130
testl %eax, %eax
jne 0x6590
movq (%r13), %rax
movl $0x1, 0x1b4(%rax)
jmp 0x6434
movq (%r12), %rdi
callq 0x1334
movq (%rax), %rax
movl $0x3, 0x1b8(%rax)
movq (%r12), %rdi
callq 0x1334
movq (%rax), %rax
cmpl $0x0, 0x1b4(%rax)
jg 0x65c8
movq (%r12), %rdi
callq 0x195a
testl %eax, %eax
je 0x65ea
movq (%r12), %rdi
callq 0x1334
movq (%rax), %rax
movl 0x1b4(%rax), %ecx
movl %ecx, %edx
decl %edx
movl %edx, 0x1b4(%rax)
testl %ecx, %ecx
jg 0x65c8
jmp 0x65a6
movl $0xa, %edi
callq 0x1050
movl 0x7c66(%rip), %esi      # 0xe260
movl %esi, %eax
incl %eax
movl %eax, 0x7c5c(%rip)      # 0xe260
leaq 0x415b(%rip), %rdi      # 0xa766
xorl %eax, %eax
movl $0x2be, %edx            # imm = 0x2BE
callq 0x1080
movq (%r12), %rdi
leaq 0x3df6(%rip), %r14      # 0xa418
movl $0x2bb, %edx            # imm = 0x2BB
movq %r14, %rsi
callq 0x157c
leaq 0x7d76(%rip), %r15      # 0xe3ac
leaq 0x7b83(%rip), %r13      # 0xe1c0
movq (%r12), %rdi
callq 0x1334
movq %rax, %rbx
movq %rax, %rdi
movq %r15, %rsi
movq %r14, %rdx
movl $0x2bb, %ecx            # imm = 0x2BB
callq 0x1bb0
testl %eax, %eax
je 0x6684
movq (%rbx), %rdi
cmpl $0x0, 0x1b4(%rdi)
je 0x6684
addq $0x8, %rdi
movl $0x1, %ebp
movl %ebp, %esi
callq 0x1130
testl %eax, %eax
je 0x6783
movq %rbx, %rdi
movq %r15, %rsi
movq %r13, %rdx
movq %r14, %rcx
movl $0x2bc, %r8d            # imm = 0x2BC
callq 0x1c49
testl %eax, %eax
je 0x66be
movq (%rbx), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x66be
movq %rbx, %rdi
movq %r13, %rsi
callq 0x1904
testl %eax, %eax
jne 0x6770
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x7a55(%rip), %rdx      # 0xe120
movq %r14, %rcx
movl $0x2bd, %r8d            # imm = 0x2BD
callq 0x1c49
testl %eax, %eax
je 0x66fc
movq (%rbx), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x66fc
movq %rbx, %rdi
leaq 0x7a2d(%rip), %rsi      # 0xe120
callq 0x1904
testl %eax, %eax
jne 0x6770
movq %rbx, %rdi
movq %r15, %rsi
movq %r13, %rdx
movq %r14, %rcx
movl $0x2be, %r8d            # imm = 0x2BE
callq 0x1c49
testl %eax, %eax
je 0x6732
movq (%rbx), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x6732
movq %rbx, %rdi
movq %r13, %rsi
callq 0x1904
testl %eax, %eax
jne 0x6770
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x7a01(%rip), %rdx      # 0xe140
movq %r14, %rcx
movl $0x2bf, %r8d            # imm = 0x2BF
callq 0x1c49
testl %eax, %eax
je 0x678c
movq (%rbx), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x678c
movq %rbx, %rdi
leaq 0x79d9(%rip), %rsi      # 0xe140
callq 0x1904
testl %eax, %eax
je 0x678c
movq 0x8(%rbx), %rdi
movl $0x1, %esi
callq 0x1f9d
movl $0x2, %ebp
movq (%rbx), %rax
movl %ebp, 0x1b8(%rax)
cmpl $0x0, 0x7c19(%rip)      # 0xe3ac
je 0x663d
movq (%rbx), %rdi
cmpl $0x0, 0x1b4(%rdi)
jne 0x67cc
addq $0xd0, %rdi
movl $0x1, %esi
callq 0x1130
testl %eax, %eax
jne 0x67cc
movq (%rbx), %rax
movl $0x1, 0x1b4(%rax)
jmp 0x663d
movq (%r12), %rdi
callq 0x1334
movq (%rax), %rax
movl $0x3, 0x1b8(%rax)
movq (%r12), %rdi
callq 0x1334
movq (%rax), %rax
cmpl $0x0, 0x1b4(%rax)
jg 0x6804
movq (%r12), %rdi
callq 0x195a
testl %eax, %eax
je 0x6826
movq (%r12), %rdi
callq 0x1334
movq (%rax), %rax
movl 0x1b4(%rax), %ecx
movl %ecx, %edx
decl %edx
movl %edx, 0x1b4(%rax)
testl %ecx, %ecx
jg 0x6804
jmp 0x67e2
movl $0xa, %edi
callq 0x1050
movl 0x7a2a(%rip), %esi      # 0xe260
movl %esi, %eax
incl %eax
movl %eax, 0x7a20(%rip)      # 0xe260
leaq 0x3f58(%rip), %rdi      # 0xa79f
xorl %eax, %eax
callq 0x1080
movq (%r12), %rdi
leaq 0x3bbf(%rip), %rbx      # 0xa418
movl $0x2c4, %ebp            # imm = 0x2C4
movq %rbx, %rsi
movl %ebp, %edx
callq 0x157c
leaq 0x7b41(%rip), %r14      # 0xe3b0
movl $0x1, %r15d
movq (%r12), %rdi
callq 0x1334
movq %rax, %r13
movq %rax, %rdi
movq %r14, %rsi
movq %rbx, %rdx
movl %ebp, %ecx
callq 0x1bb0
testl %eax, %eax
je 0x68c0
movq (%r13), %rdi
cmpl $0x0, 0x1b4(%rdi)
je 0x68c0
addq $0x8, %rdi
movl %r15d, %esi
callq 0x1130
testl %eax, %eax
jne 0x68c0
movq (%r13), %rax
movl $0x1, 0x1b8(%rax)
cmpl $0x0, 0x7ae9(%rip)      # 0xe3b0
je 0x6875
movq (%r13), %rdi
cmpl $0x0, 0x1b4(%rdi)
jne 0x68fc
addq $0xd0, %rdi
movl %r15d, %esi
callq 0x1130
testl %eax, %eax
jne 0x68fc
movq (%r13), %rax
movl $0x1, 0x1b4(%rax)
jmp 0x6875
movq (%r12), %rdi
callq 0x1334
movq (%rax), %rax
movl $0x3, 0x1b8(%rax)
movq (%r12), %rdi
callq 0x1334
movq (%rax), %rax
cmpl $0x0, 0x1b4(%rax)
jg 0x6934
movq (%r12), %rdi
callq 0x195a
testl %eax, %eax
je 0x6956
movq (%r12), %rdi
callq 0x1334
movq (%rax), %rax
movl 0x1b4(%rax), %ecx
movl %ecx, %edx
decl %edx
movl %edx, 0x1b4(%rax)
testl %ecx, %ecx
jg 0x6934
jmp 0x6912
movl $0xa, %edi
callq 0x1050
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq