llvm-project/clang/test/FixIt/fixit-recursive-block.c
Aaron Ballman 7de7161304 Use functions with prototypes when appropriate; NFC
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).
2022-02-09 17:16:10 -05:00

19 lines
760 B
C

// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -Wuninitialized -fblocks -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -Wuninitialized -fblocks -verify %s
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -Wuninitialized -fblocks -x objective-c -fobjc-arc -DARC -verify %s
// rdar://10817031
int main(void) {
void (^arc_fail)(void) = ^(void) {
#ifdef ARC
// expected-warning@-2 {{block pointer variable 'arc_fail' is null when captured by block}}
#else
// expected-warning@-4 {{block pointer variable 'arc_fail' is uninitialized when captured by block}}
#endif
// expected-note@-6 {{did you mean to use __block 'arc_fail'}}
arc_fail(); // BOOM
};
}
// CHECK: {8:12-8:12}:"__block "