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

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

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdi, %rbx
xorps %xmm0, %xmm0
leaq 0x28(%rsp), %r14
movaps %xmm0, -0x8(%r14)
movq $0x0, 0x8(%r14)
addq $0x10, %rbx
movq (%r14), %r13
leaq 0x3(%r13), %r12
cmpq $0x9, %r12
movl $0x8, %ebp
cmovaeq %r12, %rbp
leaq (,%rbp,4), %rdx
movq %rbx, %rdi
xorl %esi, %esi
callq 0x42dae
movq %rax, %r15
movq %rax, -0x8(%r14)
movq %rbp, 0x8(%r14)
movq %r12, (%r14)
movl $0xffffffff, 0x8(%rax,%r13,4) # imm = 0xFFFFFFFF
movq $-0x1, (%rax,%r13,4)
movq %rsp, %rcx
movl $0x3, (%rcx)
leaq 0x237fc(%rip), %rsi     # 0x56539
leaq 0x226ab(%rip), %rdx     # 0x553ef
leaq 0x10(%rsp), %r12
movq %r12, %rdi
movq %r14, %r8
callq 0x3352d
cmpb $0x0, (%r12)
je 0x32ea7
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
leaq (%r15,%r13,4), %r14
movq %rsp, %rcx
movl $0xffffffff, (%rcx)     # imm = 0xFFFFFFFF
leaq 0x213c7(%rip), %rsi     # 0x54146
leaq 0x2267e(%rip), %rdx     # 0x55404
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %r8
callq 0x32072
cmpb $0x0, (%r15)
je 0x32ebe
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
movq %rsp, %rcx
movl $0xffffffff, (%rcx)     # imm = 0xFFFFFFFF
leaq 0x4(%r14), %r8
leaq 0x21386(%rip), %rsi     # 0x54146
leaq 0x22644(%rip), %rdx     # 0x5540b
leaq 0x10(%rsp), %r15
movq %r15, %rdi
callq 0x32072
cmpb $0x0, (%r15)
je 0x32f52
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
movq %rsp, %rcx
movl $0xffffffff, (%rcx)     # imm = 0xFFFFFFFF
addq $0x8, %r14
leaq 0x21348(%rip), %rsi     # 0x54146
leaq 0x2260d(%rip), %rdx     # 0x55412
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %r8
callq 0x32072
cmpb $0x0, (%r15)
je 0x32fe6
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
movq 0x20(%rsp), %rsi
testq %rsi, %rsi
je 0x32e4e
movq %rbx, %rdi
callq 0x42da6
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
movq 0x20(%rsp), %rax
movq %rsp, %r8
movq %rax, (%r8)
leaq 0x8(%rsp), %rcx
movq $0x0, (%rcx)
leaq 0x2256f(%rip), %rsi     # 0x553db
leaq 0x22570(%rip), %rdx     # 0x553e3
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x33386
cmpb $0x0, (%rbx)
jne 0x3314b
movq %rsp, %rdi
callq 0x12eee
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x330e6
movq (%rax), %r8
jmp 0x330ed
movq %rsp, %rdi
callq 0x12eee
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x32edc
movq (%rax), %r8
jmp 0x32ee3
movq %rsp, %rdi
callq 0x12eee
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x32f70
movq (%rax), %r8
jmp 0x32f77
leaq 0x25f70(%rip), %r8      # 0x58e53
leaq 0x224d8(%rip), %rdx     # 0x553c2
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x4b, %ecx
callq 0x10bb8
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10c56
leaq 0x8(%rsp), %rdi
callq 0x10c24
cmpq $0x0, (%rsp)
je 0x32f41
movl $0x1, %edi
callq 0x10bb4
testb %al, %al
je 0x32f39
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x32f39
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, (%rsp)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
jmp 0x33157
movq %rsp, %rdi
callq 0x12eee
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x32ffd
movq (%rax), %r8
jmp 0x33004
leaq 0x25edc(%rip), %r8      # 0x58e53
leaq 0x22444(%rip), %rdx     # 0x553c2
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x4c, %ecx
callq 0x10bb8
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10c56
leaq 0x8(%rsp), %rdi
callq 0x10c24
cmpq $0x0, (%rsp)
je 0x32fd5
movl $0x1, %edi
callq 0x10bb4
testb %al, %al
je 0x32fcd
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x32fcd
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, (%rsp)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
jmp 0x33157
movq %rsp, %rdi
callq 0x12eee
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x33073
movq (%rax), %r8
jmp 0x3307a
leaq 0x25e4f(%rip), %r8      # 0x58e53
leaq 0x223b7(%rip), %rdx     # 0x553c2
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x4d, %ecx
callq 0x10bb8
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10c56
leaq 0x8(%rsp), %rdi
callq 0x10c24
cmpq $0x0, (%rsp)
je 0x33062
movl $0x1, %edi
callq 0x10bb4
testb %al, %al
je 0x3305a
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x3305a
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, (%rsp)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
jmp 0x33157
leaq 0x25dd9(%rip), %r8      # 0x58e53
leaq 0x22341(%rip), %rdx     # 0x553c2
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x4e, %ecx
callq 0x10bb8
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10c56
leaq 0x8(%rsp), %rdi
callq 0x10c24
cmpq $0x0, (%rsp)
je 0x330d8
movl $0x1, %edi
callq 0x10bb4
testb %al, %al
je 0x330d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x330d0
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, (%rsp)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
jmp 0x33157
leaq 0x25d66(%rip), %r8      # 0x58e53
leaq 0x222ce(%rip), %rdx     # 0x553c2
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x50, %ecx
callq 0x10bb8
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10c56
leaq 0x8(%rsp), %rdi
callq 0x10c24
cmpq $0x0, (%rsp)
je 0x3314b
movl $0x1, %edi
callq 0x10bb4
testb %al, %al
je 0x33143
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x33143
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, (%rsp)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x331c9
jmp 0x33198
jmp 0x331a7
jmp 0x331b4
jmp 0x331c9
jmp 0x331c9
jmp 0x331c9
jmp 0x33198
jmp 0x331a7
jmp 0x331b4
jmp 0x331c9
jmp 0x331c9
jmp 0x331c9
jmp 0x33198
jmp 0x331a7
jmp 0x331b4
jmp 0x331c9
jmp 0x331c9
jmp 0x331c9
jmp 0x33198
jmp 0x331a7
jmp 0x331b4
jmp 0x331c9
jmp 0x331c9
jmp 0x331c9
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x10c24
jmp 0x331aa
movq %rax, %rbx
movq %rsp, %rdi
callq 0x31faa
jmp 0x331b7
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x31fbc
movq %rbx, %rdi
callq 0xcbb0
movq %rax, %rdi
callq 0x28baf
nop