2014-12-18 14:54:53 +08:00
|
|
|
// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s
|
|
|
|
|
|
|
|
int c[1][3*2];
|
2020-03-10 03:25:24 +08:00
|
|
|
// CHECK: @{{.+}} = global [1 x [6 x {{i[0-9]+}}]] zeroinitializer
|
2014-12-18 14:54:53 +08:00
|
|
|
|
|
|
|
// 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]+}}
|
|
|
|
}
|
|
|
|
|