#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ checkResults(char *, char *, char *, int);
void testBracketsWithQuotedStrings() {
  checkResults("'a test statement';",
               "1:0:BEGIN~EOF~\n"
               "1:1:BEGIN~;~\n"
               "1:1:BEGIN~'~\n"
               "1:1:STRING='a test statement'\n"
               "1:18:END~'~\n"
               "1:19:END~;~\n"
               "1:19:END~EOF~\n",
               "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/jasonxhill/okavangoc/refs/"
               "heads/master/test/BracketStreamTest.c",
               376);
  checkResults("\"a test statement\";",
               "1:0:BEGIN~EOF~\n"
               "1:1:BEGIN~;~\n"
               "1:1:BEGIN~\"~\n"
               "1:1:STRING=\"a test statement\"\n"
               "1:18:END~\"~\n"
               "1:19:END~;~\n"
               "1:19:END~EOF~\n",
               "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/jasonxhill/okavangoc/refs/"
               "heads/master/test/BracketStreamTest.c",
               385);
  checkResults("{'a test statement';};",
               "1:0:BEGIN~EOF~\n"
               "1:1:BEGIN~;~\n"
               "1:1:BEGIN~{~\n"
               "1:2:BEGIN~;~\n"
               "1:2:BEGIN~'~\n"
               "1:2:STRING='a test statement'\n"
               "1:19:END~'~\n"
               "1:20:END~;~\n"
               "1:21:END~{~\n"
               "1:22:END~;~\n"
               "1:22:END~EOF~\n",
               "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/jasonxhill/okavangoc/refs/"
               "heads/master/test/BracketStreamTest.c",
               394);
  checkResults("{'a \\'test statement';};",
               "1:0:BEGIN~EOF~\n"
               "1:1:BEGIN~;~\n"
               "1:1:BEGIN~{~\n"
               "1:2:BEGIN~;~\n"
               "1:2:BEGIN~'~\n"
               "1:2:STRING='a \\'test statement'\n"
               "1:21:END~'~\n"
               "1:22:END~;~\n"
               "1:23:END~{~\n"
               "1:24:END~;~\n"
               "1:24:END~EOF~\n",
               "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/jasonxhill/okavangoc/refs/"
               "heads/master/test/BracketStreamTest.c",
               407);
  checkResults("{\"a \\\"test statement\";};",
               "1:0:BEGIN~EOF~\n"
               "1:1:BEGIN~;~\n"
               "1:1:BEGIN~{~\n"
               "1:2:BEGIN~;~\n"
               "1:2:BEGIN~\"~\n"
               "1:2:STRING=\"a \\\"test statement\"\n"
               "1:21:END~\"~\n"
               "1:22:END~;~\n"
               "1:23:END~{~\n"
               "1:24:END~;~\n"
               "1:24:END~EOF~\n",
               "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/jasonxhill/okavangoc/refs/"
               "heads/master/test/BracketStreamTest.c",
               420);
  checkResults("{'a \"test statement';};",
               "1:0:BEGIN~EOF~\n"
               "1:1:BEGIN~;~\n"
               "1:1:BEGIN~{~\n"
               "1:2:BEGIN~;~\n"
               "1:2:BEGIN~'~\n"
               "1:2:STRING='a \"test statement'\n"
               "1:20:END~'~\n"
               "1:21:END~;~\n"
               "1:22:END~{~\n"
               "1:23:END~;~\n"
               "1:23:END~EOF~\n",
               "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/jasonxhill/okavangoc/refs/"
               "heads/master/test/BracketStreamTest.c",
               433);
  checkResults("{\"a \\'test statement\";};",
               "1:0:BEGIN~EOF~\n"
               "1:1:BEGIN~;~\n"
               "1:1:BEGIN~{~\n"
               "1:2:BEGIN~;~\n"
               "1:2:BEGIN~\"~\n"
               "1:2:STRING=\"a \\'test statement\"\n"
               "1:21:END~\"~\n"
               "1:22:END~;~\n"
               "1:23:END~{~\n"
               "1:24:END~;~\n"
               "1:24:END~EOF~\n",
               "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/jasonxhill/okavangoc/refs/"
               "heads/master/test/BracketStreamTest.c",
               446);
  checkResults("{'a test } statement';};",
               "1:0:BEGIN~EOF~\n"
               "1:1:BEGIN~;~\n"
               "1:1:BEGIN~{~\n"
               "1:2:BEGIN~;~\n"
               "1:2:BEGIN~'~\n"
               "1:2:STRING='a test } statement'\n"
               "1:21:END~'~\n"
               "1:22:END~;~\n"
               "1:23:END~{~\n"
               "1:24:END~;~\n"
               "1:24:END~EOF~\n",
               "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/jasonxhill/okavangoc/refs/"
               "heads/master/test/BracketStreamTest.c",
               459);
  checkResults("{\"a test } statement\";};",
               "1:0:BEGIN~EOF~\n"
               "1:1:BEGIN~;~\n"
               "1:1:BEGIN~{~\n"
               "1:2:BEGIN~;~\n"
               "1:2:BEGIN~\"~\n"
               "1:2:STRING=\"a test } statement\"\n"
               "1:21:END~\"~\n"
               "1:22:END~;~\n"
               "1:23:END~{~\n"
               "1:24:END~;~\n"
               "1:24:END~EOF~\n",
               "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/jasonxhill/okavangoc/refs/"
               "heads/master/test/BracketStreamTest.c",
               472);
  checkResults("'a test { statement';",
               "1:0:BEGIN~EOF~\n"
               "1:1:BEGIN~;~\n"
               "1:1:BEGIN~'~\n"
               "1:1:STRING='a test { statement'\n"
               "1:20:END~'~\n"
               "1:21:END~;~\n"
               "1:21:END~EOF~\n",
               "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/jasonxhill/okavangoc/refs/"
               "heads/master/test/BracketStreamTest.c",
               485);
  checkResults("'a test } ] ; ) statement';",
               "1:0:BEGIN~EOF~\n"
               "1:1:BEGIN~;~\n"
               "1:1:BEGIN~'~\n"
               "1:1:STRING='a test } ] ; ) statement'\n"
               "1:26:END~'~\n"
               "1:27:END~;~\n"
               "1:27:END~EOF~\n",
               "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/jasonxhill/okavangoc/refs/"
               "heads/master/test/BracketStreamTest.c",
               494);
  checkResults("'a test statement;",
               "1:0:BEGIN~EOF~\n"
               "1:1:BEGIN~;~\n"
               "1:1:BEGIN~'~\n"
               "1:1:STRING='a test statement;\n"
               "1:18:END_MISSING~'~\n"
               "1:18:END_MISSING~;~\n"
               "1:18:END~EOF~\n",
               "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/jasonxhill/okavangoc/refs/"
               "heads/master/test/BracketStreamTest.c",
               503);
  checkResults("{'a test statement;};",
               "1:0:BEGIN~EOF~\n"
               "1:1:BEGIN~;~\n"
               "1:1:BEGIN~{~\n"
               "1:2:BEGIN~;~\n"
               "1:2:BEGIN~'~\n"
               "1:2:STRING='a test statement;};\n"
               "1:21:END_MISSING~'~\n"
               "1:21:END_MISSING~;~\n"
               "1:21:END_MISSING~{~\n"
               "1:21:END_MISSING~;~\n"
               "1:21:END~EOF~\n",
               "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/jasonxhill/okavangoc/refs/"
               "heads/master/test/BracketStreamTest.c",
               512);
  checkResults("\"a test statement;",
               "1:0:BEGIN~EOF~\n"
               "1:1:BEGIN~;~\n"
               "1:1:BEGIN~\"~\n"
               "1:1:STRING=\"a test statement;\n"
               "1:18:END_MISSING~\"~\n"
               "1:18:END_MISSING~;~\n"
               "1:18:END~EOF~\n",
               "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/jasonxhill/okavangoc/refs/"
               "heads/master/test/BracketStreamTest.c",
               525);
  checkResults("{\"a test statement;};",
               "1:0:BEGIN~EOF~\n"
               "1:1:BEGIN~;~\n"
               "1:1:BEGIN~{~\n"
               "1:2:BEGIN~;~\n"
               "1:2:BEGIN~\"~\n"
               "1:2:STRING=\"a test statement;};\n"
               "1:21:END_MISSING~\"~\n"
               "1:21:END_MISSING~;~\n"
               "1:21:END_MISSING~{~\n"
               "1:21:END_MISSING~;~\n"
               "1:21:END~EOF~\n",
               "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/jasonxhill/okavangoc/refs/"
               "heads/master/test/BracketStreamTest.c",
               534);
}


