// File: /workspace/github_cpp_makefile_star2_O2/dadocolussi[P]gdc-circular_queue/tests/catch.hpp
// Function: Catch::JunitReporter::writeSection(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::CumulativeReporterBase::SectionNode const&)
void writeSection(  std::string const& className,
                            std::string const& rootName,
                            SectionNode const& sectionNode ) {
            std::string name = trim( sectionNode.stats.sectionInfo.name );
            if( !rootName.empty() )
                name = rootName + "/" + name;

            if( !sectionNode.assertions.empty() ||
                !sectionNode.stdOut.empty() ||
                !sectionNode.stdErr.empty() ) {
                XmlWriter::ScopedElement e = xml.scopedElement( "testcase" );
                if( className.empty() ) {
                    xml.writeAttribute( "classname", name );
                    xml.writeAttribute( "name", "root" );
                }
                else {
                    xml.writeAttribute( "classname", className );
                    xml.writeAttribute( "name", name );
                }
                xml.writeAttribute( "time", Catch::toString( sectionNode.stats.durationInSeconds ) );

                writeAssertions( sectionNode );

                if( !sectionNode.stdOut.empty() )
                    xml.scopedElement( "system-out" ).writeText( trim( sectionNode.stdOut ), false );
                if( !sectionNode.stdErr.empty() )
                    xml.scopedElement( "system-err" ).writeText( trim( sectionNode.stdErr ), false );
            }
            for( SectionNode::ChildSections::const_iterator
                    it = sectionNode.childSections.begin(),
                    itEnd = sectionNode.childSections.end();
                    it != itEnd;
                    ++it )
                if( className.empty() )
                    writeSection( name, "", **it );
                else
                    writeSection( className, name, **it );
        }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x88, %rsp
