
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 ninth batch of tests being updated (there are a significant number of other tests left to be updated).
29 lines
495 B
C
29 lines
495 B
C
// RUN: %clang_cc1 -triple i386-unknown-unknown -O2 -emit-llvm -o - %s | FileCheck %s
|
|
// CHECK-LABEL: define{{.*}} i32 @f0()
|
|
// CHECK: ret i32 0
|
|
// CHECK-LABEL: define{{.*}} i32 @f1()
|
|
// CHECK: ret i32 0
|
|
// CHECK-LABEL: define{{.*}} i32 @f2()
|
|
// CHECK: ret i32 0
|
|
// <rdar://problem/6113085>
|
|
|
|
struct s0 {
|
|
int x, y;
|
|
};
|
|
|
|
int f0(void) {
|
|
struct s0 x = {0};
|
|
return x.y;
|
|
}
|
|
|
|
int f1(void) {
|
|
struct s0 x[2] = { {0} };
|
|
return x[1].x;
|
|
}
|
|
|
|
int f2(void) {
|
|
int x[2] = { 0 };
|
|
return x[1];
|
|
}
|
|
|