// File: /workspace/github_c_makefile_star2_O3/deplinenoise[P]tundra/unittest/Test_Json.cpp
// Function: JsonTest_EmptyArray_Test::TestBody()
TEST_F(JsonTest, EmptyArray)
{
  char input[] = "[]";
  const JsonValue* v = JsonParse(input, &alloc, &scratch, error_msg);

  ASSERT_STREQ("", error_msg);
  ASSERT_NE(nullptr, v);

  ASSERT_EQ(JsonValue::kArray, v->m_Type);
  ASSERT_EQ(0, v->AsArray()->m_Count);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x30, %rsp
leaq 0x2c(%rsp), %rax
movb $0x0, 0x2(%rax)
movw $0x5d5b, (%rax)         # imm = 0x5D5B
leaq 0x18(%rdi), %rsi
leaq 0x50(%rdi), %rdx
leaq 0x88(%rdi), %r14
movq %rax, %rdi
movq %r14, %rcx
callq 0x41494
movq %rax, 0x20(%rsp)
leaq 0x1df44(%rip), %rsi     # 0x54d5f
leaq 0x1df40(%rip), %rdx     # 0x54d62
leaq 0x2109e(%rip), %rbx     # 0x57ec7
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rcx
movq %r14, %r8
callq 0x14ffa
cmpb $0x0, (%r15)
je 0x36f2d
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c37a
movq %rsp, %rcx
movq $0x0, (%rcx)
leaq 0x1d5a8(%rip), %rsi     # 0x5440b
leaq 0x1cfa7(%rip), %rdx     # 0x53e11
leaq 0x10(%rsp), %rbx
leaq 0x20(%rsp), %r8
movq %rbx, %rdi
callq 0x396c7
cmpb $0x0, (%rbx)
je 0x36fac
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c37a
movq %rsp, %rcx
movl $0x3, (%rcx)
movq 0x20(%rsp), %r8
leaq 0x1e007(%rip), %rsi     # 0x54ead
leaq 0x1dfd1(%rip), %rdx     # 0x54e7e
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x3a110
cmpb $0x0, (%rbx)
je 0x36fc3
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c37a
movq %rsp, %rcx
movl $0x0, (%rcx)
movq 0x20(%rsp), %rax
xorl %r8d, %r8d
cmpl $0x3, (%rax)
cmoveq %rax, %r8
addq $0x8, %r8
leaq 0x1cc46(%rip), %rsi     # 0x53b38
leaq 0x1dfc6(%rip), %rdx     # 0x54ebf
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x32e9d
cmpb $0x0, (%rbx)
jne 0x37110
movq %rsp, %rdi
callq 0x12e46
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x370b3
movq (%rax), %r8
jmp 0x370ba
movq %rsp, %rdi
callq 0x12e46
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x36f42
movq (%rax), %rbx
leaq 0x1ddff(%rip), %rdx     # 0x54d48
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x45, %ecx
movq %rbx, %r8
callq 0x10b64
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10c00
leaq 0x8(%rsp), %rdi
callq 0x10bd0
cmpq $0x0, (%rsp)
je 0x36f9b
movl $0x1, %edi
callq 0x10b61
testb %al, %al
je 0x36f9b
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x36f9b
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c37a
jmp 0x3711c
movq %rsp, %rdi
callq 0x12e46
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x36fda
movq (%rax), %r8
jmp 0x36fe1
movq %rsp, %rdi
callq 0x12e46
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x37048
movq (%rax), %r8
jmp 0x3704f
leaq 0x20ee6(%rip), %r8      # 0x57ec7
leaq 0x1dd60(%rip), %rdx     # 0x54d48
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x46, %ecx
callq 0x10b64
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10c00
leaq 0x8(%rsp), %rdi
callq 0x10bd0
cmpq $0x0, (%rsp)
je 0x37037
movl $0x1, %edi
callq 0x10b61
testb %al, %al
je 0x37037
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x37037
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c37a
jmp 0x3711c
leaq 0x20e78(%rip), %r8      # 0x57ec7
leaq 0x1dcf2(%rip), %rdx     # 0x54d48
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x48, %ecx
callq 0x10b64
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10c00
leaq 0x8(%rsp), %rdi
callq 0x10bd0
cmpq $0x0, (%rsp)
je 0x370a5
movl $0x1, %edi
callq 0x10b61
testb %al, %al
je 0x370a5
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x370a5
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c37a
jmp 0x3711c
leaq 0x20e0d(%rip), %r8      # 0x57ec7
leaq 0x1dc87(%rip), %rdx     # 0x54d48
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x49, %ecx
callq 0x10b64
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10c00
leaq 0x8(%rsp), %rdi
callq 0x10bd0
cmpq $0x0, (%rsp)
je 0x37110
movl $0x1, %edi
callq 0x10b61
testb %al, %al
je 0x37110
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x37110
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c37a
addq $0x30, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x3717d
jmp 0x3714c
jmp 0x3715b
jmp 0x37168
jmp 0x3717d
jmp 0x3717d
jmp 0x3717d
jmp 0x3714c
jmp 0x3715b
jmp 0x37168
jmp 0x3717d
jmp 0x3717d
jmp 0x3717d
jmp 0x3714c
jmp 0x3715b
jmp 0x37168
jmp 0x3717d
jmp 0x3717d
jmp 0x3717d
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x10bd0
jmp 0x3715e
movq %rax, %rbx
movq %rsp, %rdi
callq 0x31a70
jmp 0x3716b
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x31a82
movq %rbx, %rdi
callq 0xcbb0
movq %rax, %rdi
callq 0x287ef
nop