// File: /workspace/github_c_makefile_star2_O3/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 %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdi, %rbx
addq $0x10, %rbx
leaq 0x28(%rsp), %r15
movl $0x20, %edx
movq %rbx, %rdi
xorl %esi, %esi
callq 0x41ef2
movq %rax, %r14
movq %rax, -0x8(%r15)
movq $0x8, 0x8(%r15)
movq $0x3, (%r15)
movl $0x0, 0x8(%rax)
movq $0x0, (%rax)
movq %rsp, %rcx
movl $0x3, (%rcx)
leaq 0x2333d(%rip), %rsi     # 0x55569
leaq 0x221ec(%rip), %rdx     # 0x5441f
leaq 0x10(%rsp), %r12
movq %r12, %rdi
movq %r15, %r8
callq 0x32e9d
cmpb $0x0, (%r12)
je 0x3238b
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c37a
movq %rsp, %rcx
movl $0x0, (%rcx)
leaq 0x218ce(%rip), %rsi     # 0x53b38
leaq 0x221c3(%rip), %rdx     # 0x54434
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %r8
callq 0x31b38
cmpb $0x0, (%r15)
je 0x323a2
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c37a
movq %rsp, %rcx
movl $0x0, (%rcx)
leaq 0x4(%r14), %r8
leaq 0x2188d(%rip), %rsi     # 0x53b38
leaq 0x22189(%rip), %rdx     # 0x5443b
leaq 0x10(%rsp), %r15
movq %r15, %rdi
callq 0x31b38
cmpb $0x0, (%r15)
je 0x3242e
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c37a
movq %rsp, %rcx
movl $0x0, (%rcx)
addq $0x8, %r14
leaq 0x2184f(%rip), %rsi     # 0x53b38
leaq 0x22152(%rip), %rdx     # 0x54442
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %r8
callq 0x31b38
cmpb $0x0, (%r15)
je 0x324ba
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c37a
movq 0x20(%rsp), %rsi
testq %rsi, %rsi
je 0x32339
movq %rbx, %rdi
callq 0x41eea
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
xorl %eax, %eax
movq %rsp, %r8
movq %rax, (%r8)
leaq 0x8(%rsp), %rcx
movq %rax, (%rcx)
leaq 0x220bb(%rip), %rsi     # 0x5440b
leaq 0x220bc(%rip), %rdx     # 0x54413
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x32cf6
cmpb $0x0, (%rbx)
jne 0x32607
movq %rsp, %rdi
callq 0x12e46
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x325aa
movq (%rax), %r8
jmp 0x325b1
movq %rsp, %rdi
callq 0x12e46
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x323c0
movq (%rax), %r8
jmp 0x323c7
movq %rsp, %rdi
callq 0x12e46
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x3244c
movq (%rax), %r8
jmp 0x32453
leaq 0x25b00(%rip), %r8      # 0x57ec7
leaq 0x22024(%rip), %rdx     # 0x543f2
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x3d, %ecx
callq 0x10b64
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10c00
leaq 0x8(%rsp), %rdi
callq 0x10bd0
cmpq $0x0, (%rsp)
je 0x3241d
movl $0x1, %edi
callq 0x10b61
testb %al, %al
je 0x3241d
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x3241d
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c37a
jmp 0x32613
movq %rsp, %rdi
callq 0x12e46
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x324d1
movq (%rax), %r8
jmp 0x324d8
leaq 0x25a74(%rip), %r8      # 0x57ec7
leaq 0x21f98(%rip), %rdx     # 0x543f2
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x3e, %ecx
callq 0x10b64
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10c00
leaq 0x8(%rsp), %rdi
callq 0x10bd0
cmpq $0x0, (%rsp)
je 0x324a9
movl $0x1, %edi
callq 0x10b61
testb %al, %al
je 0x324a9
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x324a9
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c37a
jmp 0x32613
movq %rsp, %rdi
callq 0x12e46
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x3253f
movq (%rax), %r8
jmp 0x32546
leaq 0x259ef(%rip), %r8      # 0x57ec7
leaq 0x21f13(%rip), %rdx     # 0x543f2
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x3f, %ecx
callq 0x10b64
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10c00
leaq 0x8(%rsp), %rdi
callq 0x10bd0
cmpq $0x0, (%rsp)
je 0x3252e
movl $0x1, %edi
callq 0x10b61
testb %al, %al
je 0x3252e
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x3252e
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c37a
jmp 0x32613
leaq 0x25981(%rip), %r8      # 0x57ec7
leaq 0x21ea5(%rip), %rdx     # 0x543f2
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x40, %ecx
callq 0x10b64
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10c00
leaq 0x8(%rsp), %rdi
callq 0x10bd0
cmpq $0x0, (%rsp)
je 0x3259c
movl $0x1, %edi
callq 0x10b61
testb %al, %al
je 0x3259c
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x3259c
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c37a
jmp 0x32613
leaq 0x25916(%rip), %r8      # 0x57ec7
leaq 0x21e3a(%rip), %rdx     # 0x543f2
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x42, %ecx
callq 0x10b64
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10c00
leaq 0x8(%rsp), %rdi
callq 0x10bd0
cmpq $0x0, (%rsp)
je 0x32607
movl $0x1, %edi
callq 0x10b61
testb %al, %al
je 0x32607
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x32607
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c37a
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
jmp 0x32682
jmp 0x32651
jmp 0x32660
jmp 0x3266d
jmp 0x32682
jmp 0x32682
jmp 0x32682
jmp 0x32651
jmp 0x32660
jmp 0x3266d
jmp 0x32682
jmp 0x32682
jmp 0x32682
jmp 0x32651
jmp 0x32660
jmp 0x3266d
jmp 0x32682
jmp 0x32682
jmp 0x32682
jmp 0x32651
jmp 0x32660
jmp 0x3266d
jmp 0x32682
jmp 0x32682
jmp 0x32682
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x10bd0
jmp 0x32663
movq %rax, %rbx
movq %rsp, %rdi
callq 0x31a70
jmp 0x32670
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x31a82
movq %rbx, %rdi
callq 0xcbb0
movq %rax, %rdi
callq 0x287ef