| // 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]+}} |
| } |
| |