llvm-project/clang/test/SemaObjC/synchronized.m
Aaron Ballman 7deaeb2a05 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 fourth batch of tests being updated (there are a significant
number of other tests left to be updated).
2022-02-07 15:29:36 -05:00

24 lines
657 B
Objective-C

// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
@interface PBXTrackableTaskManager @end
@implementation PBXTrackableTaskManager
- (id) init { return 0; }
- (void) unregisterTask:(id) task {
@synchronized (self) {
id taskID = [task taskIdentifier]; // expected-warning {{method '-taskIdentifier' not found (return type defaults to 'id')}}
}
}
@end
struct x { int a; } b;
void test1(void) {
@synchronized (b) { // expected-error {{@synchronized requires an Objective-C object type ('struct x' invalid)}}
}
@synchronized (42) { // expected-error {{@synchronized requires an Objective-C object type ('int' invalid)}}
}
}