// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s

int c[1][3*2];
// CHECK: @{{.+}} = {{.*}} global [1 x [6 x {{i[0-9]+}}]] zeroinitializer

// CHECK-LABEL: @f
int f(int * const m, int (**v)[*m * 2])
{
    return &(c[0][*m]) == &((*v)[0][*m]);
    // CHECK: icmp
    // CHECK: ret i{{[0-9]+}}
}

// CHECK-LABEL: @test
int test(int n, int (*(*fn)(void))[n]) {
  return (*fn())[0];
}

// CHECK-LABEL: @main
int main()
{
    int m = 3;
    int (*d)[3*2] = c;
    int (*fn[m])(void);
    return f(&m, &d) + test(m, &fn);

    // CHECK: call {{.+}} @f(
    // CHECK: ret i{{[0-9]+}}
}

