blob: 7b6361c1f4008d6709a7a8dc4810c10cee57fda5 [file] [log] [blame]
Ted Kremenek34653182012-07-25 07:26:32 +00001// RUN: %clang_cc1 -fsyntax-only -Wno-objc-root-class -Wdocumentation -Wdocumentation-pedantic -verify %s
Dmitri Gribenkoa5ef44f2012-07-11 21:38:39 +00002
3@class NSString;
4
Dmitri Gribenkoabd56c82012-07-13 01:06:46 +00005// expected-warning@+1 {{empty paragraph passed to '\brief' command}}
6/// \brief\brief Aaa
7@interface Test1
Dmitri Gribenkoa5ef44f2012-07-11 21:38:39 +00008// expected-warning@+2 {{empty paragraph passed to '\brief' command}}
9/**
10 * \brief\brief Aaa
11 * \param aaa Aaa
12 * \param bbb Bbb
13 */
14+ (NSString *)test1:(NSString *)aaa suffix:(NSString *)bbb;
15
16// expected-warning@+2 {{parameter 'aab' not found in the function declaration}} expected-note@+2 {{did you mean 'aaa'?}}
17/**
18 * \param aab Aaa
19 */
20+ (NSString *)test2:(NSString *)aaa;
Dmitri Gribenkoabd56c82012-07-13 01:06:46 +000021
22// expected-warning@+1 {{empty paragraph passed to '\brief' command}}
23/// \brief\brief Aaa
24@property int test3; // a property: ObjCPropertyDecl
25
26// expected-warning@+1 {{empty paragraph passed to '\brief' command}}
27/// \brief\brief Aaa
28@property int test4; // a property: ObjCPropertyDecl
Dmitri Gribenkoa5ef44f2012-07-11 21:38:39 +000029@end
30
Dmitri Gribenkoabd56c82012-07-13 01:06:46 +000031// expected-warning@+1 {{empty paragraph passed to '\brief' command}}
32/// \brief\brief Aaa
33@interface Test1()
34@end
35
36// expected-warning@+1 {{empty paragraph passed to '\brief' command}}
37/// \brief\brief Aaa
38@implementation Test1 // a class implementation : ObjCImplementationDecl
39+ (NSString *)test1:(NSString *)aaa suffix:(NSString *)bbb {
40 return 0;
41}
42
43+ (NSString *)test2:(NSString *)aaa {
44 return 0;
45}
46
47@synthesize test3; // a property implementation: ObjCPropertyImplDecl
48@dynamic test4; // a property implementation: ObjCPropertyImplDecl
49
50// expected-warning@+1 {{empty paragraph passed to '\brief' command}}
51/// \brief\brief Aaa
52NSString *_test5;
53@end
54
55// expected-warning@+1 {{empty paragraph passed to '\brief' command}}
56/// \brief\brief Aaa
57@interface Test1(Test1Category) // a category: ObjCCategoryDecl
58// expected-warning@+1 {{empty paragraph passed to '\brief' command}}
59/// \brief\brief Aaa
60+ (NSString *)test3:(NSString *)aaa;
61@end
62
63// expected-warning@+1 {{empty paragraph passed to '\brief' command}}
64/// \brief\brief Aaa
65@implementation Test1(Test1Category) // a category implementation: ObjCCategoryImplDecl
66+ (NSString *)test3:(NSString *)aaa {
67 return 0;
68}
69@end
70
71// expected-warning@+1 {{empty paragraph passed to '\brief' command}}
72/// \brief\brief Aaa
73@protocol TestProto1 // a protocol: ObjCProtocolDecl
74@end
75
76int a;
77
78// expected-warning@+1 {{empty paragraph passed to '\brief' command}}
79/// \brief\brief Aaa
80@interface Test4
81@end
82
83int b;
84
Dmitri Gribenko88815f32012-08-06 16:29:26 +000085@interface TestReturns1
86/// \returns Aaa
87- (int)test1:(NSString *)aaa;
88
89// expected-warning@+1 {{'\returns' command used in a comment that is attached to a method returning void}}
90/// \returns Aaa
91- (void)test2:(NSString *)aaa;
92@end
93