// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_selftest
static void st_s_selftest( void )
{
    st_s_quicktest();


    // parsing with error management
    {
        BLM_INIT();
        st_s* s = BLM_CREATE( st_s );
        sz_t stack_size = bcore_error_stack_size();

        st_s_push_fa( s, "This is my string." );
        ASSERT( st_s_parse_em_fa( s, 0, s->size, NULL, "This is not my string." ) == TYPEOF_parse_error );
        er_t err_id = 0;
        st_s* err_msg = BLM_CREATE( st_s );

        ASSERT( bcore_error_stack_size() == stack_size + 1 );
        ASSERT( bcore_error_pop_st( &err_id, err_msg ) );
        ASSERT( bcore_error_stack_size() == stack_size );
        ASSERT( err_id == TYPEOF_parse_error );

        BLM_DOWN();
    }

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
callq 0x105be0
leaq 0xabb3c(%rip), %rax     # 0x1b2330
movq (%rax), %rax
movq %rax, -0x8(%rbp)
leaq -0x38(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0xbfe80
movq -0x40(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x68(%rbp)
callq 0xff2e0
movq -0x68(%rbp), %rdi
movq %rax, %rdx
movabsq $-0x503db0e6e1c2e704, %rsi # imm = 0xAFC24F191E3D18FC
callq 0xc00e0
movq %rax, -0x48(%rbp)
callq 0x9df10
movq %rax, -0x50(%rbp)
movq -0x48(%rbp), %rdi
leaq 0x50911(%rip), %rsi     # 0x157164
movb $0x0, %al
callq 0x100210
movq -0x48(%rbp), %rdi
movq -0x48(%rbp), %rax
movq 0x10(%rax), %rdx
xorl %eax, %eax
movl %eax, %ecx
leaq 0x509eb(%rip), %r8      # 0x15725c
movq %rcx, %rsi
movb $0x0, %al
callq 0x1056f0
movabsq $0x690af8765815ec4d, %rcx # imm = 0x690AF8765815EC4D
cmpq %rcx, %rax
je 0x1068b3
leaq 0x2d10e(%rip), %rdi     # 0x13399f
leaq 0x509db(%rip), %rsi     # 0x157273
leaq 0x50a2c(%rip), %rdx     # 0x1572cb
leaq 0x4fd92(%rip), %rcx     # 0x156638
movl $0x9bc, %r8d            # imm = 0x9BC
movb $0x0, %al
callq 0x9cea0
movq $0x0, -0x58(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x70(%rbp)
callq 0xff2e0
movq -0x70(%rbp), %rdi
movq %rax, %rdx
movabsq $-0x503db0e6e1c2e704, %rsi # imm = 0xAFC24F191E3D18FC
callq 0xc00e0
movq %rax, -0x60(%rbp)
callq 0x9df10
movq -0x50(%rbp), %rcx
addq $0x1, %rcx
cmpq %rcx, %rax
je 0x10691d
leaq 0x2d0a4(%rip), %rdi     # 0x13399f
leaq 0x509d7(%rip), %rsi     # 0x1572d9
leaq 0x509c2(%rip), %rdx     # 0x1572cb
leaq 0x4fd28(%rip), %rcx     # 0x156638
movl $0x9c0, %r8d            # imm = 0x9C0
movb $0x0, %al
callq 0x9cea0
movq -0x60(%rbp), %rsi
leaq -0x58(%rbp), %rdi
callq 0x9e400
testb $0x1, %al
jne 0x106957
leaq 0x2d06a(%rip), %rdi     # 0x13399f
leaq 0x509c8(%rip), %rsi     # 0x157304
leaq 0x50988(%rip), %rdx     # 0x1572cb
leaq 0x4fcee(%rip), %rcx     # 0x156638
movl $0x9c1, %r8d            # imm = 0x9C1
movb $0x0, %al
callq 0x9cea0
callq 0x9df10
cmpq -0x50(%rbp), %rax
je 0x10698b
leaq 0x2d036(%rip), %rdi     # 0x13399f
leaq 0x509bb(%rip), %rsi     # 0x15732b
leaq 0x50954(%rip), %rdx     # 0x1572cb
leaq 0x4fcba(%rip), %rcx     # 0x156638
movl $0x9c2, %r8d            # imm = 0x9C2
movb $0x0, %al
callq 0x9cea0
movabsq $0x690af8765815ec4d, %rax # imm = 0x690AF8765815EC4D
cmpq %rax, -0x58(%rbp)
je 0x1069c4
leaq 0x2cffd(%rip), %rdi     # 0x13399f
leaq 0x509a9(%rip), %rsi     # 0x157352
leaq 0x5091b(%rip), %rdx     # 0x1572cb
leaq 0x4fc81(%rip), %rcx     # 0x156638
movl $0x9c3, %r8d            # imm = 0x9C3
movb $0x0, %al
callq 0x9cea0
leaq -0x40(%rbp), %rdi
callq 0xc06e0
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)