// File: /workspace/github_c_makefile_star2_O2/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 %rbx
subq $0x40, %rsp
movq %rdi, %rbx
xorps %xmm0, %xmm0
leaq 0x20(%rsp), %rdi
movaps %xmm0, (%rdi)
andq $0x0, 0x10(%rdi)
addq $0x10, %rbx
pushq $0x3
popq %rdx
movq %rbx, %rsi
callq 0x2845b
movq %rax, %r14
movq %rsp, %rcx
movl $0x3, (%rcx)
leaq 0x28(%rsp), %r8
leaq 0x1f7cc(%rip), %rsi     # 0x47549
leaq 0x1e66b(%rip), %rdx     # 0x463ef
leaq 0x10(%rsp), %r15
movq %r15, %rdi
callq 0x287b5
cmpb $0x0, (%r15)
je 0x27ea9
leaq 0x18(%rsp), %rdi
callq 0x2295e
movq %rsp, %rcx
andl $0x0, (%rcx)
leaq 0x1dd56(%rip), %rsi     # 0x45b08
leaq 0x1e64b(%rip), %rdx     # 0x46404
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %r8
callq 0x2785d
cmpb $0x0, (%r15)
je 0x27ec0
leaq 0x18(%rsp), %rdi
callq 0x2295e
movq %rsp, %rcx
andl $0x0, (%rcx)
leaq 0x4(%r14), %r8
leaq 0x1dd1a(%rip), %rsi     # 0x45b08
leaq 0x1e616(%rip), %rdx     # 0x4640b
leaq 0x10(%rsp), %r15
movq %r15, %rdi
callq 0x2785d
cmpb $0x0, (%r15)
je 0x27f07
leaq 0x18(%rsp), %rdi
callq 0x2295e
movq %rsp, %rcx
andl $0x0, (%rcx)
addq $0x8, %r14
leaq 0x1dce1(%rip), %rsi     # 0x45b08
leaq 0x1e5e4(%rip), %rdx     # 0x46412
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %r8
callq 0x2785d
cmpb $0x0, (%r15)
je 0x27f4b
leaq 0x18(%rsp), %rdi
callq 0x2295e
leaq 0x20(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x283d2
movq (%r14), %r8
leaq 0x1e56f(%rip), %rsi     # 0x463db
leaq 0x1e570(%rip), %rdx     # 0x463e3
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x283aa
cmpb $0x0, (%rbx)
jne 0x28020
movq %rsp, %rdi
callq 0x11c8e
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x27fe3
movq (%rax), %r8
jmp 0x27fea
movq %rsp, %rdi
callq 0x11c8e
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x27ed7
movq (%rax), %r8
jmp 0x27ede
movq %rsp, %rdi
callq 0x11c8e
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x27f1e
movq (%rax), %r8
jmp 0x27f25
leaq 0x21fc9(%rip), %r8      # 0x49ea7
leaq 0x1e4dd(%rip), %rdx     # 0x463c2
leaq 0x8(%rsp), %rdi
pushq $0x2
popq %rsi
pushq $0x3d
popq %rcx
callq 0x104f8
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10576
jmp 0x27fba
movq %rsp, %rdi
callq 0x11c8e
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x27f62
movq (%rax), %r8
jmp 0x27f69
leaq 0x21f82(%rip), %r8      # 0x49ea7
leaq 0x1e496(%rip), %rdx     # 0x463c2
leaq 0x8(%rsp), %rdi
pushq $0x2
popq %rsi
pushq $0x3e
popq %rcx
callq 0x104f8
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10576
jmp 0x27fba
movq %rsp, %rdi
callq 0x11c8e
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x27f8f
movq (%rax), %r8
jmp 0x27f96
leaq 0x21f3e(%rip), %r8      # 0x49ea7
leaq 0x1e452(%rip), %rdx     # 0x463c2
leaq 0x8(%rsp), %rdi
pushq $0x2
popq %rsi
pushq $0x3f
popq %rcx
callq 0x104f8
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10576
jmp 0x27fba
leaq 0x21f11(%rip), %r8      # 0x49ea7
leaq 0x1e425(%rip), %rdx     # 0x463c2
leaq 0x8(%rsp), %rdi
pushq $0x2
popq %rsi
pushq $0x40
popq %rcx
callq 0x104f8
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10576
leaq 0x18(%rsp), %rbx
leaq 0x8(%rsp), %rdi
callq 0x10558
movq %rsp, %rdi
callq 0x1f8e0
movq %rbx, %rdi
callq 0x2295e
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
leaq 0x21ebd(%rip), %r8      # 0x49ea7
leaq 0x1e3d1(%rip), %rdx     # 0x463c2
leaq 0x8(%rsp), %rdi
pushq $0x2
popq %rsi
pushq $0x42
popq %rcx
callq 0x104f8
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10576
leaq 0x8(%rsp), %rdi
callq 0x10558
movq %rsp, %rdi
callq 0x1f8e0
leaq 0x18(%rsp), %rdi
jmp 0x27fd4
jmp 0x2803f
jmp 0x2804e
jmp 0x2805b
jmp 0x2803f
jmp 0x2804e
jmp 0x2805b
jmp 0x2803f
jmp 0x2804e
jmp 0x2805b
jmp 0x2803f
jmp 0x2804e
jmp 0x2805b
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x10558
jmp 0x28051
movq %rax, %rbx
movq %rsp, %rdi
callq 0x1f8e0
jmp 0x2805e
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x2295e
movq %rbx, %rdi
callq 0xdbf0