#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*/ ec_pattern_match(char *, int, char *);
int /*<<< orphan*/ expect_false(char *, int, int /*<<< orphan*/);
int /*<<< orphan*/ expect_true(char *, int, int /*<<< orphan*/);
void test_editorconfig_pattern_match(void) {
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              11,
              (ec_pattern_match("*",
                                (sizeof(""
                                        "*"
                                        "") -
                                 1),
                                "file.c")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              12,
              (ec_pattern_match("*.{c,h}",
                                (sizeof(""
                                        "*.{c,h}"
                                        "") -
                                 1),
                                "file.c")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              13,
              (ec_pattern_match("*.{foo}",
                                (sizeof(""
                                        "*.{foo}"
                                        "") -
                                 1),
                                "file.foo")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              15,
              (ec_pattern_match("*.{foo{bar,baz}}",
                                (sizeof(""
                                        "*.{foo{bar,baz}}"
                                        "") -
                                 1),
                                "file.foobaz")));
  expect_false("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/"
               "master/test/editorconfig.c",
               16,
               (ec_pattern_match("*.{foo{bar,baz}}",
                                 (sizeof(""
                                         "*.{foo{bar,baz}}"
                                         "") -
                                  1),
                                 "file.foo")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              18,
              (ec_pattern_match("a/**/b/c/*.[ch]",
                                (sizeof(""
                                        "a/**/b/c/*.[ch]"
                                        "") -
                                 1),
                                "a/zzz/yyy/foo/b/c/file.h")));
  expect_false("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/"
               "master/test/editorconfig.c",
               19,
               (ec_pattern_match("a/*/b/c/*.[ch]",
                                 (sizeof(""
                                         "a/*/b/c/*.[ch]"
                                         "") -
                                  1),
                                 "a/zzz/yyy/foo/b/c/file.h")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              21,
              (ec_pattern_match("}*.{x,y}",
                                (sizeof(""
                                        "}*.{x,y}"
                                        "") -
                                 1),
                                "}foo.y")));
  expect_false("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/"
               "master/test/editorconfig.c",
               22,
               (ec_pattern_match("}*.{x,y}",
                                 (sizeof(""
                                         "}*.{x,y}"
                                         "") -
                                  1),
                                 "foo.y")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              23,
              (ec_pattern_match("{}*.{x,y}",
                                (sizeof(""
                                        "{}*.{x,y}"
                                        "") -
                                 1),
                                "foo.y")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              25,
              (ec_pattern_match("*.[xyz]",
                                (sizeof(""
                                        "*.[xyz]"
                                        "") -
                                 1),
                                "foo.z")));
  expect_false("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/"
               "master/test/editorconfig.c",
               26,
               (ec_pattern_match("*.[xyz",
                                 (sizeof(""
                                         "*.[xyz"
                                         "") -
                                  1),
                                 "foo.z")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              27,
              (ec_pattern_match("*.[xyz",
                                (sizeof(""
                                        "*.[xyz"
                                        "") -
                                 1),
                                "foo.[xyz")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              29,
              (ec_pattern_match("*.[!xyz]",
                                (sizeof(""
                                        "*.[!xyz]"
                                        "") -
                                 1),
                                "foo.a")));
  expect_false("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/"
               "master/test/editorconfig.c",
               30,
               (ec_pattern_match("*.[!xyz]",
                                 (sizeof(""
                                         "*.[!xyz]"
                                         "") -
                                  1),
                                 "foo.z")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              32,
              (ec_pattern_match("*.[",
                                (sizeof(""
                                        "*.["
                                        "") -
                                 1),
                                "foo.[")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              33,
              (ec_pattern_match("*.[a",
                                (sizeof(""
                                        "*.[a"
                                        "") -
                                 1),
                                "foo.[a")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              35,
              (ec_pattern_match("*.[abc]def",
                                (sizeof(""
                                        "*.[abc]def"
                                        "") -
                                 1),
                                "foo.bdef")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              37,
              (ec_pattern_match("x{{foo,},}",
                                (sizeof(""
                                        "x{{foo,},}"
                                        "") -
                                 1),
                                "x")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              38,
              (ec_pattern_match("x{{foo,},}",
                                (sizeof(""
                                        "x{{foo,},}"
                                        "") -
                                 1),
                                "xfoo")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              40,
              (ec_pattern_match("file.{,,x,,y,,}",
                                (sizeof(""
                                        "file.{,,x,,y,,}"
                                        "") -
                                 1),
                                "file.x")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              41,
              (ec_pattern_match("file.{,,x,,y,,}",
                                (sizeof(""
                                        "file.{,,x,,y,,}"
                                        "") -
                                 1),
                                "file.")));
  expect_false("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/"
               "master/test/editorconfig.c",
               42,
               (ec_pattern_match("file.{,,x,,y,,}",
                                 (sizeof(""
                                         "file.{,,x,,y,,}"
                                         "") -
                                  1),
                                 "file.z")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              44,
              (ec_pattern_match("*.x,y,z",
                                (sizeof(""
                                        "*.x,y,z"
                                        "") -
                                 1),
                                "file.x,y,z")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              45,
              (ec_pattern_match("*.{x,y,z}",
                                (sizeof(""
                                        "*.{x,y,z}"
                                        "") -
                                 1),
                                "file.y")));
  expect_false("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/"
               "master/test/editorconfig.c",
               46,
               (ec_pattern_match("*.{x,y,z}",
                                 (sizeof(""
                                         "*.{x,y,z}"
                                         "") -
                                  1),
                                 "file.x,y,z")));
  expect_false("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/"
               "master/test/editorconfig.c",
               47,
               (ec_pattern_match("*.{x,y,z}",
                                 (sizeof(""
                                         "*.{x,y,z}"
                                         "") -
                                  1),
                                 "file.{x,y,z}")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              49,
              (ec_pattern_match("file.{{{a,b,{c,,d}}}}",
                                (sizeof(""
                                        "file.{{{a,b,{c,,d}}}}"
                                        "") -
                                 1),
                                "file.d")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              50,
              (ec_pattern_match("file.{{{a,b,{c,,d}}}}",
                                (sizeof(""
                                        "file.{{{a,b,{c,,d}}}}"
                                        "") -
                                 1),
                                "file.")));
  expect_false("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/"
               "master/test/editorconfig.c",
               51,
               (ec_pattern_match("file.{{{a,b,{c,d}}}}",
                                 (sizeof(""
                                         "file.{{{a,b,{c,d}}}}"
                                         "") -
                                  1),
                                 "file.")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              53,
              (ec_pattern_match("file.{c[vl]d,inc}",
                                (sizeof(""
                                        "file.{c[vl]d,inc}"
                                        "") -
                                 1),
                                "file.cvd")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              54,
              (ec_pattern_match("file.{c[vl]d,inc}",
                                (sizeof(""
                                        "file.{c[vl]d,inc}"
                                        "") -
                                 1),
                                "file.cld")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              55,
              (ec_pattern_match("file.{c[vl]d,inc}",
                                (sizeof(""
                                        "file.{c[vl]d,inc}"
                                        "") -
                                 1),
                                "file.inc")));
  expect_false("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/"
               "master/test/editorconfig.c",
               56,
               (ec_pattern_match("file.{c[vl]d,inc}",
                                 (sizeof(""
                                         "file.{c[vl]d,inc}"
                                         "") -
                                  1),
                                 "file.cd")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              58,
              (ec_pattern_match("a?b.c",
                                (sizeof(""
                                        "a?b.c"
                                        "") -
                                 1),
                                "a_b.c")));
  expect_false("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/"
               "master/test/editorconfig.c",
               59,
               (ec_pattern_match("a?b.c",
                                 (sizeof(""
                                         "a?b.c"
                                         "") -
                                  1),
                                 "a/b.c")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              61,
              (ec_pattern_match("a\\[.abc",
                                (sizeof(""
                                        "a\\[.abc"
                                        "") -
                                 1),
                                "a[.abc")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              62,
              (ec_pattern_match("a\\{.abc",
                                (sizeof(""
                                        "a\\{.abc"
                                        "") -
                                 1),
                                "a{.abc")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              63,
              (ec_pattern_match("a\\*.abc",
                                (sizeof(""
                                        "a\\*.abc"
                                        "") -
                                 1),
                                "a*.abc")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              64,
              (ec_pattern_match("a\\?.abc",
                                (sizeof(""
                                        "a\\?.abc"
                                        "") -
                                 1),
                                "a?.abc")));
  expect_false("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/"
               "master/test/editorconfig.c",
               65,
               (ec_pattern_match("a\\*.abc",
                                 (sizeof(""
                                         "a\\*.abc"
                                         "") -
                                  1),
                                 "az.abc")));
  expect_false("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/"
               "master/test/editorconfig.c",
               66,
               (ec_pattern_match("a\\?.abc",
                                 (sizeof(""
                                         "a\\?.abc"
                                         "") -
                                  1),
                                 "az.abc")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              68,
              (ec_pattern_match("{{{a}}}",
                                (sizeof(""
                                        "{{{a}}}"
                                        "") -
                                 1),
                                "a")));
  expect_false("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/"
               "master/test/editorconfig.c",
               69,
               (ec_pattern_match("{{{a}}",
                                 (sizeof(""
                                         "{{{a}}"
                                         "") -
                                  1),
                                 "a")));
  expect_true("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/"
              "test/editorconfig.c",
              73,
              (ec_pattern_match("*.xyz\\",
                                (sizeof(""
                                        "*.xyz\\"
                                        "") -
                                 1),
                                "file.xyz\\")));
  expect_false("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/"
               "master/test/editorconfig.c",
               74,
               (ec_pattern_match("*.xyz\\",
                                 (sizeof(""
                                         "*.xyz\\"
                                         "") -
                                  1),
                                 "file.xyz")));
}


x86 assembly (clang, -O0):
<test_editorconfig_pattern_match>:
push   %rbp
mov    %rsp,%rbp
lea    0xf55(%rip),%rdi
mov    $0x1,%esi
lea    0xf4b(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xeab(%rip),%rdi
mov    $0xb,%esi
call   1030 <expect_true@plt>
lea    0xf33(%rip),%rdi
mov    $0x7,%esi
lea    0xf20(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xe80(%rip),%rdi
mov    $0xc,%esi
call   1030 <expect_true@plt>
lea    0xf10(%rip),%rdi
mov    $0x7,%esi
lea    0xf0c(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xe55(%rip),%rdi
mov    $0xd,%esi
call   1030 <expect_true@plt>
lea    0xef6(%rip),%rdi
mov    $0x10,%esi
lea    0xefb(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xe2a(%rip),%rdi
mov    $0xf,%esi
call   1030 <expect_true@plt>
lea    0xecb(%rip),%rdi
mov    $0x10,%esi
lea    0xeb6(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xdff(%rip),%rdi
mov    $0x10,%esi
call   1040 <expect_false@plt>
lea    0xebd(%rip),%rdi
mov    $0xf,%esi
lea    0xec1(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xdd4(%rip),%rdi
mov    $0x12,%esi
call   1030 <expect_true@plt>
lea    0xebb(%rip),%rdi
mov    $0xe,%esi
lea    0xe96(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xda9(%rip),%rdi
mov    $0x13,%esi
call   1040 <expect_false@plt>
lea    0xea7(%rip),%rdi
mov    $0x8,%esi
lea    0xe93(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xd7e(%rip),%rdi
mov    $0x15,%esi
call   1030 <expect_true@plt>
lea    0xe7c(%rip),%rdi
mov    $0x8,%esi
lea    0xe69(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xd53(%rip),%rdi
mov    $0x16,%esi
call   1040 <expect_false@plt>
lea    0xe50(%rip),%rdi
mov    $0x9,%esi
lea    0xe3e(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xd28(%rip),%rdi
mov    $0x17,%esi
call   1030 <expect_true@plt>
lea    0xe2f(%rip),%rdi
mov    $0x7,%esi
lea    0xe2b(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xcfd(%rip),%rdi
mov    $0x19,%esi
call   1030 <expect_true@plt>
lea    0xe12(%rip),%rdi
mov    $0x6,%esi
lea    0xe00(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xcd2(%rip),%rdi
mov    $0x1a,%esi
call   1040 <expect_false@plt>
lea    0xde7(%rip),%rdi
mov    $0x6,%esi
lea    0xde2(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xca7(%rip),%rdi
mov    $0x1b,%esi
call   1030 <expect_true@plt>
lea    0xdcc(%rip),%rdi
mov    $0x8,%esi
lea    0xdc9(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xc7c(%rip),%rdi
mov    $0x1d,%esi
call   1030 <expect_true@plt>
lea    0xda1(%rip),%rdi
mov    $0x8,%esi
lea    0xd7f(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xc51(%rip),%rdi
mov    $0x1e,%esi
call   1040 <expect_false@plt>
lea    0xd85(%rip),%rdi
mov    $0x3,%esi
lea    0xd7d(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xc26(%rip),%rdi
mov    $0x20,%esi
call   1030 <expect_true@plt>
lea    0xd64(%rip),%rdi
mov    $0x4,%esi
lea    0xd5d(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xbfb(%rip),%rdi
mov    $0x21,%esi
call   1030 <expect_true@plt>
lea    0xd45(%rip),%rdi
mov    $0xa,%esi
lea    0xd44(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xbd0(%rip),%rdi
mov    $0x23,%esi
call   1030 <expect_true@plt>
lea    0xd2e(%rip),%rdi
mov    $0xa,%esi
lea    0xd47(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xba5(%rip),%rdi
mov    $0x25,%esi
call   1030 <expect_true@plt>
lea    0xd03(%rip),%rdi
mov    $0xa,%esi
lea    0xd02(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xb7a(%rip),%rdi
mov    $0x26,%esi
call   1030 <expect_true@plt>
lea    0xce8(%rip),%rdi
mov    $0xf,%esi
lea    0xcec(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xb4f(%rip),%rdi
mov    $0x28,%esi
call   1030 <expect_true@plt>
lea    0xcbd(%rip),%rdi
mov    $0xf,%esi
lea    0xcc8(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xb24(%rip),%rdi
mov    $0x29,%esi
call   1030 <expect_true@plt>
lea    0xc92(%rip),%rdi
mov    $0xf,%esi
lea    0xca3(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xaf9(%rip),%rdi
mov    $0x2a,%esi
call   1040 <expect_false@plt>
lea    0xc8b(%rip),%rdi
mov    $0x7,%esi
lea    0xc87(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xace(%rip),%rdi
mov    $0x2c,%esi
call   1030 <expect_true@plt>
lea    0xc73(%rip),%rdi
mov    $0x9,%esi
lea    0xc71(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xaa3(%rip),%rdi
mov    $0x2d,%esi
call   1030 <expect_true@plt>
lea    0xc48(%rip),%rdi
mov    $0x9,%esi
lea    0xc31(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xa78(%rip),%rdi
mov    $0x2e,%esi
call   1040 <expect_false@plt>
lea    0xc1d(%rip),%rdi
mov    $0x9,%esi
lea    0xc22(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xa4d(%rip),%rdi
mov    $0x2f,%esi
call   1040 <expect_false@plt>
lea    0xc10(%rip),%rdi
mov    $0x15,%esi
lea    0xc1a(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0xa22(%rip),%rdi
mov    $0x31,%esi
call   1030 <expect_true@plt>
lea    0xbe5(%rip),%rdi
mov    $0x15,%esi
lea    0xb9b(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0x9f7(%rip),%rdi
mov    $0x32,%esi
call   1030 <expect_true@plt>
lea    0xbd7(%rip),%rdi
mov    $0x14,%esi
lea    0xb70(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0x9cc(%rip),%rdi
mov    $0x33,%esi
call   1040 <expect_false@plt>
lea    0xbc1(%rip),%rdi
mov    $0x11,%esi
lea    0xbc7(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0x9a1(%rip),%rdi
mov    $0x35,%esi
call   1030 <expect_true@plt>
lea    0xb96(%rip),%rdi
mov    $0x11,%esi
lea    0xba5(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0x976(%rip),%rdi
mov    $0x36,%esi
call   1030 <expect_true@plt>
lea    0xb6b(%rip),%rdi
mov    $0x11,%esi
lea    0xb83(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0x94b(%rip),%rdi
mov    $0x37,%esi
call   1030 <expect_true@plt>
lea    0xb40(%rip),%rdi
mov    $0x11,%esi
lea    0xb61(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0x920(%rip),%rdi
mov    $0x38,%esi
call   1040 <expect_false@plt>
lea    0xb4a(%rip),%rdi
mov    $0x5,%esi
lea    0xb44(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0x8f5(%rip),%rdi
mov    $0x3a,%esi
call   1030 <expect_true@plt>
lea    0xb1f(%rip),%rdi
mov    $0x5,%esi
lea    0xb1f(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0x8ca(%rip),%rdi
mov    $0x3b,%esi
call   1040 <expect_false@plt>
lea    0xb06(%rip),%rdi
mov    $0x7,%esi
lea    0xb02(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0x89f(%rip),%rdi
mov    $0x3d,%esi
call   1030 <expect_true@plt>
lea    0xaea(%rip),%rdi
mov    $0x7,%esi
lea    0xae6(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0x874(%rip),%rdi
mov    $0x3e,%esi
call   1030 <expect_true@plt>
lea    0xace(%rip),%rdi
mov    $0x7,%esi
lea    0xaca(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0x849(%rip),%rdi
mov    $0x3f,%esi
call   1030 <expect_true@plt>
lea    0xab2(%rip),%rdi
mov    $0x7,%esi
lea    0xaae(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0x81e(%rip),%rdi
mov    $0x40,%esi
call   1030 <expect_true@plt>
lea    0xa78(%rip),%rdi
mov    $0x7,%esi
lea    0xa8a(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0x7f3(%rip),%rdi
mov    $0x41,%esi
call   1040 <expect_false@plt>
lea    0xa5c(%rip),%rdi
mov    $0x7,%esi
lea    0xa5f(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0x7c8(%rip),%rdi
mov    $0x42,%esi
call   1040 <expect_false@plt>
lea    0xa47(%rip),%rdi
mov    $0x7,%esi
lea    0x8ee(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0x79d(%rip),%rdi
mov    $0x44,%esi
call   1030 <expect_true@plt>
lea    0xa24(%rip),%rdi
mov    $0x6,%esi
lea    0x8c3(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0x772(%rip),%rdi
mov    $0x45,%esi
call   1040 <expect_false@plt>
lea    0xa00(%rip),%rdi
mov    $0x6,%esi
lea    0x9fb(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0x747(%rip),%rdi
mov    $0x49,%esi
call   1030 <expect_true@plt>
lea    0x9d5(%rip),%rdi
mov    $0x6,%esi
lea    0x9da(%rip),%rdx
call   1050 <ec_pattern_match@plt>
mov    %eax,%edx
lea    0x71c(%rip),%rdi
mov    $0x4a,%esi
call   1040 <expect_false@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<test_editorconfig_pattern_match>:
push   %r15
push   %r14
push   %r12
push   %rbx
push   %rax
lea    0xf51(%rip),%rdi
lea    0xf4c(%rip),%rbx
mov    $0x1,%esi
mov    %rbx,%rdx
call   1050 <ec_pattern_match@plt>
lea    0xea6(%rip),%r15
mov    %r15,%rdi
mov    $0xb,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xf29(%rip),%rdi
mov    $0x7,%esi
mov    %rbx,%rdx
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0xc,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xf0e(%rip),%rdi
lea    0xf0f(%rip),%r14
mov    $0x7,%esi
mov    %r14,%rdx
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0xd,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xef5(%rip),%rbx
lea    0xeff(%rip),%rdx
mov    %rbx,%rdi
mov    $0x10,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0xf,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
mov    %rbx,%rdi
mov    $0x10,%esi
mov    %r14,%rdx
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x10,%esi
mov    %eax,%edx
call   1040 <expect_false@plt>
lea    0xec9(%rip),%rdi
lea    0xed2(%rip),%rbx
mov    $0xf,%esi
mov    %rbx,%rdx
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x12,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xec8(%rip),%rdi
mov    $0xe,%esi
mov    %rbx,%rdx
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x13,%esi
mov    %eax,%edx
call   1040 <expect_false@plt>
lea    0xebc(%rip),%rbx
lea    0xead(%rip),%rdx
mov    %rbx,%rdi
mov    $0x8,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x15,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xe8b(%rip),%r14
mov    %rbx,%rdi
mov    $0x8,%esi
mov    %r14,%rdx
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x16,%esi
mov    %eax,%edx
call   1040 <expect_false@plt>
lea    0xe6b(%rip),%rdi
mov    $0x9,%esi
mov    %r14,%rdx
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x17,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xe52(%rip),%rdi
lea    0xe53(%rip),%r14
mov    $0x7,%esi
mov    %r14,%rdx
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x19,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xe36(%rip),%rbx
mov    %rbx,%rdi
mov    $0x6,%esi
mov    %r14,%rdx
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x1a,%esi
mov    %eax,%edx
call   1040 <expect_false@plt>
lea    0xe17(%rip),%rdx
mov    %rbx,%rdi
mov    $0x6,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x1b,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xdfd(%rip),%rbx
lea    0xdff(%rip),%rdx
mov    %rbx,%rdi
mov    $0x8,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x1d,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
mov    %rbx,%rdi
mov    $0x8,%esi
mov    %r14,%rdx
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x1e,%esi
mov    %eax,%edx
call   1040 <expect_false@plt>
lea    0xdc3(%rip),%rdi
lea    0xdc0(%rip),%rdx
mov    $0x3,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x20,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xda6(%rip),%rdi
lea    0xda4(%rip),%rdx
mov    $0x4,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x21,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xd8b(%rip),%rdi
lea    0xd8f(%rip),%rdx
mov    $0xa,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x23,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xd78(%rip),%rbx
lea    0xd96(%rip),%rdx
mov    %rbx,%rdi
mov    $0xa,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x25,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xd59(%rip),%rdx
mov    %rbx,%rdi
mov    $0xa,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x26,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xd3b(%rip),%rbx
lea    0xd44(%rip),%rdx
mov    %rbx,%rdi
mov    $0xf,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x28,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xd28(%rip),%r14
mov    %rbx,%rdi
mov    $0xf,%esi
mov    %r14,%rdx
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x29,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xd08(%rip),%rdx
mov    %rbx,%rdi
mov    $0xf,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x2a,%esi
mov    %eax,%edx
call   1040 <expect_false@plt>
lea    0xcec(%rip),%rdi
lea    0xced(%rip),%r12
mov    $0x7,%esi
mov    %r12,%rdx
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x2c,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xcd5(%rip),%rbx
lea    0xcd8(%rip),%rdx
mov    %rbx,%rdi
mov    $0x9,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x2d,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
mov    %rbx,%rdi
mov    $0x9,%esi
mov    %r12,%rdx
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x2e,%esi
mov    %eax,%edx
call   1040 <expect_false@plt>
lea    0xc9d(%rip),%rdx
mov    %rbx,%rdi
mov    $0x9,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x2f,%esi
mov    %eax,%edx
call   1040 <expect_false@plt>
lea    0xc87(%rip),%rbx
lea    0xc96(%rip),%rdx
mov    %rbx,%rdi
mov    $0x15,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x31,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
mov    %rbx,%rdi
mov    $0x15,%esi
mov    %r14,%rdx
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x32,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xc5b(%rip),%rdi
mov    $0x14,%esi
mov    %r14,%rdx
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x33,%esi
mov    %eax,%edx
call   1040 <expect_false@plt>
lea    0xc4d(%rip),%rbx
lea    0xc58(%rip),%rdx
mov    %rbx,%rdi
mov    $0x11,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x35,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xc3e(%rip),%rdx
mov    %rbx,%rdi
mov    $0x11,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x36,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xc24(%rip),%rdx
mov    %rbx,%rdi
mov    $0x11,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x37,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xc0a(%rip),%rdx
mov    %rbx,%rdi
mov    $0x11,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x38,%esi
mov    %eax,%edx
call   1040 <expect_false@plt>
lea    0xbef(%rip),%rbx
lea    0xbee(%rip),%rdx
mov    %rbx,%rdi
mov    $0x5,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x3a,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xbd1(%rip),%rdx
mov    %rbx,%rdi
mov    $0x5,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x3b,%esi
mov    %eax,%edx
call   1040 <expect_false@plt>
lea    0xbb4(%rip),%rdi
lea    0xbb5(%rip),%rdx
mov    $0x7,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x3d,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xb9c(%rip),%rdi
lea    0xb9d(%rip),%rdx
mov    $0x7,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x3e,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xb84(%rip),%r14
lea    0xb85(%rip),%rdx
mov    %r14,%rdi
mov    $0x7,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x3f,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xb69(%rip),%r12
lea    0xb6a(%rip),%rdx
mov    %r12,%rdi
mov    $0x7,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x40,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xb4e(%rip),%rbx
mov    %r14,%rdi
mov    $0x7,%esi
mov    %rbx,%rdx
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x41,%esi
mov    %eax,%edx
call   1040 <expect_false@plt>
mov    %r12,%rdi
mov    $0x7,%esi
mov    %rbx,%rdx
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x42,%esi
mov    %eax,%edx
call   1040 <expect_false@plt>
lea    0xb10(%rip),%rdi
lea    0x9bc(%rip),%rbx
mov    $0x7,%esi
mov    %rbx,%rdx
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x44,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xaee(%rip),%rdi
mov    $0x6,%esi
mov    %rbx,%rdx
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x45,%esi
mov    %eax,%edx
call   1040 <expect_false@plt>
lea    0xad2(%rip),%rbx
lea    0xad2(%rip),%rdx
mov    %rbx,%rdi
mov    $0x6,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x49,%esi
mov    %eax,%edx
call   1030 <expect_true@plt>
lea    0xab9(%rip),%rdx
mov    %rbx,%rdi
mov    $0x6,%esi
call   1050 <ec_pattern_match@plt>
mov    %r15,%rdi
mov    $0x4a,%esi
mov    %eax,%edx
add    $0x8,%rsp
pop    %rbx
pop    %r12
pop    %r14
pop    %r15
jmp    1040 <expect_false@plt>

LLVM IR (-O0):
@.str = [144 x i8] c"/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/test/editorconfig.c\00"
@.str.1 = [2 x i8] c"*\00"
@.str.2 = [7 x i8] c"file.c\00"
@.str.3 = [8 x i8] c"*.{c,h}\00"
@.str.4 = [8 x i8] c"*.{foo}\00"
@.str.5 = [9 x i8] c"file.foo\00"
@.str.6 = [17 x i8] c"*.{foo{bar,baz}}\00"
@.str.7 = [12 x i8] c"file.foobaz\00"
@.str.8 = [16 x i8] c"a/**/b/c/*.[ch]\00"
@.str.9 = [25 x i8] c"a/zzz/yyy/foo/b/c/file.h\00"
@.str.10 = [15 x i8] c"a/*/b/c/*.[ch]\00"
@.str.11 = [9 x i8] c"}*.{x,y}\00"
@.str.12 = [7 x i8] c"}foo.y\00"
@.str.13 = [6 x i8] c"foo.y\00"
@.str.14 = [10 x i8] c"{}*.{x,y}\00"
@.str.15 = [8 x i8] c"*.[xyz]\00"
@.str.16 = [6 x i8] c"foo.z\00"
@.str.17 = [7 x i8] c"*.[xyz\00"
@.str.18 = [9 x i8] c"foo.[xyz\00"
@.str.19 = [9 x i8] c"*.[!xyz]\00"
@.str.20 = [6 x i8] c"foo.a\00"
@.str.21 = [4 x i8] c"*.[\00"
@.str.22 = [6 x i8] c"foo.[\00"
@.str.23 = [5 x i8] c"*.[a\00"
@.str.24 = [7 x i8] c"foo.[a\00"
@.str.25 = [11 x i8] c"*.[abc]def\00"
@.str.26 = [9 x i8] c"foo.bdef\00"
@.str.27 = [11 x i8] c"x{{foo,},}\00"
@.str.28 = [2 x i8] c"x\00"
@.str.29 = [5 x i8] c"xfoo\00"
@.str.30 = [16 x i8] c"file.{,,x,,y,,}\00"
@.str.31 = [7 x i8] c"file.x\00"
@.str.32 = [6 x i8] c"file.\00"
@.str.33 = [7 x i8] c"file.z\00"
@.str.34 = [8 x i8] c"*.x,y,z\00"
@.str.35 = [11 x i8] c"file.x,y,z\00"
@.str.36 = [10 x i8] c"*.{x,y,z}\00"
@.str.37 = [7 x i8] c"file.y\00"
@.str.38 = [13 x i8] c"file.{x,y,z}\00"
@.str.39 = [22 x i8] c"file.{{{a,b,{c,,d}}}}\00"
@.str.40 = [7 x i8] c"file.d\00"
@.str.41 = [21 x i8] c"file.{{{a,b,{c,d}}}}\00"
@.str.42 = [18 x i8] c"file.{c[vl]d,inc}\00"
@.str.43 = [9 x i8] c"file.cvd\00"
@.str.44 = [9 x i8] c"file.cld\00"
@.str.45 = [9 x i8] c"file.inc\00"
@.str.46 = [8 x i8] c"file.cd\00"
@.str.47 = [6 x i8] c"a?b.c\00"
@.str.48 = [6 x i8] c"a_b.c\00"
@.str.49 = [6 x i8] c"a/b.c\00"
@.str.50 = [8 x i8] c"a\\[.abc\00"
@.str.51 = [7 x i8] c"a[.abc\00"
@.str.52 = [8 x i8] c"a\\{.abc\00"
@.str.53 = [7 x i8] c"a{.abc\00"
@.str.54 = [8 x i8] c"a\\*.abc\00"
@.str.55 = [7 x i8] c"a*.abc\00"
@.str.56 = [8 x i8] c"a\\?.abc\00"
@.str.57 = [7 x i8] c"a?.abc\00"
@.str.58 = [7 x i8] c"az.abc\00"
@.str.59 = [8 x i8] c"{{{a}}}\00"
@.str.60 = [2 x i8] c"a\00"
@.str.61 = [7 x i8] c"{{{a}}\00"
@.str.62 = [7 x i8] c"*.xyz\\\00"
@.str.63 = [10 x i8] c"file.xyz\\\00"
@.str.64 = [9 x i8] c"file.xyz\00"
define void @test_editorconfig_pattern_match() {
%1 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0), i32 1, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%2 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 11, i32 %1)
%3 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.3, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%4 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 12, i32 %3)
%5 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.5, i64 0, i64 0))
%6 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 13, i32 %5)
%7 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.6, i64 0, i64 0), i32 16, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.7, i64 0, i64 0))
%8 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 15, i32 %7)
%9 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.6, i64 0, i64 0), i32 16, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.5, i64 0, i64 0))
%10 = call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 16, i32 %9)
%11 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.8, i64 0, i64 0), i32 15, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.9, i64 0, i64 0))
%12 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 18, i32 %11)
%13 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.10, i64 0, i64 0), i32 14, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.9, i64 0, i64 0))
%14 = call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 19, i32 %13)
%15 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.11, i64 0, i64 0), i32 8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.12, i64 0, i64 0))
%16 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 21, i32 %15)
%17 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.11, i64 0, i64 0), i32 8, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13, i64 0, i64 0))
%18 = call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 22, i32 %17)
%19 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.14, i64 0, i64 0), i32 9, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13, i64 0, i64 0))
%20 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 23, i32 %19)
%21 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.15, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.16, i64 0, i64 0))
%22 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 25, i32 %21)
%23 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.17, i64 0, i64 0), i32 6, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.16, i64 0, i64 0))
%24 = call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 26, i32 %23)
%25 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.17, i64 0, i64 0), i32 6, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.18, i64 0, i64 0))
%26 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 27, i32 %25)
%27 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.19, i64 0, i64 0), i32 8, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.20, i64 0, i64 0))
%28 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 29, i32 %27)
%29 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.19, i64 0, i64 0), i32 8, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.16, i64 0, i64 0))
%30 = call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 30, i32 %29)
%31 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.21, i64 0, i64 0), i32 3, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.22, i64 0, i64 0))
%32 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 32, i32 %31)
%33 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.23, i64 0, i64 0), i32 4, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.24, i64 0, i64 0))
%34 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 33, i32 %33)
%35 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.25, i64 0, i64 0), i32 10, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.26, i64 0, i64 0))
%36 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 35, i32 %35)
%37 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27, i64 0, i64 0), i32 10, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.28, i64 0, i64 0))
%38 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 37, i32 %37)
%39 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27, i64 0, i64 0), i32 10, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.29, i64 0, i64 0))
%40 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 38, i32 %39)
%41 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.30, i64 0, i64 0), i32 15, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.31, i64 0, i64 0))
%42 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 40, i32 %41)
%43 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.30, i64 0, i64 0), i32 15, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.32, i64 0, i64 0))
%44 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 41, i32 %43)
%45 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.30, i64 0, i64 0), i32 15, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.33, i64 0, i64 0))
%46 = call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 42, i32 %45)
%47 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.34, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.35, i64 0, i64 0))
%48 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 44, i32 %47)
%49 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.36, i64 0, i64 0), i32 9, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.37, i64 0, i64 0))
%50 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 45, i32 %49)
%51 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.36, i64 0, i64 0), i32 9, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.35, i64 0, i64 0))
%52 = call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 46, i32 %51)
%53 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.36, i64 0, i64 0), i32 9, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.38, i64 0, i64 0))
%54 = call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 47, i32 %53)
%55 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.39, i64 0, i64 0), i32 21, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.40, i64 0, i64 0))
%56 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 49, i32 %55)
%57 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.39, i64 0, i64 0), i32 21, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.32, i64 0, i64 0))
%58 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 50, i32 %57)
%59 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.41, i64 0, i64 0), i32 20, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.32, i64 0, i64 0))
%60 = call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 51, i32 %59)
%61 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.42, i64 0, i64 0), i32 17, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.43, i64 0, i64 0))
%62 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 53, i32 %61)
%63 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.42, i64 0, i64 0), i32 17, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.44, i64 0, i64 0))
%64 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 54, i32 %63)
%65 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.42, i64 0, i64 0), i32 17, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.45, i64 0, i64 0))
%66 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 55, i32 %65)
%67 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.42, i64 0, i64 0), i32 17, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.46, i64 0, i64 0))
%68 = call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 56, i32 %67)
%69 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.47, i64 0, i64 0), i32 5, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.48, i64 0, i64 0))
%70 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 58, i32 %69)
%71 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.47, i64 0, i64 0), i32 5, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.49, i64 0, i64 0))
%72 = call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 59, i32 %71)
%73 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.50, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.51, i64 0, i64 0))
%74 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 61, i32 %73)
%75 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.52, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.53, i64 0, i64 0))
%76 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 62, i32 %75)
%77 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.54, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.55, i64 0, i64 0))
%78 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 63, i32 %77)
%79 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.56, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.57, i64 0, i64 0))
%80 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 64, i32 %79)
%81 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.54, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.58, i64 0, i64 0))
%82 = call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 65, i32 %81)
%83 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.56, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.58, i64 0, i64 0))
%84 = call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 66, i32 %83)
%85 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.59, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.60, i64 0, i64 0))
%86 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 68, i32 %85)
%87 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.61, i64 0, i64 0), i32 6, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.60, i64 0, i64 0))
%88 = call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 69, i32 %87)
%89 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.62, i64 0, i64 0), i32 6, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.63, i64 0, i64 0))
%90 = call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 73, i32 %89)
%91 = call i32 @ec_pattern_match(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.62, i64 0, i64 0), i32 6, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.64, i64 0, i64 0))
%92 = call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 74, i32 %91)
ret void
}

