xref: /petsc/src/sys/tests/linter/testDuplicates.c (revision d71ae5a4db6382e7f06317b8d368875286fe9008)
1064a246eSJacob Faibussowitsch #include <petscsys.h>
2064a246eSJacob Faibussowitsch 
3*d71ae5a4SJacob Faibussowitsch void testDuplicatesWithChanges(PetscInt *a, PetscScalar *b)
4*d71ae5a4SJacob Faibussowitsch {
5064a246eSJacob Faibussowitsch   /* no remove */
6064a246eSJacob Faibussowitsch   PetscValidIntPointer(a, 1);
7064a246eSJacob Faibussowitsch   /* remove */
8064a246eSJacob Faibussowitsch   PetscValidIntPointer(a, 1);
9064a246eSJacob Faibussowitsch   /* no remove */
10064a246eSJacob Faibussowitsch   PetscValidIntPointer(b, 5);
11064a246eSJacob Faibussowitsch   /* ~should~ be removed but won't be */
12064a246eSJacob Faibussowitsch   PetscValidScalarPointer(b, 7);
13064a246eSJacob Faibussowitsch   PetscValidScalarPointer(b, 3);
14064a246eSJacob Faibussowitsch   return;
15064a246eSJacob Faibussowitsch }
16064a246eSJacob Faibussowitsch 
17*d71ae5a4SJacob Faibussowitsch void testDuplicatesScoped(PetscInt *a, PetscScalar *b)
18*d71ae5a4SJacob Faibussowitsch {
19064a246eSJacob Faibussowitsch   /* no remove */
20064a246eSJacob Faibussowitsch   PetscValidIntPointer(a, 1);
21064a246eSJacob Faibussowitsch   PetscValidScalarPointer(b, 2);
22064a246eSJacob Faibussowitsch   /* remove */
23064a246eSJacob Faibussowitsch   PetscValidIntPointer(a, 1);
24064a246eSJacob Faibussowitsch   PetscValidScalarPointer(b, 2);
25064a246eSJacob Faibussowitsch   {
26064a246eSJacob Faibussowitsch     /* remove */
27064a246eSJacob Faibussowitsch     PetscValidIntPointer(a, 1);
28064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b, 2);
29064a246eSJacob Faibussowitsch   }
30064a246eSJacob Faibussowitsch   return;
31064a246eSJacob Faibussowitsch }
32064a246eSJacob Faibussowitsch 
33*d71ae5a4SJacob Faibussowitsch void testDuplicatesDoubleScoped(PetscInt *a, PetscScalar *b)
34*d71ae5a4SJacob Faibussowitsch {
35064a246eSJacob Faibussowitsch   /* no remove */
36064a246eSJacob Faibussowitsch   PetscValidIntPointer(a, 1);
37064a246eSJacob Faibussowitsch   PetscValidScalarPointer(b, 2);
38064a246eSJacob Faibussowitsch   /* remove */
39064a246eSJacob Faibussowitsch   PetscValidIntPointer(a, 1);
40064a246eSJacob Faibussowitsch   PetscValidScalarPointer(b, 2);
41064a246eSJacob Faibussowitsch   {
42064a246eSJacob Faibussowitsch     /* remove */
43064a246eSJacob Faibussowitsch     PetscValidIntPointer(a, 1);
44064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b, 2);
45064a246eSJacob Faibussowitsch   }
46064a246eSJacob Faibussowitsch   {
47064a246eSJacob Faibussowitsch     /* remove */
48064a246eSJacob Faibussowitsch     PetscValidIntPointer(a, 1);
49064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b, 2);
50064a246eSJacob Faibussowitsch   }
51064a246eSJacob Faibussowitsch   return;
52064a246eSJacob Faibussowitsch }
53064a246eSJacob Faibussowitsch 
54*d71ae5a4SJacob Faibussowitsch void testNoDuplicatesSwitch(PetscInt *a, PetscScalar *b, PetscBool cond)
55*d71ae5a4SJacob Faibussowitsch {
56064a246eSJacob Faibussowitsch   switch (cond) {
57064a246eSJacob Faibussowitsch   case PETSC_TRUE:
58064a246eSJacob Faibussowitsch     /* no remove */
59064a246eSJacob Faibussowitsch     PetscValidIntPointer(a, 1);
60064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b, 2);
61064a246eSJacob Faibussowitsch     break;
62064a246eSJacob Faibussowitsch   case PETSC_FALSE:
63064a246eSJacob Faibussowitsch     /* no remove */
64064a246eSJacob Faibussowitsch     PetscValidIntPointer(a, 1);
65064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b, 2);
66064a246eSJacob Faibussowitsch     break;
67064a246eSJacob Faibussowitsch   }
68064a246eSJacob Faibussowitsch   return;
69064a246eSJacob Faibussowitsch }
70064a246eSJacob Faibussowitsch 
71*d71ae5a4SJacob Faibussowitsch void testDuplicatesNoChangesSwitch(PetscInt *a, PetscScalar *b, PetscBool cond)
72*d71ae5a4SJacob Faibussowitsch {
73064a246eSJacob Faibussowitsch   /* no remove */
74064a246eSJacob Faibussowitsch   PetscValidIntPointer(a, 1);
75064a246eSJacob Faibussowitsch   PetscValidScalarPointer(b, 2);
76064a246eSJacob Faibussowitsch   switch (cond) {
77064a246eSJacob Faibussowitsch   case PETSC_TRUE:
78064a246eSJacob Faibussowitsch     /* remove */
79064a246eSJacob Faibussowitsch     PetscValidIntPointer(a, 1);
80064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b, 2);
81064a246eSJacob Faibussowitsch     break;
82064a246eSJacob Faibussowitsch   case PETSC_FALSE:
83064a246eSJacob Faibussowitsch     /* remove */
84064a246eSJacob Faibussowitsch     PetscValidIntPointer(a, 1);
85064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b, 2);
86064a246eSJacob Faibussowitsch     break;
87064a246eSJacob Faibussowitsch   }
88064a246eSJacob Faibussowitsch   return;
89064a246eSJacob Faibussowitsch }
90064a246eSJacob Faibussowitsch 
91*d71ae5a4SJacob Faibussowitsch void testNoDuplicatesIfElse(PetscInt *a, PetscScalar *b, PetscBool cond)
92*d71ae5a4SJacob Faibussowitsch {
93064a246eSJacob Faibussowitsch   if (cond) {
94064a246eSJacob Faibussowitsch     /* no remove */
95064a246eSJacob Faibussowitsch     PetscValidIntPointer(a, 1);
96064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b, 2);
97064a246eSJacob Faibussowitsch   } else {
98064a246eSJacob Faibussowitsch     /* no remove */
99064a246eSJacob Faibussowitsch     PetscValidIntPointer(a, 1);
100064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b, 2);
101064a246eSJacob Faibussowitsch   }
102064a246eSJacob Faibussowitsch   return;
103064a246eSJacob Faibussowitsch }
104064a246eSJacob Faibussowitsch 
105*d71ae5a4SJacob Faibussowitsch void testDuplicatesIfElse(PetscInt *a, PetscScalar *b, PetscBool cond)
106*d71ae5a4SJacob Faibussowitsch {
107064a246eSJacob Faibussowitsch   /* no remove */
108064a246eSJacob Faibussowitsch   PetscValidIntPointer(a, 1);
109064a246eSJacob Faibussowitsch   PetscValidScalarPointer(b, 2);
110064a246eSJacob Faibussowitsch   if (cond) {
111064a246eSJacob Faibussowitsch     /* remove */
112064a246eSJacob Faibussowitsch     PetscValidIntPointer(a, 1);
113064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b, 2);
114064a246eSJacob Faibussowitsch   } else {
115064a246eSJacob Faibussowitsch     /* remove */
116064a246eSJacob Faibussowitsch     PetscValidIntPointer(a, 1);
117064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b, 2);
118064a246eSJacob Faibussowitsch   }
119064a246eSJacob Faibussowitsch   return;
120064a246eSJacob Faibussowitsch }
121064a246eSJacob Faibussowitsch 
122*d71ae5a4SJacob Faibussowitsch void testNoDuplicatesIfElseIfElse(PetscInt *a, PetscScalar *b, PetscBool cond)
123*d71ae5a4SJacob Faibussowitsch {
124064a246eSJacob Faibussowitsch   if (cond) {
125064a246eSJacob Faibussowitsch     /* no remove */
126064a246eSJacob Faibussowitsch     PetscValidIntPointer(a, 1);
127064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b, 2);
128064a246eSJacob Faibussowitsch   } else if (!cond) {
129064a246eSJacob Faibussowitsch     /* no remove */
130064a246eSJacob Faibussowitsch     PetscValidIntPointer(a, 1);
131064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b, 2);
132064a246eSJacob Faibussowitsch   } else {
133064a246eSJacob Faibussowitsch     /* no remove */
134064a246eSJacob Faibussowitsch     PetscValidIntPointer(a, 1);
135064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b, 2);
136064a246eSJacob Faibussowitsch   }
137064a246eSJacob Faibussowitsch   return;
138064a246eSJacob Faibussowitsch }
139