Home | History | Annotate | Download | only in CodeGen
      1 // RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s
      2 
      3 int c[1][3*2];
      4 // CHECK: @{{.+}} = {{.*}} global [1 x [6 x {{i[0-9]+}}]] zeroinitializer
      5 
      6 // CHECK-LABEL: @f
      7 int f(int * const m, int (**v)[*m * 2])
      8 {
      9     return &(c[0][*m]) == &((*v)[0][*m]);
     10     // CHECK: icmp
     11     // CHECK: ret i{{[0-9]+}}
     12 }
     13 
     14 // CHECK-LABEL: @test
     15 int test(int n, int (*(*fn)(void))[n]) {
     16   return (*fn())[0];
     17 }
     18 
     19 // CHECK-LABEL: @main
     20 int main()
     21 {
     22     int m = 3;
     23     int (*d)[3*2] = c;
     24     int (*fn[m])(void);
     25     return f(&m, &d) + test(m, &fn);
     26 
     27     // CHECK: call {{.+}} @f(
     28     // CHECK: ret i{{[0-9]+}}
     29 }
     30 
     31