x86 assembly (clang, -O0):
<testBracketsWithQuotedStrings>:
push   %rbp
mov    %rsp,%rbp
lea    0xee5(%rip),%rdi
lea    0xef2(%rip),%rsi
lea    0xf59(%rip),%rdx
mov    $0x178,%ecx
call   1030 <checkResults@plt>
lea    0xfe2(%rip),%rdi
lea    0xfef(%rip),%rsi
lea    0xf3a(%rip),%rdx
mov    $0x181,%ecx
call   1030 <checkResults@plt>
lea    0x1045(%rip),%rdi
lea    0x1055(%rip),%rsi
lea    0xf1b(%rip),%rdx
mov    $0x18a,%ecx
call   1030 <checkResults@plt>
lea    0x10dd(%rip),%rdi
lea    0x10ef(%rip),%rsi
lea    0xefc(%rip),%rdx
mov    $0x197,%ecx
call   1030 <checkResults@plt>
lea    0x1179(%rip),%rdi
lea    0x118b(%rip),%rsi
lea    0xedd(%rip),%rdx
mov    $0x1a4,%ecx
call   1030 <checkResults@plt>
lea    0x1215(%rip),%rdi
lea    0x1226(%rip),%rsi
lea    0xebe(%rip),%rdx
mov    $0x1b1,%ecx
call   1030 <checkResults@plt>
lea    0x12af(%rip),%rdi
lea    0x12c1(%rip),%rsi
lea    0xe9f(%rip),%rdx
mov    $0x1be,%ecx
call   1030 <checkResults@plt>
lea    0x134b(%rip),%rdi
lea    0x135d(%rip),%rsi
lea    0xe80(%rip),%rdx
mov    $0x1cb,%ecx
call   1030 <checkResults@plt>
lea    0x13e7(%rip),%rdi
lea    0x13f9(%rip),%rsi
lea    0xe61(%rip),%rdx
mov    $0x1d8,%ecx
call   1030 <checkResults@plt>
lea    0x1483(%rip),%rdi
lea    0x1492(%rip),%rsi
lea    0xe42(%rip),%rdx
mov    $0x1e5,%ecx
call   1030 <checkResults@plt>
lea    0x14ea(%rip),%rdi
lea    0x14ff(%rip),%rsi
lea    0xe23(%rip),%rdx
mov    $0x1ee,%ecx
call   1030 <checkResults@plt>
lea    0x155d(%rip),%rdi
lea    0x1569(%rip),%rsi
lea    0xe04(%rip),%rdx
mov    $0x1f7,%ecx
call   1030 <checkResults@plt>
lea    0x15cf(%rip),%rdi
lea    0x15de(%rip),%rsi
lea    0xde5(%rip),%rdx
mov    $0x200,%ecx
call   1030 <checkResults@plt>
lea    0x1688(%rip),%rdi
lea    0x1694(%rip),%rsi
lea    0xdc6(%rip),%rdx
mov    $0x20d,%ecx
call   1030 <checkResults@plt>
lea    0x16fa(%rip),%rdi
lea    0x1709(%rip),%rsi
lea    0xda7(%rip),%rdx
mov    $0x216,%ecx
call   1030 <checkResults@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<testBracketsWithQuotedStrings>:
push   %rbx
lea    0xee8(%rip),%rdi
lea    0xef5(%rip),%rsi
lea    0xf5c(%rip),%rbx
mov    %rbx,%rdx
mov    $0x178,%ecx
call   1030 <checkResults@plt>
lea    0xfe2(%rip),%rdi
lea    0xfef(%rip),%rsi
mov    %rbx,%rdx
mov    $0x181,%ecx
call   1030 <checkResults@plt>
lea    0x1049(%rip),%rdi
lea    0x1059(%rip),%rsi
mov    %rbx,%rdx
mov    $0x18a,%ecx
call   1030 <checkResults@plt>
lea    0x10e5(%rip),%rdi
lea    0x10f7(%rip),%rsi
mov    %rbx,%rdx
mov    $0x197,%ecx
call   1030 <checkResults@plt>
lea    0x1185(%rip),%rdi
lea    0x1197(%rip),%rsi
mov    %rbx,%rdx
mov    $0x1a4,%ecx
call   1030 <checkResults@plt>
lea    0x1225(%rip),%rdi
lea    0x1236(%rip),%rsi
mov    %rbx,%rdx
mov    $0x1b1,%ecx
call   1030 <checkResults@plt>
lea    0x12c3(%rip),%rdi
lea    0x12d5(%rip),%rsi
mov    %rbx,%rdx
mov    $0x1be,%ecx
call   1030 <checkResults@plt>
lea    0x1363(%rip),%rdi
lea    0x1375(%rip),%rsi
mov    %rbx,%rdx
mov    $0x1cb,%ecx
call   1030 <checkResults@plt>
lea    0x1403(%rip),%rdi
lea    0x1415(%rip),%rsi
mov    %rbx,%rdx
mov    $0x1d8,%ecx
call   1030 <checkResults@plt>
lea    0x14a3(%rip),%rdi
lea    0x14b2(%rip),%rsi
mov    %rbx,%rdx
mov    $0x1e5,%ecx
call   1030 <checkResults@plt>
lea    0x150e(%rip),%rdi
lea    0x1523(%rip),%rsi
mov    %rbx,%rdx
mov    $0x1ee,%ecx
call   1030 <checkResults@plt>
lea    0x1585(%rip),%rdi
lea    0x1591(%rip),%rsi
mov    %rbx,%rdx
mov    $0x1f7,%ecx
call   1030 <checkResults@plt>
lea    0x15fb(%rip),%rdi
lea    0x160a(%rip),%rsi
mov    %rbx,%rdx
mov    $0x200,%ecx
call   1030 <checkResults@plt>
lea    0x16b8(%rip),%rdi
lea    0x16c4(%rip),%rsi
mov    %rbx,%rdx
mov    $0x20d,%ecx
call   1030 <checkResults@plt>
lea    0x172e(%rip),%rdi
lea    0x173d(%rip),%rsi
mov    %rbx,%rdx
mov    $0x216,%ecx
pop    %rbx
jmp    1030 <checkResults@plt>

