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