summaryrefslogtreecommitdiffstats
path: root/clang/test/Analysis/dispatch-once.m
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/Analysis/dispatch-once.m')
-rw-r--r--clang/test/Analysis/dispatch-once.m22
1 files changed, 11 insertions, 11 deletions
diff --git a/clang/test/Analysis/dispatch-once.m b/clang/test/Analysis/dispatch-once.m
index b8cf582ba468..fa84f563815d 100644
--- a/clang/test/Analysis/dispatch-once.m
+++ b/clang/test/Analysis/dispatch-once.m
@@ -19,17 +19,17 @@ typedef void (^dispatch_block_t)(void);
typedef long dispatch_once_t;
void dispatch_once(dispatch_once_t *predicate, dispatch_block_t block);
-void test_stack() {
+void test_stack(void) {
dispatch_once_t once;
dispatch_once(&once, ^{}); // expected-warning{{Call to 'dispatch_once' uses the local variable 'once' for the predicate value. Using such transient memory for the predicate is potentially dangerous. Perhaps you intended to declare the variable as 'static'?}}
}
-void test_static_local() {
+void test_static_local(void) {
static dispatch_once_t once;
dispatch_once(&once, ^{}); // no-warning
}
-void test_heap_var() {
+void test_heap_var(void) {
dispatch_once_t *once = calloc(1, sizeof(dispatch_once_t));
// Use regexps to check that we're NOT suggesting to make this static.
dispatch_once(once, ^{}); // expected-warning-re{{{{^Call to 'dispatch_once' uses heap-allocated memory for the predicate value. Using such transient memory for the predicate is potentially dangerous$}}}}
@@ -44,12 +44,12 @@ typedef struct {
dispatch_once_t once;
} Struct;
-void test_local_struct() {
+void test_local_struct(void) {
Struct s;
dispatch_once(&s.once, ^{}); // expected-warning{{Call to 'dispatch_once' uses memory within the local variable 's' for the predicate value.}}
}
-void test_heap_struct() {
+void test_heap_struct(void) {
Struct *s = calloc(1, sizeof(Struct));
dispatch_once(&s->once, ^{}); // expected-warning{{Call to 'dispatch_once' uses heap-allocated memory for the predicate value.}}
}
@@ -76,15 +76,15 @@ void test_heap_struct() {
}
@end
-void test_ivar_from_alloc_init() {
+void test_ivar_from_alloc_init(void) {
Object *o = [[Object alloc] init];
dispatch_once(&o->once, ^{}); // expected-warning{{Call to 'dispatch_once' uses the instance variable 'once' for the predicate value.}}
}
-void test_ivar_struct_from_alloc_init() {
+void test_ivar_struct_from_alloc_init(void) {
Object *o = [[Object alloc] init];
dispatch_once(&o->s.once, ^{}); // expected-warning{{Call to 'dispatch_once' uses memory within the instance variable 's' for the predicate value.}}
}
-void test_ivar_array_from_alloc_init() {
+void test_ivar_array_from_alloc_init(void) {
Object *o = [[Object alloc] init];
dispatch_once(&o->once_array[1], ^{}); // expected-warning{{Call to 'dispatch_once' uses memory within the instance variable 'once_array' for the predicate value.}}
}
@@ -100,7 +100,7 @@ void test_ivar_array_from_external_obj(Object *o) {
dispatch_once(&o->once_array[1], ^{}); // expected-warning{{Call to 'dispatch_once' uses memory within the instance variable 'once_array' for the predicate value.}}
}
-void test_block_var_from_block() {
+void test_block_var_from_block(void) {
__block dispatch_once_t once;
^{
dispatch_once(&once, ^{}); // expected-warning{{Call to 'dispatch_once' uses the block variable 'once' for the predicate value.}}
@@ -109,7 +109,7 @@ void test_block_var_from_block() {
void use_block_var(dispatch_once_t *once);
-void test_block_var_from_outside_block() {
+void test_block_var_from_outside_block(void) {
__block dispatch_once_t once;
^{
use_block_var(&once);
@@ -117,7 +117,7 @@ void test_block_var_from_outside_block() {
dispatch_once(&once, ^{}); // expected-warning{{Call to 'dispatch_once' uses the block variable 'once' for the predicate value.}}
}
-void test_static_var_from_outside_block() {
+void test_static_var_from_outside_block(void) {
static dispatch_once_t once;
^{
dispatch_once(&once, ^{}); // no-warning