LLVM IR (-O0):
@.str = [20 x i8] c"'a test statement';\00"
@.str.1 = [110 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~'~\0A1:1:STRING='a test statement'\0A1:18:END~'~\0A1:19:END~;~\0A1:19:END~EOF~\0A\00"
@.str.2 = [154 x i8] c"/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/jasonxhill/okavangoc/refs/heads/master/test/BracketStreamTest.c\00"
@.str.3 = [20 x i8] c"\22a test statement\22;\00"
@.str.4 = [110 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~\22~\0A1:1:STRING=\22a test statement\22\0A1:18:END~\22~\0A1:19:END~;~\0A1:19:END~EOF~\0A\00"
@.str.5 = [23 x i8] c"{'a test statement';};\00"
@.str.6 = [160 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~{~\0A1:2:BEGIN~;~\0A1:2:BEGIN~'~\0A1:2:STRING='a test statement'\0A1:19:END~'~\0A1:20:END~;~\0A1:21:END~{~\0A1:22:END~;~\0A1:22:END~EOF~\0A\00"
@.str.7 = [25 x i8] c"{'a \\'test statement';};\00"
@.str.8 = [162 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~{~\0A1:2:BEGIN~;~\0A1:2:BEGIN~'~\0A1:2:STRING='a \\'test statement'\0A1:21:END~'~\0A1:22:END~;~\0A1:23:END~{~\0A1:24:END~;~\0A1:24:END~EOF~\0A\00"
@.str.9 = [25 x i8] c"{\22a \\\22test statement\22;};\00"
@.str.10 = [162 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~{~\0A1:2:BEGIN~;~\0A1:2:BEGIN~\22~\0A1:2:STRING=\22a \\\22test statement\22\0A1:21:END~\22~\0A1:22:END~;~\0A1:23:END~{~\0A1:24:END~;~\0A1:24:END~EOF~\0A\00"
@.str.11 = [24 x i8] c"{'a \22test statement';};\00"
@.str.12 = [161 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~{~\0A1:2:BEGIN~;~\0A1:2:BEGIN~'~\0A1:2:STRING='a \22test statement'\0A1:20:END~'~\0A1:21:END~;~\0A1:22:END~{~\0A1:23:END~;~\0A1:23:END~EOF~\0A\00"
@.str.13 = [25 x i8] c"{\22a \\'test statement\22;};\00"
@.str.14 = [162 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~{~\0A1:2:BEGIN~;~\0A1:2:BEGIN~\22~\0A1:2:STRING=\22a \\'test statement\22\0A1:21:END~\22~\0A1:22:END~;~\0A1:23:END~{~\0A1:24:END~;~\0A1:24:END~EOF~\0A\00"
@.str.15 = [25 x i8] c"{'a test } statement';};\00"
@.str.16 = [162 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~{~\0A1:2:BEGIN~;~\0A1:2:BEGIN~'~\0A1:2:STRING='a test } statement'\0A1:21:END~'~\0A1:22:END~;~\0A1:23:END~{~\0A1:24:END~;~\0A1:24:END~EOF~\0A\00"
@.str.17 = [25 x i8] c"{\22a test } statement\22;};\00"
@.str.18 = [162 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~{~\0A1:2:BEGIN~;~\0A1:2:BEGIN~\22~\0A1:2:STRING=\22a test } statement\22\0A1:21:END~\22~\0A1:22:END~;~\0A1:23:END~{~\0A1:24:END~;~\0A1:24:END~EOF~\0A\00"
@.str.19 = [22 x i8] c"'a test { statement';\00"
@.str.20 = [112 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~'~\0A1:1:STRING='a test { statement'\0A1:20:END~'~\0A1:21:END~;~\0A1:21:END~EOF~\0A\00"
@.str.21 = [28 x i8] c"'a test } ] ; ) statement';\00"
@.str.22 = [118 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~'~\0A1:1:STRING='a test } ] ; ) statement'\0A1:26:END~'~\0A1:27:END~;~\0A1:27:END~EOF~\0A\00"
@.str.23 = [19 x i8] c"'a test statement;\00"
@.str.24 = [126 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~'~\0A1:1:STRING='a test statement;\0A1:18:END_MISSING~'~\0A1:18:END_MISSING~;~\0A1:18:END~EOF~\0A\00"
@.str.25 = [22 x i8] c"{'a test statement;};\00"
@.str.26 = [194 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~{~\0A1:2:BEGIN~;~\0A1:2:BEGIN~'~\0A1:2:STRING='a test statement;};\0A1:21:END_MISSING~'~\0A1:21:END_MISSING~;~\0A1:21:END_MISSING~{~\0A1:21:END_MISSING~;~\0A1:21:END~EOF~\0A\00"
@.str.27 = [19 x i8] c"\22a test statement;\00"
@.str.28 = [126 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~\22~\0A1:1:STRING=\22a test statement;\0A1:18:END_MISSING~\22~\0A1:18:END_MISSING~;~\0A1:18:END~EOF~\0A\00"
@.str.29 = [22 x i8] c"{\22a test statement;};\00"
@.str.30 = [194 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~{~\0A1:2:BEGIN~;~\0A1:2:BEGIN~\22~\0A1:2:STRING=\22a test statement;};\0A1:21:END_MISSING~\22~\0A1:21:END_MISSING~;~\0A1:21:END_MISSING~{~\0A1:21:END_MISSING~;~\0A1:21:END~EOF~\0A\00"
define void @testBracketsWithQuotedStrings() {
%1 = call i32 @checkResults(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([110 x i8], [110 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 376)
%2 = call i32 @checkResults(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([110 x i8], [110 x i8]* @.str.4, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 385)
%3 = call i32 @checkResults(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.5, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 394)
%4 = call i32 @checkResults(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.7, i64 0, i64 0), i8* getelementptr inbounds ([162 x i8], [162 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 407)
%5 = call i32 @checkResults(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.9, i64 0, i64 0), i8* getelementptr inbounds ([162 x i8], [162 x i8]* @.str.10, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 420)
%6 = call i32 @checkResults(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.11, i64 0, i64 0), i8* getelementptr inbounds ([161 x i8], [161 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 433)
%7 = call i32 @checkResults(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([162 x i8], [162 x i8]* @.str.14, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 446)
%8 = call i32 @checkResults(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.15, i64 0, i64 0), i8* getelementptr inbounds ([162 x i8], [162 x i8]* @.str.16, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 459)
%9 = call i32 @checkResults(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.17, i64 0, i64 0), i8* getelementptr inbounds ([162 x i8], [162 x i8]* @.str.18, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 472)
%10 = call i32 @checkResults(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.19, i64 0, i64 0), i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.20, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 485)
%11 = call i32 @checkResults(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.21, i64 0, i64 0), i8* getelementptr inbounds ([118 x i8], [118 x i8]* @.str.22, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 494)
%12 = call i32 @checkResults(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.23, i64 0, i64 0), i8* getelementptr inbounds ([126 x i8], [126 x i8]* @.str.24, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 503)
%13 = call i32 @checkResults(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.25, i64 0, i64 0), i8* getelementptr inbounds ([194 x i8], [194 x i8]* @.str.26, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 512)
%14 = call i32 @checkResults(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.27, i64 0, i64 0), i8* getelementptr inbounds ([126 x i8], [126 x i8]* @.str.28, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 525)
%15 = call i32 @checkResults(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.29, i64 0, i64 0), i8* getelementptr inbounds ([194 x i8], [194 x i8]* @.str.30, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 534)
ret void
}

LLVM IR (-O2):
@.str = [20 x i8] c"'a test statement';\00"
@.str.1 = [110 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~'~\0A1:1:STRING='a test statement'\0A1:18:END~'~\0A1:19:END~;~\0A1:19:END~EOF~\0A\00"
@.str.2 = [154 x i8] c"/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/jasonxhill/okavangoc/refs/heads/master/test/BracketStreamTest.c\00"
@.str.3 = [20 x i8] c"\22a test statement\22;\00"
@.str.4 = [110 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~\22~\0A1:1:STRING=\22a test statement\22\0A1:18:END~\22~\0A1:19:END~;~\0A1:19:END~EOF~\0A\00"
@.str.5 = [23 x i8] c"{'a test statement';};\00"
@.str.6 = [160 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~{~\0A1:2:BEGIN~;~\0A1:2:BEGIN~'~\0A1:2:STRING='a test statement'\0A1:19:END~'~\0A1:20:END~;~\0A1:21:END~{~\0A1:22:END~;~\0A1:22:END~EOF~\0A\00"
@.str.7 = [25 x i8] c"{'a \\'test statement';};\00"
@.str.8 = [162 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~{~\0A1:2:BEGIN~;~\0A1:2:BEGIN~'~\0A1:2:STRING='a \\'test statement'\0A1:21:END~'~\0A1:22:END~;~\0A1:23:END~{~\0A1:24:END~;~\0A1:24:END~EOF~\0A\00"
@.str.9 = [25 x i8] c"{\22a \\\22test statement\22;};\00"
@.str.10 = [162 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~{~\0A1:2:BEGIN~;~\0A1:2:BEGIN~\22~\0A1:2:STRING=\22a \\\22test statement\22\0A1:21:END~\22~\0A1:22:END~;~\0A1:23:END~{~\0A1:24:END~;~\0A1:24:END~EOF~\0A\00"
@.str.11 = [24 x i8] c"{'a \22test statement';};\00"
@.str.12 = [161 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~{~\0A1:2:BEGIN~;~\0A1:2:BEGIN~'~\0A1:2:STRING='a \22test statement'\0A1:20:END~'~\0A1:21:END~;~\0A1:22:END~{~\0A1:23:END~;~\0A1:23:END~EOF~\0A\00"
@.str.13 = [25 x i8] c"{\22a \\'test statement\22;};\00"
@.str.14 = [162 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~{~\0A1:2:BEGIN~;~\0A1:2:BEGIN~\22~\0A1:2:STRING=\22a \\'test statement\22\0A1:21:END~\22~\0A1:22:END~;~\0A1:23:END~{~\0A1:24:END~;~\0A1:24:END~EOF~\0A\00"
@.str.15 = [25 x i8] c"{'a test } statement';};\00"
@.str.16 = [162 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~{~\0A1:2:BEGIN~;~\0A1:2:BEGIN~'~\0A1:2:STRING='a test } statement'\0A1:21:END~'~\0A1:22:END~;~\0A1:23:END~{~\0A1:24:END~;~\0A1:24:END~EOF~\0A\00"
@.str.17 = [25 x i8] c"{\22a test } statement\22;};\00"
@.str.18 = [162 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~{~\0A1:2:BEGIN~;~\0A1:2:BEGIN~\22~\0A1:2:STRING=\22a test } statement\22\0A1:21:END~\22~\0A1:22:END~;~\0A1:23:END~{~\0A1:24:END~;~\0A1:24:END~EOF~\0A\00"
@.str.19 = [22 x i8] c"'a test { statement';\00"
@.str.20 = [112 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~'~\0A1:1:STRING='a test { statement'\0A1:20:END~'~\0A1:21:END~;~\0A1:21:END~EOF~\0A\00"
@.str.21 = [28 x i8] c"'a test } ] ; ) statement';\00"
@.str.22 = [118 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~'~\0A1:1:STRING='a test } ] ; ) statement'\0A1:26:END~'~\0A1:27:END~;~\0A1:27:END~EOF~\0A\00"
@.str.23 = [19 x i8] c"'a test statement;\00"
@.str.24 = [126 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~'~\0A1:1:STRING='a test statement;\0A1:18:END_MISSING~'~\0A1:18:END_MISSING~;~\0A1:18:END~EOF~\0A\00"
@.str.25 = [22 x i8] c"{'a test statement;};\00"
@.str.26 = [194 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~{~\0A1:2:BEGIN~;~\0A1:2:BEGIN~'~\0A1:2:STRING='a test statement;};\0A1:21:END_MISSING~'~\0A1:21:END_MISSING~;~\0A1:21:END_MISSING~{~\0A1:21:END_MISSING~;~\0A1:21:END~EOF~\0A\00"
@.str.27 = [19 x i8] c"\22a test statement;\00"
@.str.28 = [126 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~\22~\0A1:1:STRING=\22a test statement;\0A1:18:END_MISSING~\22~\0A1:18:END_MISSING~;~\0A1:18:END~EOF~\0A\00"
@.str.29 = [22 x i8] c"{\22a test statement;};\00"
@.str.30 = [194 x i8] c"1:0:BEGIN~EOF~\0A1:1:BEGIN~;~\0A1:1:BEGIN~{~\0A1:2:BEGIN~;~\0A1:2:BEGIN~\22~\0A1:2:STRING=\22a test statement;};\0A1:21:END_MISSING~\22~\0A1:21:END_MISSING~;~\0A1:21:END_MISSING~{~\0A1:21:END_MISSING~;~\0A1:21:END~EOF~\0A\00"
define void @testBracketsWithQuotedStrings() {
%1 = tail call i32 @checkResults(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([110 x i8], [110 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 376)
%2 = tail call i32 @checkResults(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([110 x i8], [110 x i8]* @.str.4, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 385)
%3 = tail call i32 @checkResults(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.5, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 394)
%4 = tail call i32 @checkResults(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.7, i64 0, i64 0), i8* getelementptr inbounds ([162 x i8], [162 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 407)
%5 = tail call i32 @checkResults(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.9, i64 0, i64 0), i8* getelementptr inbounds ([162 x i8], [162 x i8]* @.str.10, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 420)
%6 = tail call i32 @checkResults(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.11, i64 0, i64 0), i8* getelementptr inbounds ([161 x i8], [161 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 433)
%7 = tail call i32 @checkResults(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([162 x i8], [162 x i8]* @.str.14, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 446)
%8 = tail call i32 @checkResults(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.15, i64 0, i64 0), i8* getelementptr inbounds ([162 x i8], [162 x i8]* @.str.16, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 459)
%9 = tail call i32 @checkResults(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.17, i64 0, i64 0), i8* getelementptr inbounds ([162 x i8], [162 x i8]* @.str.18, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 472)
%10 = tail call i32 @checkResults(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.19, i64 0, i64 0), i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.20, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 485)
%11 = tail call i32 @checkResults(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.21, i64 0, i64 0), i8* getelementptr inbounds ([118 x i8], [118 x i8]* @.str.22, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 494)
%12 = tail call i32 @checkResults(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.23, i64 0, i64 0), i8* getelementptr inbounds ([126 x i8], [126 x i8]* @.str.24, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 503)
%13 = tail call i32 @checkResults(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.25, i64 0, i64 0), i8* getelementptr inbounds ([194 x i8], [194 x i8]* @.str.26, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 512)
%14 = tail call i32 @checkResults(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.27, i64 0, i64 0), i8* getelementptr inbounds ([126 x i8], [126 x i8]* @.str.28, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 525)
%15 = tail call i32 @checkResults(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.29, i64 0, i64 0), i8* getelementptr inbounds ([194 x i8], [194 x i8]* @.str.30, i64 0, i64 0), i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.2, i64 0, i64 0), i32 534)
ret void
}