LLVM IR (-O2):
@.str = [144 x i8] c"/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/craigbarnes/dte/refs/heads/master/test/editorconfig.c\00"
@.str.1 = [2 x i8] c"*\00"
@.str.2 = [7 x i8] c"file.c\00"
@.str.3 = [8 x i8] c"*.{c,h}\00"
@.str.4 = [8 x i8] c"*.{foo}\00"
@.str.5 = [9 x i8] c"file.foo\00"
@.str.6 = [17 x i8] c"*.{foo{bar,baz}}\00"
@.str.7 = [12 x i8] c"file.foobaz\00"
@.str.8 = [16 x i8] c"a/**/b/c/*.[ch]\00"
@.str.9 = [25 x i8] c"a/zzz/yyy/foo/b/c/file.h\00"
@.str.10 = [15 x i8] c"a/*/b/c/*.[ch]\00"
@.str.11 = [9 x i8] c"}*.{x,y}\00"
@.str.12 = [7 x i8] c"}foo.y\00"
@.str.13 = [6 x i8] c"foo.y\00"
@.str.14 = [10 x i8] c"{}*.{x,y}\00"
@.str.15 = [8 x i8] c"*.[xyz]\00"
@.str.16 = [6 x i8] c"foo.z\00"
@.str.17 = [7 x i8] c"*.[xyz\00"
@.str.18 = [9 x i8] c"foo.[xyz\00"
@.str.19 = [9 x i8] c"*.[!xyz]\00"
@.str.20 = [6 x i8] c"foo.a\00"
@.str.21 = [4 x i8] c"*.[\00"
@.str.22 = [6 x i8] c"foo.[\00"
@.str.23 = [5 x i8] c"*.[a\00"
@.str.24 = [7 x i8] c"foo.[a\00"
@.str.25 = [11 x i8] c"*.[abc]def\00"
@.str.26 = [9 x i8] c"foo.bdef\00"
@.str.27 = [11 x i8] c"x{{foo,},}\00"
@.str.28 = [2 x i8] c"x\00"
@.str.29 = [5 x i8] c"xfoo\00"
@.str.30 = [16 x i8] c"file.{,,x,,y,,}\00"
@.str.31 = [7 x i8] c"file.x\00"
@.str.32 = [6 x i8] c"file.\00"
@.str.33 = [7 x i8] c"file.z\00"
@.str.34 = [8 x i8] c"*.x,y,z\00"
@.str.35 = [11 x i8] c"file.x,y,z\00"
@.str.36 = [10 x i8] c"*.{x,y,z}\00"
@.str.37 = [7 x i8] c"file.y\00"
@.str.38 = [13 x i8] c"file.{x,y,z}\00"
@.str.39 = [22 x i8] c"file.{{{a,b,{c,,d}}}}\00"
@.str.40 = [7 x i8] c"file.d\00"
@.str.41 = [21 x i8] c"file.{{{a,b,{c,d}}}}\00"
@.str.42 = [18 x i8] c"file.{c[vl]d,inc}\00"
@.str.43 = [9 x i8] c"file.cvd\00"
@.str.44 = [9 x i8] c"file.cld\00"
@.str.45 = [9 x i8] c"file.inc\00"
@.str.46 = [8 x i8] c"file.cd\00"
@.str.47 = [6 x i8] c"a?b.c\00"
@.str.48 = [6 x i8] c"a_b.c\00"
@.str.49 = [6 x i8] c"a/b.c\00"
@.str.50 = [8 x i8] c"a\\[.abc\00"
@.str.51 = [7 x i8] c"a[.abc\00"
@.str.52 = [8 x i8] c"a\\{.abc\00"
@.str.53 = [7 x i8] c"a{.abc\00"
@.str.54 = [8 x i8] c"a\\*.abc\00"
@.str.55 = [7 x i8] c"a*.abc\00"
@.str.56 = [8 x i8] c"a\\?.abc\00"
@.str.57 = [7 x i8] c"a?.abc\00"
@.str.58 = [7 x i8] c"az.abc\00"
@.str.59 = [8 x i8] c"{{{a}}}\00"
@.str.60 = [2 x i8] c"a\00"
@.str.61 = [7 x i8] c"{{{a}}\00"
@.str.62 = [7 x i8] c"*.xyz\\\00"
@.str.63 = [10 x i8] c"file.xyz\\\00"
@.str.64 = [9 x i8] c"file.xyz\00"
define void @test_editorconfig_pattern_match() {
%1 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0), i32 1, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%2 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 11, i32 %1)
%3 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.3, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%4 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 12, i32 %3)
%5 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.5, i64 0, i64 0))
%6 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 13, i32 %5)
%7 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.6, i64 0, i64 0), i32 16, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.7, i64 0, i64 0))
%8 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 15, i32 %7)
%9 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.6, i64 0, i64 0), i32 16, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.5, i64 0, i64 0))
%10 = tail call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 16, i32 %9)
%11 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.8, i64 0, i64 0), i32 15, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.9, i64 0, i64 0))
%12 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 18, i32 %11)
%13 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.10, i64 0, i64 0), i32 14, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.9, i64 0, i64 0))
%14 = tail call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 19, i32 %13)
%15 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.11, i64 0, i64 0), i32 8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.12, i64 0, i64 0))
%16 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 21, i32 %15)
%17 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.11, i64 0, i64 0), i32 8, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13, i64 0, i64 0))
%18 = tail call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 22, i32 %17)
%19 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.14, i64 0, i64 0), i32 9, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13, i64 0, i64 0))
%20 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 23, i32 %19)
%21 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.15, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.16, i64 0, i64 0))
%22 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 25, i32 %21)
%23 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.17, i64 0, i64 0), i32 6, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.16, i64 0, i64 0))
%24 = tail call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 26, i32 %23)
%25 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.17, i64 0, i64 0), i32 6, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.18, i64 0, i64 0))
%26 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 27, i32 %25)
%27 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.19, i64 0, i64 0), i32 8, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.20, i64 0, i64 0))
%28 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 29, i32 %27)
%29 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.19, i64 0, i64 0), i32 8, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.16, i64 0, i64 0))
%30 = tail call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 30, i32 %29)
%31 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.21, i64 0, i64 0), i32 3, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.22, i64 0, i64 0))
%32 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 32, i32 %31)
%33 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.23, i64 0, i64 0), i32 4, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.24, i64 0, i64 0))
%34 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 33, i32 %33)
%35 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.25, i64 0, i64 0), i32 10, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.26, i64 0, i64 0))
%36 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 35, i32 %35)
%37 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27, i64 0, i64 0), i32 10, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.28, i64 0, i64 0))
%38 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 37, i32 %37)
%39 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27, i64 0, i64 0), i32 10, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.29, i64 0, i64 0))
%40 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 38, i32 %39)
%41 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.30, i64 0, i64 0), i32 15, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.31, i64 0, i64 0))
%42 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 40, i32 %41)
%43 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.30, i64 0, i64 0), i32 15, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.32, i64 0, i64 0))
%44 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 41, i32 %43)
%45 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.30, i64 0, i64 0), i32 15, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.33, i64 0, i64 0))
%46 = tail call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 42, i32 %45)
%47 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.34, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.35, i64 0, i64 0))
%48 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 44, i32 %47)
%49 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.36, i64 0, i64 0), i32 9, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.37, i64 0, i64 0))
%50 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 45, i32 %49)
%51 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.36, i64 0, i64 0), i32 9, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.35, i64 0, i64 0))
%52 = tail call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 46, i32 %51)
%53 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.36, i64 0, i64 0), i32 9, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.38, i64 0, i64 0))
%54 = tail call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 47, i32 %53)
%55 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.39, i64 0, i64 0), i32 21, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.40, i64 0, i64 0))
%56 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 49, i32 %55)
%57 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.39, i64 0, i64 0), i32 21, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.32, i64 0, i64 0))
%58 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 50, i32 %57)
%59 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.41, i64 0, i64 0), i32 20, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.32, i64 0, i64 0))
%60 = tail call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 51, i32 %59)
%61 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.42, i64 0, i64 0), i32 17, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.43, i64 0, i64 0))
%62 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 53, i32 %61)
%63 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.42, i64 0, i64 0), i32 17, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.44, i64 0, i64 0))
%64 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 54, i32 %63)
%65 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.42, i64 0, i64 0), i32 17, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.45, i64 0, i64 0))
%66 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 55, i32 %65)
%67 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.42, i64 0, i64 0), i32 17, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.46, i64 0, i64 0))
%68 = tail call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 56, i32 %67)
%69 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.47, i64 0, i64 0), i32 5, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.48, i64 0, i64 0))
%70 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 58, i32 %69)
%71 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.47, i64 0, i64 0), i32 5, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.49, i64 0, i64 0))
%72 = tail call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 59, i32 %71)
%73 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.50, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.51, i64 0, i64 0))
%74 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 61, i32 %73)
%75 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.52, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.53, i64 0, i64 0))
%76 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 62, i32 %75)
%77 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.54, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.55, i64 0, i64 0))
%78 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 63, i32 %77)
%79 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.56, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.57, i64 0, i64 0))
%80 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 64, i32 %79)
%81 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.54, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.58, i64 0, i64 0))
%82 = tail call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 65, i32 %81)
%83 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.56, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.58, i64 0, i64 0))
%84 = tail call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 66, i32 %83)
%85 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.59, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.60, i64 0, i64 0))
%86 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 68, i32 %85)
%87 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.61, i64 0, i64 0), i32 6, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.60, i64 0, i64 0))
%88 = tail call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 69, i32 %87)
%89 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.62, i64 0, i64 0), i32 6, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.63, i64 0, i64 0))
%90 = tail call i32 @expect_true(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 73, i32 %89)
%91 = tail call i32 @ec_pattern_match(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.62, i64 0, i64 0), i32 6, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.64, i64 0, i64 0))
%92 = tail call i32 @expect_false(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str, i64 0, i64 0), i32 74, i32 %91)
ret void
}