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 first batch of tests being updated (there are a significant number of other tests left to be updated).
32 lines
776 B
C
32 lines
776 B
C
// RUN: %clang_cc1 %s -triple=i686-apple-darwin9 -verify
|
|
// rdar://13973577
|
|
|
|
struct foo {
|
|
int big[128];
|
|
};
|
|
struct bar {
|
|
char c[3];
|
|
};
|
|
|
|
struct bar smallThing;
|
|
struct foo bigThing;
|
|
_Atomic(struct foo) bigAtomic;
|
|
|
|
void structAtomicStore(void) {
|
|
struct foo f = {0};
|
|
__c11_atomic_store(&bigAtomic, f, 5); // expected-error {{atomic store requires runtime support that is not available for this target}}
|
|
|
|
struct bar b = {0};
|
|
__atomic_store(&smallThing, &b, 5);
|
|
|
|
__atomic_store(&bigThing, &f, 5);
|
|
}
|
|
|
|
void structAtomicLoad(void) {
|
|
struct foo f = __c11_atomic_load(&bigAtomic, 5); // expected-error {{atomic load requires runtime support that is not available for this target}}
|
|
struct bar b;
|
|
__atomic_load(&smallThing, &b, 5);
|
|
|
|
__atomic_load(&bigThing, &f, 5);
|
|
}
|