// File: dadocolussi[P]gdc-circular_queue/tests/catch.hpp
// Function: Catch::makeTestCase(Catch::ITestCase*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, Catch::SourceLineInfo const&)
TestCase makeTestCase(  ITestCase* _testCase,
                            std::string const& _className,
                            std::string const& _name,
                            std::string const& _descOrTags,
                            SourceLineInfo const& _lineInfo )
    {
        bool isHidden( startsWith( _name, "./" ) ); // Legacy support

        // Parse out tags
        std::set<std::string> tags;
        std::string desc, tag;
        bool inTag = false;
        for( std::size_t i = 0; i < _descOrTags.size(); ++i ) {
            char c = _descOrTags[i];
            if( !inTag ) {
                if( c == '[' )
                    inTag = true;
                else
                    desc += c;
            }
            else {
                if( c == ']' ) {
                    TestCaseInfo::SpecialProperties prop = parseSpecialTag( tag );
                    if( prop == TestCaseInfo::IsHidden )
                        isHidden = true;
                    else if( prop == TestCaseInfo::None )
                        enforceNotReservedTag( tag, _lineInfo );

                    tags.insert( tag );
                    tag.clear();
                    inTag = false;
                }
                else
                    tag += c;
            }
        }
        if( isHidden ) {
            tags.insert( "hide" );
            tags.insert( "." );
        }

        TestCaseInfo info( _name, _className, desc, tags, _lineInfo );
        return TestCase( _testCase, info );
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x300, %rsp            # imm = 0x300
movq %rdi, -0x2a8(%rbp)
movq %rdi, %rax
movq %rax, -0x2a0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x298(%rbp)
leaq -0x59(%rbp), %rdi
movq %rdi, -0x290(%rbp)
callq 0xeb70
movq -0x290(%rbp), %rdx
leaq 0x6ca20(%rip), %rsi     # 0x7d9cd
leaq -0x58(%rbp), %rdi
callq 0x18c80
jmp 0x10fb8
movq -0x298(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x12400
movb %al, -0x2a9(%rbp)
jmp 0x10fd0
leaq -0x58(%rbp), %rdi
callq 0xecd8
leaq -0x59(%rbp), %rdi
callq 0xe710
movb -0x2a9(%rbp), %al
andb $0x1, %al
movb %al, -0x31(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x1ae70
leaq -0xc0(%rbp), %rdi
callq 0xe900
leaq -0xe0(%rbp), %rdi
callq 0xe900
movb $0x0, -0xe1(%rbp)
movq $0x0, -0xf0(%rbp)
movq -0xf0(%rbp), %rax
movq %rax, -0x2b8(%rbp)
movq -0x28(%rbp), %rdi
callq 0xe480
movq %rax, %rcx
movq -0x2b8(%rbp), %rax
cmpq %rcx, %rax
jae 0x111c2
movq -0x28(%rbp), %rdi
movq -0xf0(%rbp), %rsi
callq 0xe730
movb (%rax), %al
movb %al, -0xf1(%rbp)
testb $0x1, -0xe1(%rbp)
jne 0x110e1
movsbl -0xf1(%rbp), %eax
cmpl $0x5b, %eax
jne 0x110b4
movb $0x1, -0xe1(%rbp)
jmp 0x110dc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x110a6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x58(%rbp), %rdi
callq 0xecd8
leaq -0x59(%rbp), %rdi
callq 0xe710
jmp 0x113ff
movsbl -0xf1(%rbp), %esi
leaq -0xc0(%rbp), %rdi
callq 0xe3e0
jmp 0x110c9
jmp 0x110dc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x113db
jmp 0x111a9
movsbl -0xf1(%rbp), %eax
cmpl $0x5d, %eax
jne 0x11190
leaq -0xe0(%rbp), %rdi
callq 0x1ae90
movl %eax, -0x2bc(%rbp)
jmp 0x11105
movl -0x2bc(%rbp), %eax
movl %eax, -0xf8(%rbp)
cmpl $0x2, -0xf8(%rbp)
jne 0x11120
movb $0x1, -0x31(%rbp)
jmp 0x1113f
cmpl $0x0, -0xf8(%rbp)
jne 0x1113d
movq -0x30(%rbp), %rsi
leaq -0xe0(%rbp), %rdi
callq 0x1b000
jmp 0x1113b
jmp 0x1113d
jmp 0x1113f
leaq -0xa0(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x1b120
movb %dl, -0x2c9(%rbp)
movq %rax, -0x2c8(%rbp)
jmp 0x11161
movb -0x2c9(%rbp), %al
movq -0x2c8(%rbp), %rcx
movq %rcx, -0x108(%rbp)
movb %al, -0x100(%rbp)
leaq -0xe0(%rbp), %rdi
callq 0xe8b0
movb $0x0, -0xe1(%rbp)
jmp 0x111a7
movsbl -0xf1(%rbp), %esi
leaq -0xe0(%rbp), %rdi
callq 0xe3e0
jmp 0x111a5
jmp 0x111a7
jmp 0x111a9
jmp 0x111ab
movq -0xf0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xf0(%rbp)
jmp 0x11023
testb $0x1, -0x31(%rbp)
je 0x11342
leaq -0x129(%rbp), %rdi
movq %rdi, -0x2d8(%rbp)
callq 0xeb70
movq -0x2d8(%rbp), %rdx
leaq 0x6cb1f(%rip), %rsi     # 0x7dd0c
leaq -0x128(%rbp), %rdi
callq 0x18c80
jmp 0x111fb
leaq -0xa0(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0x1a120
movb %dl, -0x2e1(%rbp)
movq %rax, -0x2e0(%rbp)
jmp 0x1121d
movb -0x2e1(%rbp), %al
movq -0x2e0(%rbp), %rcx
movq %rcx, -0x140(%rbp)
movb %al, -0x138(%rbp)
leaq -0x128(%rbp), %rdi
callq 0xecd8
leaq -0x129(%rbp), %rdi
callq 0xe710
leaq -0x161(%rbp), %rdi
movq %rdi, -0x2f0(%rbp)
callq 0xeb70
movq -0x2f0(%rbp), %rdx
leaq 0x6dab0(%rip), %rsi     # 0x7ed20
leaq -0x160(%rbp), %rdi
callq 0x18c80
jmp 0x1127e
leaq -0xa0(%rbp), %rdi
leaq -0x160(%rbp), %rsi
callq 0x1a120
movb %dl, -0x2f9(%rbp)
movq %rax, -0x2f8(%rbp)
jmp 0x112a0
movb -0x2f9(%rbp), %al
movq -0x2f8(%rbp), %rcx
movq %rcx, -0x178(%rbp)
movb %al, -0x170(%rbp)
leaq -0x160(%rbp), %rdi
callq 0xecd8
leaq -0x161(%rbp), %rdi
callq 0xe710
jmp 0x11342
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x112fa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x128(%rbp), %rdi
callq 0xecd8
leaq -0x129(%rbp), %rdi
callq 0xe710
jmp 0x113db
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x11331
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x160(%rbp), %rdi
callq 0xecd8
leaq -0x161(%rbp), %rdi
callq 0xe710
jmp 0x113db
movq -0x20(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x30(%rbp), %r9
leaq -0x288(%rbp), %rdi
leaq -0xc0(%rbp), %rcx
leaq -0xa0(%rbp), %r8
callq 0x12520
jmp 0x1136a
movq -0x2a8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x288(%rbp), %rdx
callq 0x12870
jmp 0x11383
leaq -0x288(%rbp), %rdi
callq 0x1b170
leaq -0xe0(%rbp), %rdi
callq 0xecd8
leaq -0xc0(%rbp), %rdi
callq 0xecd8
leaq -0xa0(%rbp), %rdi
callq 0x1a280
movq -0x2a0(%rbp), %rax
addq $0x300, %rsp            # imm = 0x300
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x288(%rbp), %rdi
callq 0x1b170
leaq -0xe0(%rbp), %rdi
callq 0xecd8
leaq -0xc0(%rbp), %rdi
callq 0xecd8
leaq -0xa0(%rbp), %rdi
callq 0x1a280
movq -0x68(%rbp), %rdi
callq 0xeb60
nopl (%rax,%rax)