movq %rcx, %r15
movq %rdx, %r12
movq %rsi, %rbx
movq %rdi, 0x58(%rsp)
leaq 0x18(%rcx), %rsi
leaq 0x68(%rsp), %rdi
callq 0xf453
cmpq $0x0, 0x8(%r12)
je 0x24fc9
leaq 0x10a12(%rip), %rdx     # 0x35996
leaq 0x38(%rsp), %rdi
movq %r12, %rsi
callq 0x127b0
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rsi
leaq 0x68(%rsp), %rdx
callq 0x12791
leaq 0x68(%rsp), %rdi
leaq 0x18(%rsp), %r12
movq %r12, %rsi
callq 0xc5d0
movq %r12, %rdi
callq 0xc978
leaq 0x38(%rsp), %rdi
callq 0xc978
movq 0xc0(%r15), %rax
cmpq 0xc8(%r15), %rax
jne 0x24ff1
cmpq $0x0, 0xe0(%r15)
jne 0x24ff1
cmpq $0x0, 0x100(%r15)
je 0x25240
leaq 0x11981(%rip), %rsi     # 0x36979
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x11b1a
movq 0x58(%rsp), %rax
leaq 0xc8(%rax), %r12
leaq 0x60(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movq %r12, %rsi
callq 0x24630
leaq 0x18(%rsp), %rdi
callq 0xc978
cmpq $0x0, 0x8(%rbx)
je 0x25090
leaq 0x11945(%rip), %rsi     # 0x36982
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x11b1a
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
movq %rbx, %rdx
callq 0x24446
leaq 0x18(%rsp), %rdi
callq 0xc978
leaq 0x10ead(%rip), %rsi     # 0x35f1a
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x11b1a
leaq 0x18(%rsp), %rsi
leaq 0x68(%rsp), %rdx
movq %r12, %rdi
callq 0x24446
jmp 0x250ec
leaq 0x118eb(%rip), %rsi     # 0x36982
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x11b1a
leaq 0x18(%rsp), %rsi
leaq 0x68(%rsp), %rdx
movq %r12, %rdi
callq 0x24446
leaq 0x18(%rsp), %rdi
callq 0xc978
leaq 0x10e51(%rip), %rsi     # 0x35f1a
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x11b1a
leaq 0x118ad(%rip), %rdx     # 0x3698c
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
callq 0x2536c
leaq 0x18(%rsp), %rdi
callq 0xc978
leaq 0x11239(%rip), %rsi     # 0x36336
leaq 0x18(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x11b1a
movsd 0x98(%r15), %xmm0
leaq 0x38(%rsp), %rdi
callq 0xffb3
leaq 0x18(%rsp), %rsi
leaq 0x38(%rsp), %rdx
movq %r12, %rdi
callq 0x24446
leaq 0x38(%rsp), %rdi
callq 0xc978
leaq 0x18(%rsp), %rdi
callq 0xc978
movq 0x58(%rsp), %rdi
movq %r15, %rsi
callq 0x25402
cmpq $0x0, 0xe0(%r15)
je 0x251c4
leaq 0x11798(%rip), %rsi     # 0x368fb
leaq 0x18(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x11b1a
leaq 0x10(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movq %r12, %rsi
callq 0x24630
leaq 0xd8(%r15), %rsi
leaq 0x38(%rsp), %rdi
callq 0xf453
movq 0x10(%rsp), %rdi
leaq 0x38(%rsp), %rsi
xorl %edx, %edx
callq 0x2477c
leaq 0x38(%rsp), %rdi
callq 0xc978
leaq 0x10(%rsp), %rdi
callq 0x24664
leaq 0x18(%rsp), %rdi
callq 0xc978
cmpq $0x0, 0x100(%r15)
je 0x25236
leaq 0x11731(%rip), %rsi     # 0x36906
leaq 0x18(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x11b1a
leaq 0x10(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movq %r12, %rsi
callq 0x24630
leaq 0xf8(%r15), %rsi
leaq 0x38(%rsp), %rdi
callq 0xf453
movq 0x10(%rsp), %rdi
leaq 0x38(%rsp), %rsi
xorl %edx, %edx
callq 0x2477c
leaq 0x38(%rsp), %rdi
callq 0xc978
leaq 0x10(%rsp), %rdi
callq 0x24664
leaq 0x18(%rsp), %rdi
callq 0xc978
leaq 0x60(%rsp), %rdi
callq 0x24664
movq 0xa8(%r15), %r14
movq 0xb0(%r15), %r15
leaq 0x18(%rsp), %r12
leaq 0x38(%rsp), %r13
leaq 0x68(%rsp), %rbp
cmpq %r15, %r14
je 0x252b1
cmpq $0x0, 0x8(%rbx)
je 0x2527e
movq (%r14), %rcx
movq 0x58(%rsp), %rdi
movq %rbx, %rsi
movq %rbp, %rdx
callq 0x24f48
jmp 0x252ab
movq %r12, %rdi
leaq 0x1176a(%rip), %rsi     # 0x369f2
movq %r13, %rdx
callq 0x11b1a
movq (%r14), %rcx
movq 0x58(%rsp), %rdi
movq %rbp, %rsi
movq %r12, %rdx
callq 0x24f48
movq %r12, %rdi
callq 0xc978
addq $0x8, %r14
jmp 0x2525d
leaq 0x68(%rsp), %rdi
callq 0xc978
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x25318
jmp 0x25327
jmp 0x25318
jmp 0x25327
jmp 0x252db
jmp 0x252ec
jmp 0x25318
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0xc978
jmp 0x252ef
jmp 0x25327
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x24664
jmp 0x2531b
jmp 0x25318
jmp 0x25327
jmp 0x25318
jmp 0x25327
jmp 0x25318
jmp 0x25327
jmp 0x25327
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0xc978
jmp 0x2531b
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0xc978
jmp 0x2532a
movq %rax, %rbx
leaq 0x60(%rsp), %rdi
callq 0x24664
jmp 0x2535a
jmp 0x25348
jmp 0x25357
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
jmp 0x25350
jmp 0x25357
jmp 0x25357
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0xc978
jmp 0x2535a
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0xc978
movq %rbx, %rdi
callq 0xc840