// File: AndreRenaud[P]simple_uart/./acutest.h
// Function: acutest_cmdline_callback_
static int
acutest_cmdline_callback_(int id, const char* arg)
{
    switch(id) {
        case 'X':
            acutest_exclude_mode_ = 1;
            break;

        case 'e':
            if(arg == NULL || strcmp(arg, "always") == 0) {
                acutest_no_exec_ = 0;
            } else if(strcmp(arg, "never") == 0) {
                acutest_no_exec_ = 1;
            } else if(strcmp(arg, "auto") == 0) {
                /*noop*/
            } else {
                fprintf(stderr, "%s: Unrecognized argument '%s' for option --exec.\n", acutest_argv0_, arg);
                fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
                acutest_exit_(2);
            }
            break;

        case 'E':
            acutest_no_exec_ = 1;
            break;

        case 't':
#if defined ACUTEST_WIN_  ||  defined ACUTEST_HAS_POSIX_TIMER_
            if(arg == NULL || strcmp(arg, "real") == 0) {
                acutest_timer_ = 1;
    #ifndef ACUTEST_WIN_
            } else if(strcmp(arg, "cpu") == 0) {
                acutest_timer_ = 2;
    #endif
            } else {
                fprintf(stderr, "%s: Unrecognized argument '%s' for option --time.\n", acutest_argv0_, arg);
                fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
                acutest_exit_(2);
            }
#endif
            break;

        case 'S':
            acutest_no_summary_ = 1;
            break;

        case 'T':
            acutest_tap_ = 1;
            break;

        case 'l':
            acutest_list_names_();
            acutest_exit_(0);
            break;

        case 'v':
            acutest_verbose_level_ = (arg != NULL ? atoi(arg) : acutest_verbose_level_+1);
            break;

        case 'q':
            acutest_verbose_level_ = 0;
            break;

        case 'c':
            if(arg == NULL || strcmp(arg, "always") == 0) {
                acutest_colorize_ = 1;
            } else if(strcmp(arg, "never") == 0) {
                acutest_colorize_ = 0;
            } else if(strcmp(arg, "auto") == 0) {
                /*noop*/
            } else {
                fprintf(stderr, "%s: Unrecognized argument '%s' for option --color.\n", acutest_argv0_, arg);
                fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
                acutest_exit_(2);
            }
            break;

        case 'C':
            acutest_colorize_ = 0;
            break;

        case 'h':
            acutest_help_();
            acutest_exit_(0);
            break;

        case 'w':
            acutest_worker_ = 1;
            acutest_worker_index_ = atoi(arg);
            break;
        case 'x':
            acutest_xml_output_ = fopen(arg, "w");
            if (!acutest_xml_output_) {
                fprintf(stderr, "Unable to open '%s': %s\n", arg, strerror(errno));
                acutest_exit_(2);
            }
            break;

        case 0:
            if(acutest_select_(arg) == 0) {
                fprintf(stderr, "%s: Unrecognized unit test '%s'\n", acutest_argv0_, arg);
                fprintf(stderr, "Try '%s --list' for list of unit tests.\n", acutest_argv0_);
                acutest_exit_(2);
            }
            break;

        case ACUTEST_CMDLINE_OPTID_UNKNOWN_:
            fprintf(stderr, "Unrecognized command line option '%s'.\n", arg);
            fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
            acutest_exit_(2);
            break;

        case ACUTEST_CMDLINE_OPTID_MISSINGARG_:
            fprintf(stderr, "The command line option '%s' requires an argument.\n", arg);
            fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
            acutest_exit_(2);
            break;

        case ACUTEST_CMDLINE_OPTID_BOGUSARG_:
            fprintf(stderr, "The command line option '%s' does not expect an argument.\n", arg);
            fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
            acutest_exit_(2);
            break;
    }

    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movl -0x4(%rbp), %eax
movl %eax, -0x14(%rbp)
subl $0x80000001, %eax       # imm = 0x80000001
je 0x42d3
jmp 0x3e52
movl -0x14(%rbp), %eax
subl $0x80000002, %eax       # imm = 0x80000002
je 0x4318
jmp 0x3e62
movl -0x14(%rbp), %eax
subl $0x80000003, %eax       # imm = 0x80000003
je 0x435d
jmp 0x3e72
movl -0x14(%rbp), %eax
testl %eax, %eax
je 0x4274
jmp 0x3e7f
movl -0x14(%rbp), %eax
subl $0x43, %eax
je 0x41d0
jmp 0x3e8d
movl -0x14(%rbp), %eax
subl $0x45, %eax
je 0x4005
jmp 0x3e9b
movl -0x14(%rbp), %eax
subl $0x53, %eax
je 0x40b0
jmp 0x3ea9
movl -0x14(%rbp), %eax
subl $0x54, %eax
je 0x40bf
jmp 0x3eb7
movl -0x14(%rbp), %eax
subl $0x58, %eax
je 0x3f3e
jmp 0x3ec1
movl -0x14(%rbp), %eax
subl $0x63, %eax
je 0x4118
jmp 0x3ecf
movl -0x14(%rbp), %eax
subl $0x65, %eax
je 0x3f4d
jmp 0x3ed9
movl -0x14(%rbp), %eax
subl $0x68, %eax
je 0x41df
jmp 0x3ee7
movl -0x14(%rbp), %eax
subl $0x6c, %eax
je 0x40ce
jmp 0x3ef5
movl -0x14(%rbp), %eax
subl $0x71, %eax
je 0x4109
jmp 0x3f03
movl -0x14(%rbp), %eax
subl $0x74, %eax
je 0x4014
jmp 0x3f11
movl -0x14(%rbp), %eax
subl $0x76, %eax
je 0x40da
jmp 0x3f1f
movl -0x14(%rbp), %eax
subl $0x77, %eax
je 0x41eb
jmp 0x3f2d
movl -0x14(%rbp), %eax
subl $0x78, %eax
je 0x4209
jmp 0x43a2
movl $0x1, 0x9528(%rip)      # 0xd470
jmp 0x43a2
cmpq $0x0, -0x10(%rbp)
je 0x3f69
movq -0x10(%rbp), %rdi
leaq 0x5a0a(%rip), %rsi      # 0x9969
callq 0x2200
cmpl $0x0, %eax
jne 0x3f78
movl $0x0, 0x9299(%rip)      # 0xd20c
jmp 0x4000
movq -0x10(%rbp), %rdi
leaq 0x59ed(%rip), %rsi      # 0x9970
callq 0x2200
cmpl $0x0, %eax
jne 0x3f99
movl $0x1, 0x9275(%rip)      # 0xd20c
jmp 0x3ffe
movq -0x10(%rbp), %rdi
leaq 0x59d2(%rip), %rsi      # 0x9976
callq 0x2200
cmpl $0x0, %eax
jne 0x3fb0
jmp 0x3ffc
movq 0x9041(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movq 0x9497(%rip), %rdx      # 0xd458
movq -0x10(%rbp), %rcx
leaq 0x59af(%rip), %rsi      # 0x997b
movb $0x0, %al
callq 0x2230
movq 0x901e(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movq 0x9474(%rip), %rdx      # 0xd458
leaq 0x59c3(%rip), %rsi      # 0x99ae
movb $0x0, %al
callq 0x2230
movl $0x2, %edi
callq 0x3300
jmp 0x3ffe
jmp 0x4000
jmp 0x43a2
movl $0x1, 0x91fd(%rip)      # 0xd20c
jmp 0x43a2
cmpq $0x0, -0x10(%rbp)
je 0x4030
movq -0x10(%rbp), %rdi
leaq 0x59af(%rip), %rsi      # 0x99d5
callq 0x2200
cmpl $0x0, %eax
jne 0x403c
movl $0x1, 0x945a(%rip)      # 0xd494
jmp 0x40ab
movq -0x10(%rbp), %rdi
leaq 0x5993(%rip), %rsi      # 0x99da
callq 0x2200
cmpl $0x0, %eax
jne 0x405d
movl $0x2, 0x9439(%rip)      # 0xd494
jmp 0x40a9
movq 0x8f94(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movq 0x93ea(%rip), %rdx      # 0xd458
movq -0x10(%rbp), %rcx
leaq 0x5965(%rip), %rsi      # 0x99de
movb $0x0, %al
callq 0x2230
movq 0x8f71(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movq 0x93c7(%rip), %rdx      # 0xd458
leaq 0x5916(%rip), %rsi      # 0x99ae
movb $0x0, %al
callq 0x2230
movl $0x2, %edi
callq 0x3300
jmp 0x40ab
jmp 0x43a2
movl $0x1, 0x93be(%rip)      # 0xd478
jmp 0x43a2
movl $0x1, 0x93ab(%rip)      # 0xd474
jmp 0x43a2
callq 0x5cf0
xorl %edi, %edi
callq 0x3300
cmpq $0x0, -0x10(%rbp)
je 0x40ef
movq -0x10(%rbp), %rdi
callq 0x2340
movl %eax, -0x18(%rbp)
jmp 0x40fb
movl 0x9113(%rip), %eax      # 0xd208
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %eax
movl %eax, 0x9104(%rip)      # 0xd208
jmp 0x43a2
movl $0x0, 0x90f5(%rip)      # 0xd208
jmp 0x43a2
cmpq $0x0, -0x10(%rbp)
je 0x4134
movq -0x10(%rbp), %rdi
leaq 0x583f(%rip), %rsi      # 0x9969
callq 0x2200
cmpl $0x0, %eax
jne 0x4143
movl $0x1, 0x9322(%rip)      # 0xd460
jmp 0x41cb
movq -0x10(%rbp), %rdi
leaq 0x5822(%rip), %rsi      # 0x9970
callq 0x2200
cmpl $0x0, %eax
jne 0x4164
movl $0x0, 0x92fe(%rip)      # 0xd460
jmp 0x41c9
movq -0x10(%rbp), %rdi
leaq 0x5807(%rip), %rsi      # 0x9976
callq 0x2200
cmpl $0x0, %eax
jne 0x417b
jmp 0x41c7
movq 0x8e76(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movq 0x92cc(%rip), %rdx      # 0xd458
movq -0x10(%rbp), %rcx
leaq 0x587a(%rip), %rsi      # 0x9a11
movb $0x0, %al
callq 0x2230
movq 0x8e53(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movq 0x92a9(%rip), %rdx      # 0xd458
leaq 0x57f8(%rip), %rsi      # 0x99ae
movb $0x0, %al
callq 0x2230
movl $0x2, %edi
callq 0x3300
jmp 0x41c9
jmp 0x41cb
jmp 0x43a2
movl $0x0, 0x9286(%rip)      # 0xd460
jmp 0x43a2
callq 0x5d50
xorl %edi, %edi
callq 0x3300
movl $0x1, 0x9287(%rip)      # 0xd47c
movq -0x10(%rbp), %rdi
callq 0x2340
movl %eax, 0x927c(%rip)      # 0xd480
jmp 0x43a2
movq -0x10(%rbp), %rdi
leaq 0x5831(%rip), %rsi      # 0x9a45
callq 0x2310
movq %rax, 0x9268(%rip)      # 0xd488
cmpq $0x0, 0x9260(%rip)      # 0xd488
jne 0x426f
movq 0x8dc7(%rip), %rax      # 0xcff8
movq (%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
callq 0x2050
movl (%rax), %edi
callq 0x2390
movq -0x28(%rbp), %rdi
movq -0x20(%rbp), %rdx
movq %rax, %rcx
leaq 0x57e9(%rip), %rsi      # 0x9a47
movb $0x0, %al
callq 0x2230
movl $0x2, %edi
callq 0x3300
jmp 0x43a2
movq -0x10(%rbp), %rdi
callq 0x5f20
cmpl $0x0, %eax
jne 0x42ce
movq 0x8d6f(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movq 0x91c5(%rip), %rdx      # 0xd458
movq -0x10(%rbp), %rcx
leaq 0x57c2(%rip), %rsi      # 0x9a60
movb $0x0, %al
callq 0x2230
movq 0x8d4c(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movq 0x91a2(%rip), %rdx      # 0xd458
leaq 0x57c4(%rip), %rsi      # 0x9a81
movb $0x0, %al
callq 0x2230
movl $0x2, %edi
callq 0x3300
jmp 0x43a2
movq 0x8d1e(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movq -0x10(%rbp), %rdx
leaq 0x57c2(%rip), %rsi      # 0x9aaa
movb $0x0, %al
callq 0x2230
movq 0x8d02(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movq 0x9158(%rip), %rdx      # 0xd458
leaq 0x56a7(%rip), %rsi      # 0x99ae
movb $0x0, %al
callq 0x2230
movl $0x2, %edi
callq 0x3300
movq 0x8cd9(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movq -0x10(%rbp), %rdx
leaq 0x57a5(%rip), %rsi      # 0x9ad2
movb $0x0, %al
callq 0x2230
movq 0x8cbd(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movq 0x9113(%rip), %rdx      # 0xd458
leaq 0x5662(%rip), %rsi      # 0x99ae
movb $0x0, %al
callq 0x2230
movl $0x2, %edi
callq 0x3300
movq 0x8c94(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movq -0x10(%rbp), %rdx
leaq 0x5794(%rip), %rsi      # 0x9b06
movb $0x0, %al
callq 0x2230
movq 0x8c78(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movq 0x90ce(%rip), %rdx      # 0xd458
leaq 0x561d(%rip), %rsi      # 0x99ae
movb $0x0, %al
callq 0x2230
movl $0x2, %edi
callq 0x3300
xorl %eax, %eax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)