xref: /petsc/src/sys/tests/linter/testValidFunctionDocStrings.c (revision 447bcd8fae0acafb34f76e22d0a980ee3af1ea6c)
1*447bcd8fSJacob Faibussowitsch #include <petscsys.h>
2*447bcd8fSJacob Faibussowitsch 
3*447bcd8fSJacob Faibussowitsch typedef int testType;
4*447bcd8fSJacob Faibussowitsch 
5*447bcd8fSJacob Faibussowitsch /*@C
6*447bcd8fSJacob Faibussowitsch   testWellFormedFunctionDocString - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
7*447bcd8fSJacob Faibussowitsch   incididunt ut labore et dolore magna aliqua.
8*447bcd8fSJacob Faibussowitsch 
9*447bcd8fSJacob Faibussowitsch   Not Collective, Synchronous
10*447bcd8fSJacob Faibussowitsch 
11*447bcd8fSJacob Faibussowitsch   Input Parameters:
12*447bcd8fSJacob Faibussowitsch + viewer - a PetscViewer
13*447bcd8fSJacob Faibussowitsch - x      - an int
14*447bcd8fSJacob Faibussowitsch 
15*447bcd8fSJacob Faibussowitsch   Output Parameter:
16*447bcd8fSJacob Faibussowitsch + viewer2 - a PetscViewer
17*447bcd8fSJacob Faibussowitsch - y       - a pointer
18*447bcd8fSJacob Faibussowitsch 
19*447bcd8fSJacob Faibussowitsch   Notes:
20*447bcd8fSJacob Faibussowitsch   Lorem ipsum dolor sit amet, for example\:
21*447bcd8fSJacob Faibussowitsch 
22*447bcd8fSJacob Faibussowitsch   Level: beginner
23*447bcd8fSJacob Faibussowitsch 
24*447bcd8fSJacob Faibussowitsch   References:
25*447bcd8fSJacob Faibussowitsch   Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
26*447bcd8fSJacob Faibussowitsch 
27*447bcd8fSJacob Faibussowitsch .seealso: `testIllFormedFunctionDocString()`, `testType`
28*447bcd8fSJacob Faibussowitsch C@*/
29*447bcd8fSJacob Faibussowitsch PetscErrorCode testWellFormedFunctionDocString(PetscViewer viewer, PetscInt x, PetscViewer viewer2, PetscScalar *y)
30*447bcd8fSJacob Faibussowitsch {
31*447bcd8fSJacob Faibussowitsch   return 0;
32*447bcd8fSJacob Faibussowitsch }
33*447bcd8fSJacob Faibussowitsch 
34*447bcd8fSJacob Faibussowitsch /*@C Lorem ipsum dolor sit amet
35*447bcd8fSJacob Faibussowitsch   someOtherFunctionName - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
36*447bcd8fSJacob Faibussowitsch   eiusmod tempor incididunt ut labore et dolore magna aliqua. Excepteur sint occaecat cupidatat
37*447bcd8fSJacob Faibussowitsch   non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut
38*447bcd8fSJacob Faibussowitsch   perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium,
39*447bcd8fSJacob Faibussowitsch   totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae
40*447bcd8fSJacob Faibussowitsch   vitae dicta sunt explicabo.
41*447bcd8fSJacob Faibussowitsch 
42*447bcd8fSJacob Faibussowitsch   Not Collective, Synchronous
43*447bcd8fSJacob Faibussowitsch 
44*447bcd8fSJacob Faibussowitsch    Input Parameters:
45*447bcd8fSJacob Faibussowitsch + viewer - a PetscViewer
46*447bcd8fSJacob Faibussowitsch 
47*447bcd8fSJacob Faibussowitsch   Output Parameter:
48*447bcd8fSJacob Faibussowitsch - y          - a pointer
49*447bcd8fSJacob Faibussowitsch + cnd           - a boolean
50*447bcd8fSJacob Faibussowitsch . z - a nonexistent parameter
51*447bcd8fSJacob Faibussowitsch 
52*447bcd8fSJacob Faibussowitsch   level: Lorem ipsum dolor sit amet
53*447bcd8fSJacob Faibussowitsch 
54*447bcd8fSJacob Faibussowitsch   Level:
55*447bcd8fSJacob Faibussowitsch   Beginner
56*447bcd8fSJacob Faibussowitsch 
57*447bcd8fSJacob Faibussowitsch   Developer Notes:
58*447bcd8fSJacob Faibussowitsch   Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
59*447bcd8fSJacob Faibussowitsch   labore et dolore magna aliqua. Excepteur sint occaecat cupidatat non proident, sunt in culpa
60*447bcd8fSJacob Faibussowitsch   qui officia deserunt mollit anim id est laborum as follows:
61*447bcd8fSJacob Faibussowitsch 
62*447bcd8fSJacob Faibussowitsch   Notes Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
63*447bcd8fSJacob Faibussowitsch   incididunt ut labore et dolore magna aliqua. Excepteur sint occaecat cupidatat non proident,
64*447bcd8fSJacob Faibussowitsch   sunt in culpa qui officia deserunt mollit anim id est laborum example.
65*447bcd8fSJacob Faibussowitsch 
66*447bcd8fSJacob Faibussowitsch   Fortran Notes:
67*447bcd8fSJacob Faibussowitsch   Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
68*447bcd8fSJacob Faibussowitsch   labore et dolore magna aliqua. Excepteur sint occaecat cupidatat non proident, sunt in culpa
69*447bcd8fSJacob Faibussowitsch   qui officia deserunt mollit anim id est laborum instance:
70*447bcd8fSJacob Faibussowitsch 
71*447bcd8fSJacob Faibussowitsch   References: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
72*447bcd8fSJacob Faibussowitsch 
73*447bcd8fSJacob Faibussowitsch .seealso:                                                  testNonExistentFunction(), testNonExistentType,
74*447bcd8fSJacob Faibussowitsch testIllFormedFunctionDocString(), `testNonExistentFunction()`, testIllFormedMinimalDocString()
75*447bcd8fSJacob Faibussowitsch @*/
76*447bcd8fSJacob Faibussowitsch 
77*447bcd8fSJacob Faibussowitsch PetscErrorCode testIllFormedFunctionDocString(PetscViewer viewer, PetscInt x, PetscScalar *y, PetscBool cond)
78*447bcd8fSJacob Faibussowitsch {
79*447bcd8fSJacob Faibussowitsch   return 0;
80*447bcd8fSJacob Faibussowitsch }
81*447bcd8fSJacob Faibussowitsch 
82*447bcd8fSJacob Faibussowitsch /*
83*447bcd8fSJacob Faibussowitsch   Not Collective, Synchronous
84*447bcd8fSJacob Faibussowitsch 
85*447bcd8fSJacob Faibussowitsch   input parms:
86*447bcd8fSJacob Faibussowitsch . foo
87*447bcd8fSJacob Faibussowitsch 
88*447bcd8fSJacob Faibussowitsch   Output params:
89*447bcd8fSJacob Faibussowitsch + bar -
90*447bcd8fSJacob Faibussowitsch 
91*447bcd8fSJacob Faibussowitsch   References:
92*447bcd8fSJacob Faibussowitsch   Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
93*447bcd8fSJacob Faibussowitsch    .seealso: testNonExistentFunction(), testNonExistentType,`testNonExistentFunction()
94*447bcd8fSJacob Faibussowitsch */
95*447bcd8fSJacob Faibussowitsch PetscErrorCode testIllFormedMinimalDocString(void)
96*447bcd8fSJacob Faibussowitsch {
97*447bcd8fSJacob Faibussowitsch   return 0;
98*447bcd8fSJacob Faibussowitsch }
99*447bcd8fSJacob Faibussowitsch 
100*447bcd8fSJacob Faibussowitsch /*@C
101*447bcd8fSJacob Faibussowitsch   testTerbleSpelingDocstring - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
102*447bcd8fSJacob Faibussowitsch   eiusmod tempor incididunt ut labore et dolore magna aliqua.
103*447bcd8fSJacob Faibussowitsch 
104*447bcd8fSJacob Faibussowitsch   input prametirs:
105*447bcd8fSJacob Faibussowitsch + viewer - a PetsViewer
106*447bcd8fSJacob Faibussowitsch - x - a PetscInt
107*447bcd8fSJacob Faibussowitsch 
108*447bcd8fSJacob Faibussowitsch   output Psrammmetrs:
109*447bcd8fSJacob Faibussowitsch . y - a PetscScalar pointer
110*447bcd8fSJacob Faibussowitsch 
111*447bcd8fSJacob Faibussowitsch   optnS dtaaSE:
112*447bcd8fSJacob Faibussowitsch - -option_a     - foo
113*447bcd8fSJacob Faibussowitsch - -option_b [filename][:[~]<foo,bar,baz>[:[~]bop]] - descr
114*447bcd8fSJacob Faibussowitsch   lvl: itnmediate
115*447bcd8fSJacob Faibussowitsch 
116*447bcd8fSJacob Faibussowitsch .zeeakso:
117*447bcd8fSJacob Faibussowitsch C@*/
118*447bcd8fSJacob Faibussowitsch PetscErrorCode testTerribleSpellingDocString(PetscViewer viewer, PetscInt x, PetscScalar *y)
119*447bcd8fSJacob Faibussowitsch {
120*447bcd8fSJacob Faibussowitsch   return 0;
121*447bcd8fSJacob Faibussowitsch }
122*447bcd8fSJacob Faibussowitsch 
123*447bcd8fSJacob Faibussowitsch /*@ asdadsadasdas
124*447bcd8fSJacob Faibussowitsch   testCustomFortranInterfaceDocString - Lorem ipsum dolor sit amet, consectetur adipiscing elit
125*447bcd8fSJacob Faibussowitsch 
126*447bcd8fSJacob Faibussowitsch   Input Parameters:
127*447bcd8fSJacob Faibussowitsch + string -  a char pointer
128*447bcd8fSJacob Faibussowitsch - function_ptr - a function pointer
129*447bcd8fSJacob Faibussowitsch 
130*447bcd8fSJacob Faibussowitsch   Level:
131*447bcd8fSJacob Faibussowitsch 
132*447bcd8fSJacob Faibussowitsch .seealso: Lorem(), `ipsum()`, dolor(), `sit(), `amet()`, consectetur(), adipiscing(), elit()`
133*447bcd8fSJacob Faibussowitsch @*/
134*447bcd8fSJacob Faibussowitsch PetscErrorCode testCustomFortranInterfaceDocString(char *******string, PetscErrorCode (*function_ptr)(PetscInt))
135*447bcd8fSJacob Faibussowitsch {
136*447bcd8fSJacob Faibussowitsch   return 0;
137*447bcd8fSJacob Faibussowitsch }
138*447bcd8fSJacob Faibussowitsch 
139*447bcd8fSJacob Faibussowitsch /* a random comment above a function */
140*447bcd8fSJacob Faibussowitsch void function() { }
141*447bcd8fSJacob Faibussowitsch 
142*447bcd8fSJacob Faibussowitsch PETSC_INTERN PetscErrorCode testInternFunction();
143*447bcd8fSJacob Faibussowitsch 
144*447bcd8fSJacob Faibussowitsch /*@
145*447bcd8fSJacob Faibussowitsch   testInternFunction - an internal function
146*447bcd8fSJacob Faibussowitsch 
147*447bcd8fSJacob Faibussowitsch   Level: developer
148*447bcd8fSJacob Faibussowitsch 
149*447bcd8fSJacob Faibussowitsch .seealso: function()
150*447bcd8fSJacob Faibussowitsch @*/
151*447bcd8fSJacob Faibussowitsch PetscErrorCode testInternFunction()
152*447bcd8fSJacob Faibussowitsch {
153*447bcd8fSJacob Faibussowitsch   return 0;
154*447bcd8fSJacob Faibussowitsch }
155*447bcd8fSJacob Faibussowitsch 
156*447bcd8fSJacob Faibussowitsch /*@
157*447bcd8fSJacob Faibussowitsch   testStaticFunction - an internal function
158*447bcd8fSJacob Faibussowitsch 
159*447bcd8fSJacob Faibussowitsch   Level: developer
160*447bcd8fSJacob Faibussowitsch 
161*447bcd8fSJacob Faibussowitsch .seealso: function()
162*447bcd8fSJacob Faibussowitsch @*/
163*447bcd8fSJacob Faibussowitsch static PetscErrorCode testStaticFunction()
164*447bcd8fSJacob Faibussowitsch {
165*447bcd8fSJacob Faibussowitsch   return 0;
166*447bcd8fSJacob Faibussowitsch }
167*447bcd8fSJacob Faibussowitsch 
168*447bcd8fSJacob Faibussowitsch /*@
169*447bcd8fSJacob Faibussowitsch   testAllParamsUndocumented - lorem
170*447bcd8fSJacob Faibussowitsch 
171*447bcd8fSJacob Faibussowitsch   Level: beginner developer
172*447bcd8fSJacob Faibussowitsch 
173*447bcd8fSJacob Faibussowitsch   Example Usage:
174*447bcd8fSJacob Faibussowitsch .vb
175*447bcd8fSJacob Faibussowitsch   int a;
176*447bcd8fSJacob Faibussowitsch   double multiline;
177*447bcd8fSJacob Faibussowitsch   char codeBlock;
178*447bcd8fSJacob Faibussowitsch .ve
179*447bcd8fSJacob Faibussowitsch 
180*447bcd8fSJacob Faibussowitsch .seealso:
181*447bcd8fSJacob Faibussowitsch @*/
182*447bcd8fSJacob Faibussowitsch PetscErrorCode testAllParamsUndocumented(PetscInt a, PetscInt b)
183*447bcd8fSJacob Faibussowitsch {
184*447bcd8fSJacob Faibussowitsch   return testStaticFunction();
185*447bcd8fSJacob Faibussowitsch }
186*447bcd8fSJacob Faibussowitsch 
187*447bcd8fSJacob Faibussowitsch /*@
188*447bcd8fSJacob Faibussowitsch   testParameterGrouping ipsum
189*447bcd8fSJacob Faibussowitsch 
190*447bcd8fSJacob Faibussowitsch   Input parameters:
191*447bcd8fSJacob Faibussowitsch - a,b - some params
192*447bcd8fSJacob Faibussowitsch + nonExistentParam - this param does not exist
193*447bcd8fSJacob Faibussowitsch . ... - variadic arguments
194*447bcd8fSJacob Faibussowitsch 
195*447bcd8fSJacob Faibussowitsch   Level dev
196*447bcd8fSJacob Faibussowitsch 
197*447bcd8fSJacob Faibussowitsch .see also: testStaticFunction()
198*447bcd8fSJacob Faibussowitsch @*/
199*447bcd8fSJacob Faibussowitsch PetscErrorCode testParameterGrouping(PetscInt a, PetscInt b, ...)
200*447bcd8fSJacob Faibussowitsch {
201*447bcd8fSJacob Faibussowitsch   return 0;
202*447bcd8fSJacob Faibussowitsch }
203*447bcd8fSJacob Faibussowitsch 
204*447bcd8fSJacob Faibussowitsch /*@
205*447bcd8fSJacob Faibussowitsch   testScatteredVerbatimBlocks - bla
206*447bcd8fSJacob Faibussowitsch 
207*447bcd8fSJacob Faibussowitsch   Input Parameters:
208*447bcd8fSJacob Faibussowitsch + alpha - an alpha
209*447bcd8fSJacob Faibussowitsch .vb
210*447bcd8fSJacob Faibussowitsch   int a_code_block;
211*447bcd8fSJacob Faibussowitsch .ve
212*447bcd8fSJacob Faibussowitsch - beta - a beta
213*447bcd8fSJacob Faibussowitsch 
214*447bcd8fSJacob Faibussowitsch   Level: beginner
215*447bcd8fSJacob Faibussowitsch 
216*447bcd8fSJacob Faibussowitsch .seealso: `Foo()`
217*447bcd8fSJacob Faibussowitsch @*/
218*447bcd8fSJacob Faibussowitsch PetscErrorCode testScatteredVerbatimBlocks(PetscInt alpha, PetscInt beta)
219*447bcd8fSJacob Faibussowitsch {
220*447bcd8fSJacob Faibussowitsch   return 0;
221*447bcd8fSJacob Faibussowitsch }
222*447bcd8fSJacob Faibussowitsch 
223*447bcd8fSJacob Faibussowitsch /*@
224*447bcd8fSJacob Faibussowitsch   testBadParamListDescrSep - foo
225*447bcd8fSJacob Faibussowitsch 
226*447bcd8fSJacob Faibussowitsch   Input Parameters:
227*447bcd8fSJacob Faibussowitsch + alpha, an alpha
228*447bcd8fSJacob Faibussowitsch - beta = a beta
229*447bcd8fSJacob Faibussowitsch 
230*447bcd8fSJacob Faibussowitsch   Level: beginner
231*447bcd8fSJacob Faibussowitsch 
232*447bcd8fSJacob Faibussowitsch .seealso: Foo()
233*447bcd8fSJacob Faibussowitsch @*/
234*447bcd8fSJacob Faibussowitsch PetscErrorCode testBadParamListDescrSep(PetscInt alpha, PetscInt beta)
235*447bcd8fSJacob Faibussowitsch {
236*447bcd8fSJacob Faibussowitsch   return 0;
237*447bcd8fSJacob Faibussowitsch }
238*447bcd8fSJacob Faibussowitsch 
239*447bcd8fSJacob Faibussowitsch /*@
240*447bcd8fSJacob Faibussowitsch   testBadMidSentenceColons - Lorem:
241*447bcd8fSJacob Faibussowitsch 
242*447bcd8fSJacob Faibussowitsch   Notes:
243*447bcd8fSJacob Faibussowitsch   Lorem ipsum dolor sit amet:, consectetur adipiscing elit: sed do: eiusmod tempor: incididunt ut
244*447bcd8fSJacob Faibussowitsch   labore et dolore: magna aliqua: Excepteur: sint occaecat cupidatat non proident, sunt: in culpa
245*447bcd8fSJacob Faibussowitsch   qui officia: deserunt mollit: anim id est: laborum as follows:
246*447bcd8fSJacob Faibussowitsch 
247*447bcd8fSJacob Faibussowitsch   Level: beginner
248*447bcd8fSJacob Faibussowitsch 
249*447bcd8fSJacob Faibussowitsch .seealso: `Foo()
250*447bcd8fSJacob Faibussowitsch @*/
251*447bcd8fSJacob Faibussowitsch PetscErrorCode testBadMidSentenceColons(void)
252*447bcd8fSJacob Faibussowitsch {
253*447bcd8fSJacob Faibussowitsch   return 0;
254*447bcd8fSJacob Faibussowitsch }
255*447bcd8fSJacob Faibussowitsch 
256*447bcd8fSJacob Faibussowitsch /*MC
257*447bcd8fSJacob Faibussowitsch   MYTYPE - MYTYPE = "mytype"
258*447bcd8fSJacob Faibussowitsch 
259*447bcd8fSJacob Faibussowitsch   Level: developer
260*447bcd8fSJacob Faibussowitsch 
261*447bcd8fSJacob Faibussowitsch .seealso: MATAIJ
262*447bcd8fSJacob Faibussowitsch MC*/
263*447bcd8fSJacob Faibussowitsch 
264*447bcd8fSJacob Faibussowitsch PetscErrorCode testFloatingDocstring(void)
265*447bcd8fSJacob Faibussowitsch {
266*447bcd8fSJacob Faibussowitsch   return 0;
267*447bcd8fSJacob Faibussowitsch }
268*447bcd8fSJacob Faibussowitsch 
269*447bcd8fSJacob Faibussowitsch /*@M
270*447bcd8fSJacob Faibussowitsch   testExplicitSynopsis - Lorem Ipsum
271*447bcd8fSJacob Faibussowitsch 
272*447bcd8fSJacob Faibussowitsch   Collective
273*447bcd8fSJacob Faibussowitsch 
274*447bcd8fSJacob Faibussowitsch   Synopsis:
275*447bcd8fSJacob Faibussowitsch   #include "testheader.h"
276*447bcd8fSJacob Faibussowitsch   PetscErrorCode testExplicitSynopsis(PetscInt foo, PetscReal bar, void *baz)
277*447bcd8fSJacob Faibussowitsch 
278*447bcd8fSJacob Faibussowitsch   Input Parameters:
279*447bcd8fSJacob Faibussowitsch + foo - a foo
280*447bcd8fSJacob Faibussowitsch - bar - a bar
281*447bcd8fSJacob Faibussowitsch 
282*447bcd8fSJacob Faibussowitsch   Output Parameter:
283*447bcd8fSJacob Faibussowitsch . baz -                 a baz
284*447bcd8fSJacob Faibussowitsch 
285*447bcd8fSJacob Faibussowitsch   Level: beginner
286*447bcd8fSJacob Faibussowitsch 
287*447bcd8fSJacob Faibussowitsch .seealso: `testExplicitSynopsisBad()`
288*447bcd8fSJacob Faibussowitsch M@*/
289*447bcd8fSJacob Faibussowitsch PetscErrorCode testExplicitSynopsis_Private(PetscScalar unknown, PetscInt foo, PetscReal bar, void *baz)
290*447bcd8fSJacob Faibussowitsch {
291*447bcd8fSJacob Faibussowitsch   return 0;
292*447bcd8fSJacob Faibussowitsch }
293*447bcd8fSJacob Faibussowitsch 
294*447bcd8fSJacob Faibussowitsch /* testBadDocString - asdadsasd
295*447bcd8fSJacob Faibussowitsch */
296*447bcd8fSJacob Faibussowitsch PetscErrorCode testBadDocString(PetscInt n)
297*447bcd8fSJacob Faibussowitsch {
298*447bcd8fSJacob Faibussowitsch   return 0;
299*447bcd8fSJacob Faibussowitsch }
300*447bcd8fSJacob Faibussowitsch 
301*447bcd8fSJacob Faibussowitsch /*C testBadDocStringMissingChar - asdadsasd
302*447bcd8fSJacob Faibussowitsch 
303*447bcd8fSJacob Faibussowitsch   Input Parameter:
304*447bcd8fSJacob Faibussowitsch . n - the n
305*447bcd8fSJacob Faibussowitsch 
306*447bcd8fSJacob Faibussowitsch   Level: beginner
307*447bcd8fSJacob Faibussowitsch 
308*447bcd8fSJacob Faibussowitsch .seealso: `testBadDocString()`
309*447bcd8fSJacob Faibussowitsch */
310*447bcd8fSJacob Faibussowitsch PetscErrorCode testBadDocStringMissingChar(PetscInt n)
311*447bcd8fSJacob Faibussowitsch {
312*447bcd8fSJacob Faibussowitsch   return 0;
313*447bcd8fSJacob Faibussowitsch }
314*447bcd8fSJacob Faibussowitsch 
315*447bcd8fSJacob Faibussowitsch /*C@
316*447bcd8fSJacob Faibussowitsch   testBadDocStringCharOutOfOrder - asdadsasd
317*447bcd8fSJacob Faibussowitsch 
318*447bcd8fSJacob Faibussowitsch   Input Parameter:
319*447bcd8fSJacob Faibussowitsch . n - the n
320*447bcd8fSJacob Faibussowitsch 
321*447bcd8fSJacob Faibussowitsch   Level: beginner
322*447bcd8fSJacob Faibussowitsch 
323*447bcd8fSJacob Faibussowitsch .seealso: `testBadDocString()`
324*447bcd8fSJacob Faibussowitsch */
325*447bcd8fSJacob Faibussowitsch PetscErrorCode testBadDocStringCharOutOfOrder(PetscInt n)
326*447bcd8fSJacob Faibussowitsch {
327*447bcd8fSJacob Faibussowitsch   return 0;
328*447bcd8fSJacob Faibussowitsch }
329*447bcd8fSJacob Faibussowitsch 
330*447bcd8fSJacob Faibussowitsch /*
331*447bcd8fSJacob Faibussowitsch   testInternalLinkageDocstring = This looks like a docstring, acts like a docstring, but it is
332*447bcd8fSJacob Faibussowitsch   not a docstring, no diagnostics should be emmitted for this function
333*447bcd8fSJacob Faibussowitsch 
334*447bcd8fSJacob Faibussowitsch   Input parm:
335*447bcd8fSJacob Faibussowitsch   * hello - asdasd
336*447bcd8fSJacob Faibussowitsch 
337*447bcd8fSJacob Faibussowitsch   Notes:
338*447bcd8fSJacob Faibussowitsch   This is because the function has internal linkage, and hence it is developer documentation!
339*447bcd8fSJacob Faibussowitsch 
340*447bcd8fSJacob Faibussowitsch   level: dev
341*447bcd8fSJacob Faibussowitsch 
342*447bcd8fSJacob Faibussowitsch .seealso testWellFormedFunctionDocString()
343*447bcd8fSJacob Faibussowitsch */
344*447bcd8fSJacob Faibussowitsch static PetscErrorCode testInternalLinkageDocstring(PetscInt param)
345*447bcd8fSJacob Faibussowitsch {
346*447bcd8fSJacob Faibussowitsch   return 0;
347*447bcd8fSJacob Faibussowitsch }
348*447bcd8fSJacob Faibussowitsch 
349*447bcd8fSJacob Faibussowitsch /*@
350*447bcd8fSJacob Faibussowitsch   testSingleFunctionArgNotFound - asdasdasdasd
351*447bcd8fSJacob Faibussowitsch 
352*447bcd8fSJacob Faibussowitsch   Input parm:
353*447bcd8fSJacob Faibussowitsch + unrelated - A function arg
354*447bcd8fSJacob Faibussowitsch 
355*447bcd8fSJacob Faibussowitsch   lvel: dev
356*447bcd8fSJacob Faibussowitsch 
357*447bcd8fSJacob Faibussowitsch .seealso: `testBadDocString()
358*447bcd8fSJacob Faibussowitsch 
359*447bcd8fSJacob Faibussowitsch @*/
360*447bcd8fSJacob Faibussowitsch PetscErrorCode testSingleFunctionArgNotFound(PetscScalar some_function_arg)
361*447bcd8fSJacob Faibussowitsch {
362*447bcd8fSJacob Faibussowitsch   return 0;
363*447bcd8fSJacob Faibussowitsch }
364*447bcd8fSJacob Faibussowitsch 
365*447bcd8fSJacob Faibussowitsch extern PetscErrorCode testPredeclarationCursorIgnored(int, int *);
366*447bcd8fSJacob Faibussowitsch 
367*447bcd8fSJacob Faibussowitsch /*
368*447bcd8fSJacob Faibussowitsch   testPredeclarationCursorIgnored - the cursor above this will be ignored!
369*447bcd8fSJacob Faibussowitsch 
370*447bcd8fSJacob Faibussowitsch   Inp Paramet:
371*447bcd8fSJacob Faibussowitsch . asdasd - an arg
372*447bcd8fSJacob Faibussowitsch 
373*447bcd8fSJacob Faibussowitsch   Ouput Pameter:
374*447bcd8fSJacob Faibussowitsch . another_arg_asd22 - another arg
375*447bcd8fSJacob Faibussowitsch 
376*447bcd8fSJacob Faibussowitsch   Level: beg
377*447bcd8fSJacob Faibussowitsch 
378*447bcd8fSJacob Faibussowitsch .seealso: testPredeclarationCursorIgnored()`
379*447bcd8fSJacob Faibussowitsch */
380*447bcd8fSJacob Faibussowitsch 
381*447bcd8fSJacob Faibussowitsch PetscErrorCode testPredeclarationCursorIgnored(int arg, int *another_arg)
382*447bcd8fSJacob Faibussowitsch {
383*447bcd8fSJacob Faibussowitsch   return 0;
384*447bcd8fSJacob Faibussowitsch }
385*447bcd8fSJacob Faibussowitsch 
386*447bcd8fSJacob Faibussowitsch /*@
387*447bcd8fSJacob Faibussowitsch   testFunctionPointerArguments - the first set of arguments are unnamed and should be errored
388*447bcd8fSJacob Faibussowitsch 
389*447bcd8fSJacob Faibussowitsch   Input Parameters:
390*447bcd8fSJacob Faibussowitsch + foo - a foo
391*447bcd8fSJacob Faibussowitsch . bar - a bar
392*447bcd8fSJacob Faibussowitsch - baz - a baz
393*447bcd8fSJacob Faibussowitsch 
394*447bcd8fSJacob Faibussowitsch   Calling sequence of foo:
395*447bcd8fSJacob Faibussowitsch + foo_parm1 - an int
396*447bcd8fSJacob Faibussowitsch . foo_parm2 - a double
397*447bcd8fSJacob Faibussowitsch - foo_parm3 - a float
398*447bcd8fSJacob Faibussowitsch 
399*447bcd8fSJacob Faibussowitsch   Calling sequence of bar:
400*447bcd8fSJacob Faibussowitsch + bar_parm1 - an int
401*447bcd8fSJacob Faibussowitsch . bar_parm2 - a double
402*447bcd8fSJacob Faibussowitsch - bar_parm3 - a float
403*447bcd8fSJacob Faibussowitsch 
404*447bcd8fSJacob Faibussowitsch   Calling sequence of baz:
405*447bcd8fSJacob Faibussowitsch + bop       - a bop
406*447bcd8fSJacob Faibussowitsch . blitz     - a blitz
407*447bcd8fSJacob Faibussowitsch . baz_parm1 - an int
408*447bcd8fSJacob Faibussowitsch . baz_parm2 - a double
409*447bcd8fSJacob Faibussowitsch - baz_parm3 - a float
410*447bcd8fSJacob Faibussowitsch 
411*447bcd8fSJacob Faibussowitsch   Notes:
412*447bcd8fSJacob Faibussowitsch   But bars arguments should correctly match! Additionally, this function requires a 'C'
413*447bcd8fSJacob Faibussowitsch   interface marker!
414*447bcd8fSJacob Faibussowitsch 
415*447bcd8fSJacob Faibussowitsch   Level: developer
416*447bcd8fSJacob Faibussowitsch 
417*447bcd8fSJacob Faibussowitsch .seealso: `testPredeclarationCursorIgnored()`
418*447bcd8fSJacob Faibussowitsch */
419*447bcd8fSJacob Faibussowitsch PetscErrorCode testFunctionPointerArguments(int (*foo)(int, double, float), int (*bar)(int bar_parm1, double bar_parm2, float bar_parm3), void (*baz)(int (*bop)(void), void (*blitz)(void (*)(void)), int baz_parm1, double baz_parm2, float baz_parm3))
420*447bcd8fSJacob Faibussowitsch {
421*447bcd8fSJacob Faibussowitsch   return 0;
422*447bcd8fSJacob Faibussowitsch }
423