]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/Sema/no-documentation-warn-tagdecl-specifier.c
Vendor import of clang release_40 branch r292732:
[FreeBSD/FreeBSD.git] / test / Sema / no-documentation-warn-tagdecl-specifier.c
1 // RUN: %clang_cc1 -fsyntax-only -Wdocumentation -verify %s
2 // rdar://12390371
3
4 /** @return s Test*/
5 struct s* f(void);
6 struct s;
7
8 struct s1;
9 /** @return s1 Test 1*/
10 struct s1* f1(void);
11
12 struct s2;
13 /** @return s2 Test 2*/
14 struct s2* f2(void);
15 struct s2;
16
17 // expected-warning@+1 {{'@return' command used in a comment that is not attached to a function or method declaration}}
18 /** @return s3 Test 3 - expected warning here */
19 struct s3;
20 struct s3* f3(void);
21
22 /** @return s4 Test 4 */
23 struct s4* f4(void);
24 struct s4 { int is; };
25
26 // expected-warning@+1 {{'@return' command used in a comment that is not attached to a function or method declaration}}
27 /** @return s5 Test 5  - expected warning here */
28 struct s5 { int is; };
29 struct s5* f5(void);
30
31 // expected-warning@+1 {{'@return' command used in a comment that is not attached to a function or method declaration}}
32 /** @return s6 Test 6  - expected warning here */
33 struct s6 *ps6;
34 struct s6* f6(void);
35
36 // expected-warning@+1 {{'@return' command used in a comment that is not attached to a function or method declaration}}
37 /** @return s7 Test 7  - expected warning here */
38 struct s7;
39 struct s7* f7(void);
40
41 struct s8 { int is8; };
42 /** @return s8 Test 8 */
43 struct s4 *f8(struct s8 *p);
44
45
46 /** @return e Test*/
47 enum e* g(void);
48 enum e;
49
50 enum e1;
51 /** @return e1 Test 1*/
52 enum e1* g1(void);
53
54 enum e2;
55 /** @return e2 Test 2*/
56 enum e2* g2(void);
57 enum e2;
58
59 // expected-warning@+1 {{'@return' command used in a comment that is not attached to a function or method declaration}}
60 /** @return e3 Test 3 - expected warning here */
61 enum e3;
62 enum e3* g3(void);
63
64 /** @return e4 Test 4 */
65 enum e4* g4(void);
66 enum e4 { one };
67
68 // expected-warning@+1 {{'@return' command used in a comment that is not attached to a function or method declaration}}
69 /** @return e5 Test 5  - expected warning here */
70 enum e5 { two };
71 enum e5* g5(void);
72
73 // expected-warning@+1 {{'@return' command used in a comment that is not attached to a function or method declaration}}
74 /** @return e6 Test 6  - expected warning here */
75 enum e6 *pe6;
76 enum e6* g6(void);
77
78 // expected-warning@+1 {{'@return' command used in a comment that is not attached to a function or method declaration}}
79 /** @return e7 Test 7  - expected warning here */
80 enum e7;
81 enum e7* g7(void);
82
83 enum e8 { three };
84 /** @return e8 Test 8 */
85 enum e4 *g8(enum e8 *p);