// File: halfflat[P]tinyopt/test/test_option.cc
// Function: key_literal_Test::TestBody()
TEST(key, literal) {
    using namespace to::literals;

    auto a = "-f"_short;
    auto b = "-f"_compact;
    auto c = "-f"_long;

    EXPECT_EQ("-f", a.label);
    EXPECT_EQ("-f", b.label);
    EXPECT_EQ("-f", c.label);

    EXPECT_EQ(to::key::shortfmt, a.style);
    EXPECT_EQ(to::key::compact, b.style);
    EXPECT_EQ(to::key::longfmt, c.style);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1e0, %rsp            # imm = 0x1E0
movq %rdi, -0x8(%rbp)
leaq 0x9e0f2(%rip), %rsi     # 0xc9678
movq %rsi, -0x178(%rbp)
leaq -0x30(%rbp), %rdi
movl $0x2, %edx
movq %rdx, -0x170(%rbp)
callq 0x38550
movq -0x178(%rbp), %rsi
movq -0x170(%rbp), %rdx
leaq -0x58(%rbp), %rdi
callq 0x38600
jmp 0x2b5bb
leaq 0x9e0b6(%rip), %rsi     # 0xc9678
leaq -0x90(%rbp), %rdi
movl $0x2, %edx
callq 0x386b0
jmp 0x2b5d5
leaq 0x9e09f(%rip), %rsi     # 0xc967b
leaq 0x9dfe4(%rip), %rdx     # 0xc95c7
leaq 0x9e08e(%rip), %rcx     # 0xc9678
leaq -0xa0(%rbp), %rdi
leaq -0x30(%rbp), %r8
callq 0x38760
jmp 0x2b5fc
leaq -0xa0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x179(%rbp)
jmp 0x2b610
movb -0x179(%rbp), %al
testb $0x1, %al
jne 0x2b61c
jmp 0x2b665
jmp 0x2b711
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x2bd44
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x2bd3b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x2bd2f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x2b769
leaq -0xa8(%rbp), %rdi
callq 0x84210
jmp 0x2b673
leaq -0xa0(%rbp), %rdi
callq 0x1d620
movq %rax, -0x188(%rbp)
jmp 0x2b688
movq -0x188(%rbp), %r8
leaq 0x9ded2(%rip), %rdx     # 0xc9568
leaq -0xb0(%rbp), %rdi
movl $0x1, %esi
movl $0x27, %ecx
callq 0x80580
jmp 0x2b6ae
leaq -0xb0(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x7d370
jmp 0x2b6c3
leaq -0xb0(%rbp), %rdi
callq 0x80600
leaq -0xa8(%rbp), %rdi
callq 0x1d500
jmp 0x2b711
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x2b703
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0x80600
leaq -0xa8(%rbp), %rdi
callq 0x1d500
jmp 0x2b769
leaq -0xa0(%rbp), %rdi
callq 0x1d520
leaq 0x9df57(%rip), %rsi     # 0xc967b
leaq 0x9dec6(%rip), %rdx     # 0xc95f1
leaq 0x9df46(%rip), %rcx     # 0xc9678
leaq -0xc0(%rbp), %rdi
leaq -0x58(%rbp), %r8
callq 0x38760
jmp 0x2b744
leaq -0xc0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x189(%rbp)
jmp 0x2b758
movb -0x189(%rbp), %al
testb $0x1, %al
jne 0x2b764
jmp 0x2b78b
jmp 0x2b837
leaq -0xa0(%rbp), %rdi
callq 0x1d520
jmp 0x2bd2f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x2b892
leaq -0xc8(%rbp), %rdi
callq 0x84210
jmp 0x2b799
leaq -0xc0(%rbp), %rdi
callq 0x1d620
movq %rax, -0x198(%rbp)
jmp 0x2b7ae
movq -0x198(%rbp), %r8
leaq 0x9ddac(%rip), %rdx     # 0xc9568
leaq -0xd0(%rbp), %rdi
movl $0x1, %esi
movl $0x28, %ecx
callq 0x80580
jmp 0x2b7d4
leaq -0xd0(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x7d370
jmp 0x2b7e9
leaq -0xd0(%rbp), %rdi
callq 0x80600
leaq -0xc8(%rbp), %rdi
callq 0x1d500
jmp 0x2b837
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x2b829
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0x80600
leaq -0xc8(%rbp), %rdi
callq 0x1d500
jmp 0x2b892
leaq -0xc0(%rbp), %rdi
callq 0x1d520
leaq 0x9de31(%rip), %rsi     # 0xc967b
leaq 0x9ddc8(%rip), %rdx     # 0xc9619
leaq 0x9de20(%rip), %rcx     # 0xc9678
leaq -0xe0(%rbp), %rdi
leaq -0x90(%rbp), %r8
callq 0x38760
jmp 0x2b86d
leaq -0xe0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x199(%rbp)
jmp 0x2b881
movb -0x199(%rbp), %al
testb $0x1, %al
jne 0x2b88d
jmp 0x2b8b4
jmp 0x2b960
leaq -0xc0(%rbp), %rdi
callq 0x1d520
jmp 0x2bd2f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x2b9c2
leaq -0xe8(%rbp), %rdi
callq 0x84210
jmp 0x2b8c2
leaq -0xe0(%rbp), %rdi
callq 0x1d620
movq %rax, -0x1a8(%rbp)
jmp 0x2b8d7
movq -0x1a8(%rbp), %r8
leaq 0x9dc83(%rip), %rdx     # 0xc9568
leaq -0xf0(%rbp), %rdi
movl $0x1, %esi
movl $0x29, %ecx
callq 0x80580
jmp 0x2b8fd
leaq -0xf0(%rbp), %rdi
leaq -0xe8(%rbp), %rsi
callq 0x7d370
jmp 0x2b912
leaq -0xf0(%rbp), %rdi
callq 0x80600
leaq -0xe8(%rbp), %rdi
callq 0x1d500
jmp 0x2b960
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x2b952
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0x80600
leaq -0xe8(%rbp), %rdi
callq 0x1d500
jmp 0x2b9c2
leaq -0xe0(%rbp), %rdi
callq 0x1d520
movl $0x0, -0x104(%rbp)
leaq -0x10(%rbp), %r8
leaq 0x9dc78(%rip), %rsi     # 0xc95f9
leaq 0x9dc58(%rip), %rdx     # 0xc95e0
leaq -0x100(%rbp), %rdi
leaq -0x104(%rbp), %rcx
callq 0x38380
jmp 0x2b99d
leaq -0x100(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x1a9(%rbp)
jmp 0x2b9b1
movb -0x1a9(%rbp), %al
testb $0x1, %al
jne 0x2b9bd
jmp 0x2b9e4
jmp 0x2ba90
leaq -0xe0(%rbp), %rdi
callq 0x1d520
jmp 0x2bd2f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x2baf2
leaq -0x110(%rbp), %rdi
callq 0x84210
jmp 0x2b9f2
leaq -0x100(%rbp), %rdi
callq 0x1d620
movq %rax, -0x1b8(%rbp)
jmp 0x2ba07
movq -0x1b8(%rbp), %r8
leaq 0x9db53(%rip), %rdx     # 0xc9568
leaq -0x118(%rbp), %rdi
movl $0x1, %esi
movl $0x2b, %ecx
callq 0x80580
jmp 0x2ba2d
leaq -0x118(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x7d370
jmp 0x2ba42
leaq -0x118(%rbp), %rdi
callq 0x80600
leaq -0x110(%rbp), %rdi
callq 0x1d500
jmp 0x2ba90
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x2ba82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x80600
leaq -0x110(%rbp), %rdi
callq 0x1d500
jmp 0x2baf2
leaq -0x100(%rbp), %rdi
callq 0x1d520
movl $0x2, -0x12c(%rbp)
leaq -0x38(%rbp), %r8
leaq 0x9dba6(%rip), %rsi     # 0xc9657
leaq 0x9db53(%rip), %rdx     # 0xc960b
leaq -0x128(%rbp), %rdi
leaq -0x12c(%rbp), %rcx
callq 0x38380
jmp 0x2bacd
leaq -0x128(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x1b9(%rbp)
jmp 0x2bae1
movb -0x1b9(%rbp), %al
testb $0x1, %al
jne 0x2baed
jmp 0x2bb14
jmp 0x2bbc0
leaq -0x100(%rbp), %rdi
callq 0x1d520
jmp 0x2bd2f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x2bc22
leaq -0x138(%rbp), %rdi
callq 0x84210
jmp 0x2bb22
leaq -0x128(%rbp), %rdi
callq 0x1d620
movq %rax, -0x1c8(%rbp)
jmp 0x2bb37
movq -0x1c8(%rbp), %r8
leaq 0x9da23(%rip), %rdx     # 0xc9568
leaq -0x140(%rbp), %rdi
movl $0x1, %esi
movl $0x2c, %ecx
callq 0x80580
jmp 0x2bb5d
leaq -0x140(%rbp), %rdi
leaq -0x138(%rbp), %rsi
callq 0x7d370
jmp 0x2bb72
leaq -0x140(%rbp), %rdi
callq 0x80600
leaq -0x138(%rbp), %rdi
callq 0x1d500
jmp 0x2bbc0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x2bbb2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x140(%rbp), %rdi
callq 0x80600
leaq -0x138(%rbp), %rdi
callq 0x1d500
jmp 0x2bc22
leaq -0x128(%rbp), %rdi
callq 0x1d520
movl $0x1, -0x154(%rbp)
leaq -0x70(%rbp), %r8
leaq 0x9d9ee(%rip), %rsi     # 0xc95cf
leaq 0x9da39(%rip), %rdx     # 0xc9621
leaq -0x150(%rbp), %rdi
leaq -0x154(%rbp), %rcx
callq 0x38380
jmp 0x2bbfd
leaq -0x150(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x1c9(%rbp)
jmp 0x2bc11
movb -0x1c9(%rbp), %al
testb $0x1, %al
jne 0x2bc1d
jmp 0x2bc44
jmp 0x2bcf0
leaq -0x128(%rbp), %rdi
callq 0x1d520
jmp 0x2bd2f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x2bd23
leaq -0x160(%rbp), %rdi
callq 0x84210
jmp 0x2bc52
leaq -0x150(%rbp), %rdi
callq 0x1d620
movq %rax, -0x1d8(%rbp)
jmp 0x2bc67
movq -0x1d8(%rbp), %r8
leaq 0x9d8f3(%rip), %rdx     # 0xc9568
leaq -0x168(%rbp), %rdi
movl $0x1, %esi
movl $0x2d, %ecx
callq 0x80580
jmp 0x2bc8d
leaq -0x168(%rbp), %rdi
leaq -0x160(%rbp), %rsi
callq 0x7d370
jmp 0x2bca2
leaq -0x168(%rbp), %rdi
callq 0x80600
leaq -0x160(%rbp), %rdi
callq 0x1d500
jmp 0x2bcf0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x2bce2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x168(%rbp), %rdi
callq 0x80600
leaq -0x160(%rbp), %rdi
callq 0x1d500
jmp 0x2bd23
leaq -0x150(%rbp), %rdi
callq 0x1d520
leaq -0x90(%rbp), %rdi
callq 0x384f0
leaq -0x58(%rbp), %rdi
callq 0x384f0
leaq -0x30(%rbp), %rdi
callq 0x384f0
addq $0x1e0, %rsp            # imm = 0x1E0
popq %rbp
retq
leaq -0x150(%rbp), %rdi
callq 0x1d520
leaq -0x90(%rbp), %rdi
callq 0x384f0
leaq -0x58(%rbp), %rdi
callq 0x384f0
leaq -0x30(%rbp), %rdi
callq 0x384f0
movq -0x60(%rbp), %rdi
callq 0x10e00
nopw %cs:(%rax,%rax)