// File: halfflat[P]tinyopt/test/test_option.cc
// Function: option_longest_label_Test::TestBody()
TEST(option, longest_label) {
    bool x;
    to::option a(x);
    EXPECT_EQ(""s, a.longest_label());

    to::option b(x, "-b", "--bee");
    to::option c(x, "--cee", "-c");
    EXPECT_EQ("--bee"s, b.longest_label());
    EXPECT_EQ("--cee"s, c.longest_label());
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x330, %rsp            # imm = 0x330
movq %rdi, -0x8(%rbp)
leaq -0xa0(%rbp), %rdi
movq %rdi, -0x2f8(%rbp)
leaq -0x9(%rbp), %rsi
callq 0x39180
movq -0x2f8(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0x38e20
jmp 0x2f998
leaq -0xa0(%rbp), %rdi
callq 0x1d540
leaq 0x9b95c(%rip), %rsi     # 0xcb307
xorl %eax, %eax
movl %eax, %edx
leaq -0xe0(%rbp), %rdi
callq 0x39200
jmp 0x2f9bd
leaq -0x100(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x39290
jmp 0x2f9cf
leaq 0x99f5f(%rip), %rsi     # 0xc9935
leaq 0x99f5c(%rip), %rdx     # 0xc9939
leaq -0xc0(%rbp), %rdi
leaq -0xe0(%rbp), %rcx
leaq -0x100(%rbp), %r8
callq 0x391b0
jmp 0x2f9f9
leaq -0x100(%rbp), %rdi
callq 0x10fc8
leaq -0xe0(%rbp), %rdi
callq 0x10fc8
leaq -0xc0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x2f9(%rbp)
jmp 0x2fa25
movb -0x2f9(%rbp), %al
testb $0x1, %al
jne 0x2fa34
jmp 0x2facd
jmp 0x2fb88
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x1d540
jmp 0x30071
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x30068
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x2faa5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x10fc8
leaq -0xe0(%rbp), %rdi
callq 0x10fc8
jmp 0x30068
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x2fcaf
leaq -0x108(%rbp), %rdi
callq 0x84210
jmp 0x2fadb
leaq -0xc0(%rbp), %rdi
callq 0x1d620
movq %rax, -0x308(%rbp)
jmp 0x2faf0
movq -0x308(%rbp), %r8
leaq 0x99a6a(%rip), %rdx     # 0xc9568
leaq -0x110(%rbp), %rdi
movl $0x1, %esi
movl $0x71, %ecx
callq 0x80580
jmp 0x2fb16
leaq -0x110(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x7d370
jmp 0x2fb2b
leaq -0x110(%rbp), %rdi
callq 0x80600
leaq -0x108(%rbp), %rdi
callq 0x1d500
jmp 0x2fb88
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x2fb77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0x110(%rbp), %rdi
callq 0x80600
leaq -0x108(%rbp), %rdi
callq 0x1d500
jmp 0x2fcaf
leaq -0xc0(%rbp), %rdi
callq 0x1d520
leaq -0x1a0(%rbp), %rdi
leaq -0x9(%rbp), %rsi
callq 0x39180
jmp 0x2fba6
leaq 0x99adc(%rip), %rdx     # 0xc9689
leaq 0x99d97(%rip), %rcx     # 0xc994b
leaq -0x180(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
callq 0x39360
jmp 0x2fbc9
leaq -0x1a0(%rbp), %rdi
callq 0x1d540
leaq -0x230(%rbp), %rdi
leaq -0x9(%rbp), %rsi
callq 0x39180
jmp 0x2fbe7
leaq 0x99d63(%rip), %rdx     # 0xc9951
leaq 0x99a9d(%rip), %rcx     # 0xc9692
leaq -0x210(%rbp), %rdi
leaq -0x230(%rbp), %rsi
callq 0x39470
jmp 0x2fc0a
leaq -0x230(%rbp), %rdi
callq 0x1d540
leaq 0x99d2e(%rip), %rsi     # 0xc994b
leaq -0x260(%rbp), %rdi
movl $0x5, %edx
callq 0x39200
jmp 0x2fc30
leaq -0x280(%rbp), %rdi
leaq -0x180(%rbp), %rsi
callq 0x39290
jmp 0x2fc45
leaq 0x99d0b(%rip), %rsi     # 0xc9957
leaq 0x99d0d(%rip), %rdx     # 0xc9960
leaq -0x240(%rbp), %rdi
leaq -0x260(%rbp), %rcx
leaq -0x280(%rbp), %r8
callq 0x391b0
jmp 0x2fc6f
leaq -0x280(%rbp), %rdi
callq 0x10fc8
leaq -0x260(%rbp), %rdi
callq 0x10fc8
leaq -0x240(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x309(%rbp)
jmp 0x2fc9b
movb -0x309(%rbp), %al
testb $0x1, %al
jne 0x2fcaa
jmp 0x2fd8e
jmp 0x2fe49
leaq -0xc0(%rbp), %rdi
callq 0x1d520
jmp 0x30068
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0x1a0(%rbp), %rdi
callq 0x1d540
jmp 0x30068
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x3005c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0x230(%rbp), %rdi
callq 0x1d540
jmp 0x3005c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x30050
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x2fd66
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0x280(%rbp), %rdi
callq 0x10fc8
leaq -0x260(%rbp), %rdi
callq 0x10fc8
jmp 0x30050
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x2feeb
leaq -0x288(%rbp), %rdi
callq 0x84210
jmp 0x2fd9c
leaq -0x240(%rbp), %rdi
callq 0x1d620
movq %rax, -0x318(%rbp)
jmp 0x2fdb1
movq -0x318(%rbp), %r8
leaq 0x997a9(%rip), %rdx     # 0xc9568
leaq -0x290(%rbp), %rdi
movl $0x1, %esi
movl $0x75, %ecx
callq 0x80580
jmp 0x2fdd7
leaq -0x290(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x7d370
jmp 0x2fdec
leaq -0x290(%rbp), %rdi
callq 0x80600
leaq -0x288(%rbp), %rdi
callq 0x1d500
jmp 0x2fe49
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x2fe38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0x290(%rbp), %rdi
callq 0x80600
leaq -0x288(%rbp), %rdi
callq 0x1d500
jmp 0x2feeb
leaq -0x240(%rbp), %rdi
callq 0x1d520
leaq 0x99af5(%rip), %rsi     # 0xc9951
leaq -0x2c0(%rbp), %rdi
movl $0x5, %edx
callq 0x39200
jmp 0x2fe6f
leaq -0x2e0(%rbp), %rdi
leaq -0x210(%rbp), %rsi
callq 0x39290
jmp 0x2fe84
leaq 0x99ae7(%rip), %rsi     # 0xc9972
leaq 0x99ae9(%rip), %rdx     # 0xc997b
leaq -0x2a0(%rbp), %rdi
leaq -0x2c0(%rbp), %rcx
leaq -0x2e0(%rbp), %r8
callq 0x391b0
jmp 0x2feae
leaq -0x2e0(%rbp), %rdi
callq 0x10fc8
leaq -0x2c0(%rbp), %rdi
callq 0x10fc8
leaq -0x2a0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x319(%rbp)
jmp 0x2feda
movb -0x319(%rbp), %al
testb $0x1, %al
jne 0x2fee6
jmp 0x2ff56
jmp 0x3000e
leaq -0x240(%rbp), %rdi
callq 0x1d520
jmp 0x30050
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x2ff2e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0x2e0(%rbp), %rdi
callq 0x10fc8
leaq -0x2c0(%rbp), %rdi
callq 0x10fc8
jmp 0x30050
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x30044
leaq -0x2e8(%rbp), %rdi
callq 0x84210
jmp 0x2ff64
leaq -0x2a0(%rbp), %rdi
callq 0x1d620
movq %rax, -0x328(%rbp)
jmp 0x2ff79
movq -0x328(%rbp), %r8
leaq 0x995e1(%rip), %rdx     # 0xc9568
leaq -0x2f0(%rbp), %rdi
movl $0x1, %esi
movl $0x76, %ecx
callq 0x80580
jmp 0x2ff9f
leaq -0x2f0(%rbp), %rdi
leaq -0x2e8(%rbp), %rsi
callq 0x7d370
jmp 0x2ffb4
leaq -0x2f0(%rbp), %rdi
callq 0x80600
leaq -0x2e8(%rbp), %rdi
callq 0x1d500
jmp 0x3000e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x30000
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0x2f0(%rbp), %rdi
callq 0x80600
leaq -0x2e8(%rbp), %rdi
callq 0x1d500
jmp 0x30044
leaq -0x2a0(%rbp), %rdi
callq 0x1d520
leaq -0x210(%rbp), %rdi
callq 0x38ed0
leaq -0x180(%rbp), %rdi
callq 0x38ed0
leaq -0x80(%rbp), %rdi
callq 0x38ed0
addq $0x330, %rsp            # imm = 0x330
popq %rbp
retq
leaq -0x2a0(%rbp), %rdi
callq 0x1d520
leaq -0x210(%rbp), %rdi
callq 0x38ed0
leaq -0x180(%rbp), %rdi
callq 0x38ed0
leaq -0x80(%rbp), %rdi
callq 0x38ed0
movq -0xa8(%rbp), %rdi
callq 0x10e00
nopl (%rax)