// File: /workspace/github_c_makefile_star2_O0/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
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
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
callq 0x50980
movq %rax, -0x28(%rbp)
movl $0x3, -0x3c(%rbp)
leaq -0x18(%rbp), %r8
leaq 0x3db98(%rip), %rsi     # 0x8daf9
leaq 0x3ca27(%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 0x4ff90
movb -0x101(%rbp), %al
testb $0x1, %al
jne 0x4ff9c
jmp 0x4ffb2
jmp 0x5004a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x500ba
leaq -0x58(%rbp), %rdi
callq 0x16d70
jmp 0x4ffbd
leaq -0x38(%rbp), %rdi
callq 0x310b0
movq %rax, -0x128(%rbp)
jmp 0x4ffcf
movq -0x128(%rbp), %r8
leaq 0x3c985(%rip), %rdx     # 0x8c962
leaq -0x60(%rbp), %rdi
movl $0x2, %esi
movl $0x4b, %ecx
callq 0x13fa0
jmp 0x4fff2
leaq -0x60(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x14060
jmp 0x50001
leaq -0x60(%rbp), %rdi
callq 0x14020
leaq -0x58(%rbp), %rdi
callq 0x31070
movl $0x1, -0x64(%rbp)
jmp 0x50051
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x5003f
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 0x500ba
movl $0x0, -0x64(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x30d20
movl -0x64(%rbp), %eax
testl %eax, %eax
je 0x50068
jmp 0x50063
jmp 0x5059e
movl $0xffffffff, -0x7c(%rbp) # imm = 0xFFFFFFFF
movq -0x28(%rbp), %r8
leaq 0x3b67a(%rip), %rsi     # 0x8b6f4
leaq 0x3c923(%rip), %rdx     # 0x8c9a4
leaq -0x78(%rbp), %rdi
movq %rdi, -0x138(%rbp)
leaq -0x7c(%rbp), %rcx
callq 0x4eba0
movq -0x138(%rbp), %rdi
callq 0x31090
movb %al, -0x129(%rbp)
jmp 0x500a9
movb -0x129(%rbp), %al
testb $0x1, %al
jne 0x500b5
jmp 0x500d9
jmp 0x50189
leaq -0x38(%rbp), %rdi
callq 0x30d20
jmp 0x505b3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x50206
leaq -0x88(%rbp), %rdi
callq 0x16d70
jmp 0x500e7
leaq -0x78(%rbp), %rdi
callq 0x310b0
movq %rax, -0x140(%rbp)
jmp 0x500f9
movq -0x140(%rbp), %r8
leaq 0x3c85b(%rip), %rdx     # 0x8c962
leaq -0x90(%rbp), %rdi
movl $0x2, %esi
movl $0x4c, %ecx
callq 0x13fa0
jmp 0x5011f
leaq -0x90(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x14060
jmp 0x50134
leaq -0x90(%rbp), %rdi
callq 0x14020
leaq -0x88(%rbp), %rdi
callq 0x31070
movl $0x1, -0x64(%rbp)
jmp 0x50190
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x5017b
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 0x50206
movl $0x0, -0x64(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x30d20
movl -0x64(%rbp), %eax
testl %eax, %eax
je 0x501a7
jmp 0x501a2
jmp 0x5059e
movl $0xffffffff, -0xa4(%rbp) # imm = 0xFFFFFFFF
movq -0x28(%rbp), %r8
addq $0x4, %r8
leaq 0x3b534(%rip), %rsi     # 0x8b6f4
leaq 0x3c7e4(%rip), %rdx     # 0x8c9ab
leaq -0xa0(%rbp), %rdi
movq %rdi, -0x150(%rbp)
leaq -0xa4(%rbp), %rcx
callq 0x4eba0
movq -0x150(%rbp), %rdi
callq 0x31090
movb %al, -0x141(%rbp)
jmp 0x501f5
movb -0x141(%rbp), %al
testb $0x1, %al
jne 0x50201
jmp 0x50225
jmp 0x502db
leaq -0x78(%rbp), %rdi
callq 0x30d20
jmp 0x505b3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x5035b
leaq -0xb0(%rbp), %rdi
callq 0x16d70
jmp 0x50233
leaq -0xa0(%rbp), %rdi
callq 0x310b0
movq %rax, -0x158(%rbp)
jmp 0x50248
movq -0x158(%rbp), %r8
leaq 0x3c70c(%rip), %rdx     # 0x8c962
leaq -0xb8(%rbp), %rdi
movl $0x2, %esi
movl $0x4d, %ecx
callq 0x13fa0
jmp 0x5026e
leaq -0xb8(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x14060
jmp 0x50283
leaq -0xb8(%rbp), %rdi
callq 0x14020
leaq -0xb0(%rbp), %rdi
callq 0x31070
movl $0x1, -0x64(%rbp)
jmp 0x502e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x502ca
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 0x5035b
movl $0x0, -0x64(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x30d20
movl -0x64(%rbp), %eax
testl %eax, %eax
je 0x502fc
jmp 0x502f7
jmp 0x5059e
movl $0xffffffff, -0xcc(%rbp) # imm = 0xFFFFFFFF
movq -0x28(%rbp), %r8
addq $0x8, %r8
leaq 0x3b3df(%rip), %rsi     # 0x8b6f4
leaq 0x3c696(%rip), %rdx     # 0x8c9b2
leaq -0xc8(%rbp), %rdi
movq %rdi, -0x168(%rbp)
leaq -0xcc(%rbp), %rcx
callq 0x4eba0
movq -0x168(%rbp), %rdi
callq 0x31090
movb %al, -0x159(%rbp)
jmp 0x5034a
movb -0x159(%rbp), %al
testb $0x1, %al
jne 0x50356
jmp 0x5037d
jmp 0x50433
leaq -0xa0(%rbp), %rdi
callq 0x30d20
jmp 0x505b3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x504b6
leaq -0xd8(%rbp), %rdi
callq 0x16d70
jmp 0x5038b
leaq -0xc8(%rbp), %rdi
callq 0x310b0
movq %rax, -0x170(%rbp)
jmp 0x503a0
movq -0x170(%rbp), %r8
leaq 0x3c5b4(%rip), %rdx     # 0x8c962
leaq -0xe0(%rbp), %rdi
movl $0x2, %esi
movl $0x4e, %ecx
callq 0x13fa0
jmp 0x503c6
leaq -0xe0(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0x14060
jmp 0x503db
leaq -0xe0(%rbp), %rdi
callq 0x14020
leaq -0xd8(%rbp), %rdi
callq 0x31070
movl $0x1, -0x64(%rbp)
jmp 0x5043a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x50422
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 0x504b6
movl $0x0, -0x64(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x30d20
movl -0x64(%rbp), %eax
testl %eax, %eax
je 0x50454
jmp 0x5044f
jmp 0x5059e
movq -0x120(%rbp), %rsi
addq $0x10, %rsi
leaq -0x20(%rbp), %rdi
callq 0x506e0
movq -0x20(%rbp), %r8
leaq 0x3c508(%rip), %rsi     # 0x8c97b
leaq 0x3c509(%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 0x504a5
movb -0x171(%rbp), %al
testb $0x1, %al
jne 0x504b1
jmp 0x504d8
jmp 0x5058b
leaq -0xc8(%rbp), %rdi
callq 0x30d20
jmp 0x505b3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x505a7
leaq -0xf8(%rbp), %rdi
callq 0x16d70
jmp 0x504e6
leaq -0xf0(%rbp), %rdi
callq 0x310b0
movq %rax, -0x188(%rbp)
jmp 0x504fb
movq -0x188(%rbp), %r8
leaq 0x3c459(%rip), %rdx     # 0x8c962
leaq -0x100(%rbp), %rdi
movl $0x2, %esi
movl $0x50, %ecx
callq 0x13fa0
jmp 0x50521
leaq -0x100(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
callq 0x14060
jmp 0x50536
leaq -0x100(%rbp), %rdi
callq 0x14020
leaq -0xf8(%rbp), %rdi
callq 0x31070
movl $0x1, -0x64(%rbp)
jmp 0x50592
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x5057d
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 0x505a7
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)