// File: /workspace/github_c_makefile_star2_O0/deplinenoise[P]tundra/unittest/Test_Buffer.cpp
// Function: BufferTest_Zero_Test::TestBody()
TEST_F(BufferTest, Zero)
{
  Buffer<int> b;

  BufferInit(&b);
  int* ptr = BufferAllocZero(&b, &heap, 3);
  ASSERT_EQ(3, b.m_Size);
  ASSERT_EQ(0, ptr[0]);
  ASSERT_EQ(0, ptr[1]);
  ASSERT_EQ(0, ptr[2]);
  BufferDestroy(&b, &heap);
  ASSERT_EQ(nullptr, b.m_Storage);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x190, %rsp            # imm = 0x190
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x120(%rbp)
leaq -0x20(%rbp), %rdi
movq %rdi, -0x118(%rbp)
callq 0x50610
movq -0x120(%rbp), %rsi
movq -0x118(%rbp), %rdi
addq $0x10, %rsi
movl $0x3, %edx
callq 0x508f0
movq %rax, -0x28(%rbp)
movl $0x3, -0x3c(%rbp)
leaq -0x18(%rbp), %r8
leaq 0x3e26d(%rip), %rsi     # 0x8daf9
leaq 0x3d0fc(%rip), %rdx     # 0x8c98f
leaq -0x38(%rbp), %rdi
movq %rdi, -0x110(%rbp)
leaq -0x3c(%rbp), %rcx
callq 0x50860
movq -0x110(%rbp), %rdi
callq 0x31090
movb %al, -0x101(%rbp)
jmp 0x4f8bb
movb -0x101(%rbp), %al
testb $0x1, %al
jne 0x4f8c7
jmp 0x4f8dd
jmp 0x4f975
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4f9ea
leaq -0x58(%rbp), %rdi
callq 0x16d70
jmp 0x4f8e8
leaq -0x38(%rbp), %rdi
callq 0x310b0
movq %rax, -0x128(%rbp)
jmp 0x4f8fa
movq -0x128(%rbp), %r8
leaq 0x3d05a(%rip), %rdx     # 0x8c962
leaq -0x60(%rbp), %rdi
movl $0x2, %esi
movl $0x3d, %ecx
callq 0x13fa0
jmp 0x4f91d
leaq -0x60(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x14060
jmp 0x4f92c
leaq -0x60(%rbp), %rdi
callq 0x14020
leaq -0x58(%rbp), %rdi
callq 0x31070
movl $0x1, -0x64(%rbp)
jmp 0x4f97c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4f96a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x14020
leaq -0x58(%rbp), %rdi
callq 0x31070
jmp 0x4f9ea
movl $0x0, -0x64(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x30d20
movl -0x64(%rbp), %eax
testl %eax, %eax
je 0x4f993
jmp 0x4f98e
jmp 0x4fedb
movl $0x0, -0x7c(%rbp)
movq -0x28(%rbp), %r8
leaq 0x3c719(%rip), %rsi     # 0x8c0be
leaq 0x3cff8(%rip), %rdx     # 0x8c9a4
xorl %eax, %eax
movl %eax, %r9d
leaq -0x78(%rbp), %rdi
movq %rdi, -0x138(%rbp)
leaq -0x7c(%rbp), %rcx
callq 0x4ebf0
movq -0x138(%rbp), %rdi
callq 0x31090
movb %al, -0x129(%rbp)
jmp 0x4f9d9
movb -0x129(%rbp), %al
testb $0x1, %al
jne 0x4f9e5
jmp 0x4fa09
jmp 0x4fabc
leaq -0x38(%rbp), %rdi
callq 0x30d20
jmp 0x4fef0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4fb3e
leaq -0x88(%rbp), %rdi
callq 0x16d70
jmp 0x4fa17
leaq -0x78(%rbp), %rdi
callq 0x310b0
movq %rax, -0x140(%rbp)
jmp 0x4fa29
movq -0x140(%rbp), %r8
leaq 0x3cf2b(%rip), %rdx     # 0x8c962
leaq -0x90(%rbp), %rdi
movl $0x2, %esi
movl $0x3e, %ecx
callq 0x13fa0
jmp 0x4fa4f
leaq -0x90(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x14060
jmp 0x4fa64
leaq -0x90(%rbp), %rdi
callq 0x14020
leaq -0x88(%rbp), %rdi
callq 0x31070
movl $0x1, -0x64(%rbp)
jmp 0x4fac3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4faab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x14020
leaq -0x88(%rbp), %rdi
callq 0x31070
jmp 0x4fb3e
movl $0x0, -0x64(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x30d20
movl -0x64(%rbp), %eax
testl %eax, %eax
je 0x4fada
jmp 0x4fad5
jmp 0x4fedb
movl $0x0, -0xa4(%rbp)
movq -0x28(%rbp), %r8
addq $0x4, %r8
leaq 0x3c5cb(%rip), %rsi     # 0x8c0be
leaq 0x3ceb1(%rip), %rdx     # 0x8c9ab
xorl %eax, %eax
movl %eax, %r9d
leaq -0xa0(%rbp), %rdi
movq %rdi, -0x150(%rbp)
leaq -0xa4(%rbp), %rcx
callq 0x4ebf0
movq -0x150(%rbp), %rdi
callq 0x31090
movb %al, -0x141(%rbp)
jmp 0x4fb2d
movb -0x141(%rbp), %al
testb $0x1, %al
jne 0x4fb39
jmp 0x4fb5d
jmp 0x4fc13
leaq -0x78(%rbp), %rdi
callq 0x30d20
jmp 0x4fef0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4fc98
leaq -0xb0(%rbp), %rdi
callq 0x16d70
jmp 0x4fb6b
leaq -0xa0(%rbp), %rdi
callq 0x310b0
movq %rax, -0x158(%rbp)
jmp 0x4fb80
movq -0x158(%rbp), %r8
leaq 0x3cdd4(%rip), %rdx     # 0x8c962
leaq -0xb8(%rbp), %rdi
movl $0x2, %esi
movl $0x3f, %ecx
callq 0x13fa0
jmp 0x4fba6
leaq -0xb8(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x14060
jmp 0x4fbbb
leaq -0xb8(%rbp), %rdi
callq 0x14020
leaq -0xb0(%rbp), %rdi
callq 0x31070
movl $0x1, -0x64(%rbp)
jmp 0x4fc1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4fc02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x14020
leaq -0xb0(%rbp), %rdi
callq 0x31070
jmp 0x4fc98
movl $0x0, -0x64(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x30d20
movl -0x64(%rbp), %eax
testl %eax, %eax
je 0x4fc34
jmp 0x4fc2f
jmp 0x4fedb
movl $0x0, -0xcc(%rbp)
movq -0x28(%rbp), %r8
addq $0x8, %r8
leaq 0x3c471(%rip), %rsi     # 0x8c0be
leaq 0x3cd5e(%rip), %rdx     # 0x8c9b2
xorl %eax, %eax
movl %eax, %r9d
leaq -0xc8(%rbp), %rdi
movq %rdi, -0x168(%rbp)
leaq -0xcc(%rbp), %rcx
callq 0x4ebf0
movq -0x168(%rbp), %rdi
callq 0x31090
movb %al, -0x159(%rbp)
jmp 0x4fc87
movb -0x159(%rbp), %al
testb $0x1, %al
jne 0x4fc93
jmp 0x4fcba
jmp 0x4fd70
leaq -0xa0(%rbp), %rdi
callq 0x30d20
jmp 0x4fef0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4fdf3
leaq -0xd8(%rbp), %rdi
callq 0x16d70
jmp 0x4fcc8
leaq -0xc8(%rbp), %rdi
callq 0x310b0
movq %rax, -0x170(%rbp)
jmp 0x4fcdd
movq -0x170(%rbp), %r8
leaq 0x3cc77(%rip), %rdx     # 0x8c962
leaq -0xe0(%rbp), %rdi
movl $0x2, %esi
movl $0x40, %ecx
callq 0x13fa0
jmp 0x4fd03
leaq -0xe0(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0x14060
jmp 0x4fd18
leaq -0xe0(%rbp), %rdi
callq 0x14020
leaq -0xd8(%rbp), %rdi
callq 0x31070
movl $0x1, -0x64(%rbp)
jmp 0x4fd77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4fd5f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xe0(%rbp), %rdi
callq 0x14020
leaq -0xd8(%rbp), %rdi
callq 0x31070
jmp 0x4fdf3
movl $0x0, -0x64(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x30d20
movl -0x64(%rbp), %eax
testl %eax, %eax
je 0x4fd91
jmp 0x4fd8c
jmp 0x4fedb
movq -0x120(%rbp), %rsi
addq $0x10, %rsi
leaq -0x20(%rbp), %rdi
callq 0x506e0
movq -0x20(%rbp), %r8
leaq 0x3cbcb(%rip), %rsi     # 0x8c97b
leaq 0x3cbcc(%rip), %rdx     # 0x8c983
xorl %eax, %eax
movl %eax, %ecx
leaq -0xf0(%rbp), %rdi
movq %rdi, -0x180(%rbp)
callq 0x50640
movq -0x180(%rbp), %rdi
callq 0x31090
movb %al, -0x171(%rbp)
jmp 0x4fde2
movb -0x171(%rbp), %al
testb $0x1, %al
jne 0x4fdee
jmp 0x4fe15
jmp 0x4fec8
leaq -0xc8(%rbp), %rdi
callq 0x30d20
jmp 0x4fef0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4fee4
leaq -0xf8(%rbp), %rdi
callq 0x16d70
jmp 0x4fe23
leaq -0xf0(%rbp), %rdi
callq 0x310b0
movq %rax, -0x188(%rbp)
jmp 0x4fe38
movq -0x188(%rbp), %r8
leaq 0x3cb1c(%rip), %rdx     # 0x8c962
leaq -0x100(%rbp), %rdi
movl $0x2, %esi
movl $0x42, %ecx
callq 0x13fa0
jmp 0x4fe5e
leaq -0x100(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
callq 0x14060
jmp 0x4fe73
leaq -0x100(%rbp), %rdi
callq 0x14020
leaq -0xf8(%rbp), %rdi
callq 0x31070
movl $0x1, -0x64(%rbp)
jmp 0x4fecf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4feba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x14020
leaq -0xf8(%rbp), %rdi
callq 0x31070
jmp 0x4fee4
movl $0x0, -0x64(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0x30d20
addq $0x190, %rsp            # imm = 0x190
popq %rbp
retq
leaq -0xf0(%rbp), %rdi
callq 0x30d20
movq -0x48(%rbp), %rdi
callq 0xee80
nopl (%rax)