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).
20 lines
288 B
C
20 lines
288 B
C
// RUN: %clang_cc1 -emit-llvm < %s | grep puts | count 4
|
|
|
|
// PR3248
|
|
int a(int x)
|
|
{
|
|
int (*y)[x];
|
|
return sizeof(*(puts("asdf"),y));
|
|
}
|
|
|
|
// PR3247
|
|
int b(void) {
|
|
return sizeof(*(char(*)[puts("asdf")])0);
|
|
}
|
|
|
|
// PR3247
|
|
int c(void) {
|
|
static int (*y)[puts("asdf")];
|
|
return sizeof(*y);
|
|
}
|