7de7161304
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 sixth batch of tests being updated (there are a significant number of other tests left to be updated).
37 lines
1.3 KiB
C
37 lines
1.3 KiB
C
// RUN: %clang_cc1 -verify -ffixed-point %s
|
|
|
|
void func(void) {
|
|
_Bool b;
|
|
char c;
|
|
int i;
|
|
float f;
|
|
double d;
|
|
double _Complex dc;
|
|
int _Complex ic;
|
|
struct S {
|
|
int i;
|
|
} s;
|
|
enum E {
|
|
A
|
|
} e;
|
|
int *ptr;
|
|
typedef int int_t;
|
|
int_t i2;
|
|
|
|
_Accum accum;
|
|
_Fract fract = accum; // ok
|
|
_Accum *accum_ptr;
|
|
|
|
accum = dc; // expected-error{{conversion between fixed point and '_Complex double' is not yet supported}}
|
|
accum = ic; // expected-error{{conversion between fixed point and '_Complex int' is not yet supported}}
|
|
accum = s; // expected-error{{assigning to '_Accum' from incompatible type 'struct S'}}
|
|
accum = ptr; // expected-error{{assigning to '_Accum' from incompatible type 'int *'}}
|
|
accum_ptr = ptr; // expected-warning{{incompatible pointer types assigning to '_Accum *' from 'int *'}}
|
|
|
|
dc = accum; // expected-error{{conversion between fixed point and '_Complex double' is not yet supported}}
|
|
ic = accum; // expected-error{{conversion between fixed point and '_Complex int' is not yet supported}}
|
|
s = accum; // expected-error{{assigning to 'struct S' from incompatible type '_Accum'}}
|
|
ptr = accum; // expected-error{{assigning to 'int *' from incompatible type '_Accum'}}
|
|
ptr = accum_ptr; // expected-warning{{incompatible pointer types assigning to 'int *' from '_Accum *'}}
|
|
}
|