llvm-capstone/clang/test/CodeGen/vlt_to_pointer.c
Aaron Ballman 46b0d0eef9 Use functions with prototypes when appropriate; NFC
A significant number of our tests in C accidentally use functions
without prototypes. This patch converts the function signatures to have
a prototype for the situations where the test is not specific to K&R C
declarations. e.g.,

  void func();

becomes

  void func(void);

This is the twelfth batch of tests being updated (the end may be in
sight soon though).
2022-02-16 16:10:37 -05:00

31 lines
586 B
C

// 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(void)
{
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]+}}
}