xref: /petsc/src/sys/tests/linter/testDuplicates.c (revision 064a246e8b5c1f87897a54b4a9ec05181ea08258)
1*064a246eSJacob Faibussowitsch #include <petscsys.h>
2*064a246eSJacob Faibussowitsch 
3*064a246eSJacob Faibussowitsch void testDuplicatesWithChanges(PetscInt *a, PetscScalar *b)
4*064a246eSJacob Faibussowitsch {
5*064a246eSJacob Faibussowitsch   /* no remove */
6*064a246eSJacob Faibussowitsch   PetscValidIntPointer(a,1);
7*064a246eSJacob Faibussowitsch   /* remove */
8*064a246eSJacob Faibussowitsch   PetscValidIntPointer(a,1);
9*064a246eSJacob Faibussowitsch   /* no remove */
10*064a246eSJacob Faibussowitsch   PetscValidIntPointer(b,5);
11*064a246eSJacob Faibussowitsch   /* ~should~ be removed but won't be */
12*064a246eSJacob Faibussowitsch   PetscValidScalarPointer(b,7);
13*064a246eSJacob Faibussowitsch   PetscValidScalarPointer(b,3);
14*064a246eSJacob Faibussowitsch   return;
15*064a246eSJacob Faibussowitsch }
16*064a246eSJacob Faibussowitsch 
17*064a246eSJacob Faibussowitsch void testDuplicatesScoped(PetscInt *a, PetscScalar *b)
18*064a246eSJacob Faibussowitsch {
19*064a246eSJacob Faibussowitsch   /* no remove */
20*064a246eSJacob Faibussowitsch   PetscValidIntPointer(a,1);
21*064a246eSJacob Faibussowitsch   PetscValidScalarPointer(b,2);
22*064a246eSJacob Faibussowitsch   /* remove */
23*064a246eSJacob Faibussowitsch   PetscValidIntPointer(a,1);
24*064a246eSJacob Faibussowitsch   PetscValidScalarPointer(b,2);
25*064a246eSJacob Faibussowitsch   {
26*064a246eSJacob Faibussowitsch     /* remove */
27*064a246eSJacob Faibussowitsch     PetscValidIntPointer(a,1);
28*064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b,2);
29*064a246eSJacob Faibussowitsch   }
30*064a246eSJacob Faibussowitsch   return;
31*064a246eSJacob Faibussowitsch }
32*064a246eSJacob Faibussowitsch 
33*064a246eSJacob Faibussowitsch void testDuplicatesDoubleScoped(PetscInt *a, PetscScalar *b)
34*064a246eSJacob Faibussowitsch {
35*064a246eSJacob Faibussowitsch   /* no remove */
36*064a246eSJacob Faibussowitsch   PetscValidIntPointer(a,1);
37*064a246eSJacob Faibussowitsch   PetscValidScalarPointer(b,2);
38*064a246eSJacob Faibussowitsch   /* remove */
39*064a246eSJacob Faibussowitsch   PetscValidIntPointer(a,1);
40*064a246eSJacob Faibussowitsch   PetscValidScalarPointer(b,2);
41*064a246eSJacob Faibussowitsch   {
42*064a246eSJacob Faibussowitsch     /* remove */
43*064a246eSJacob Faibussowitsch     PetscValidIntPointer(a,1);
44*064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b,2);
45*064a246eSJacob Faibussowitsch   }
46*064a246eSJacob Faibussowitsch   {
47*064a246eSJacob Faibussowitsch     /* remove */
48*064a246eSJacob Faibussowitsch     PetscValidIntPointer(a,1);
49*064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b,2);
50*064a246eSJacob Faibussowitsch   }
51*064a246eSJacob Faibussowitsch   return;
52*064a246eSJacob Faibussowitsch }
53*064a246eSJacob Faibussowitsch 
54*064a246eSJacob Faibussowitsch void testNoDuplicatesSwitch(PetscInt *a, PetscScalar *b, PetscBool cond)
55*064a246eSJacob Faibussowitsch {
56*064a246eSJacob Faibussowitsch   switch (cond) {
57*064a246eSJacob Faibussowitsch   case PETSC_TRUE:
58*064a246eSJacob Faibussowitsch     /* no remove */
59*064a246eSJacob Faibussowitsch     PetscValidIntPointer(a,1);
60*064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b,2);
61*064a246eSJacob Faibussowitsch     break;
62*064a246eSJacob Faibussowitsch   case PETSC_FALSE:
63*064a246eSJacob Faibussowitsch     /* no remove */
64*064a246eSJacob Faibussowitsch     PetscValidIntPointer(a,1);
65*064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b,2);
66*064a246eSJacob Faibussowitsch     break;
67*064a246eSJacob Faibussowitsch   }
68*064a246eSJacob Faibussowitsch   return;
69*064a246eSJacob Faibussowitsch }
70*064a246eSJacob Faibussowitsch 
71*064a246eSJacob Faibussowitsch void testDuplicatesNoChangesSwitch(PetscInt *a, PetscScalar *b, PetscBool cond)
72*064a246eSJacob Faibussowitsch {
73*064a246eSJacob Faibussowitsch   /* no remove */
74*064a246eSJacob Faibussowitsch   PetscValidIntPointer(a,1);
75*064a246eSJacob Faibussowitsch   PetscValidScalarPointer(b,2);
76*064a246eSJacob Faibussowitsch   switch (cond) {
77*064a246eSJacob Faibussowitsch   case PETSC_TRUE:
78*064a246eSJacob Faibussowitsch     /* remove */
79*064a246eSJacob Faibussowitsch     PetscValidIntPointer(a,1);
80*064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b,2);
81*064a246eSJacob Faibussowitsch     break;
82*064a246eSJacob Faibussowitsch   case PETSC_FALSE:
83*064a246eSJacob Faibussowitsch     /* remove */
84*064a246eSJacob Faibussowitsch     PetscValidIntPointer(a,1);
85*064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b,2);
86*064a246eSJacob Faibussowitsch     break;
87*064a246eSJacob Faibussowitsch   }
88*064a246eSJacob Faibussowitsch   return;
89*064a246eSJacob Faibussowitsch }
90*064a246eSJacob Faibussowitsch 
91*064a246eSJacob Faibussowitsch void testNoDuplicatesIfElse(PetscInt *a, PetscScalar *b, PetscBool cond)
92*064a246eSJacob Faibussowitsch {
93*064a246eSJacob Faibussowitsch   if (cond) {
94*064a246eSJacob Faibussowitsch     /* no remove */
95*064a246eSJacob Faibussowitsch     PetscValidIntPointer(a,1);
96*064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b,2);
97*064a246eSJacob Faibussowitsch   } else {
98*064a246eSJacob Faibussowitsch     /* no remove */
99*064a246eSJacob Faibussowitsch     PetscValidIntPointer(a,1);
100*064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b,2);
101*064a246eSJacob Faibussowitsch   }
102*064a246eSJacob Faibussowitsch   return;
103*064a246eSJacob Faibussowitsch }
104*064a246eSJacob Faibussowitsch 
105*064a246eSJacob Faibussowitsch void testDuplicatesIfElse(PetscInt *a, PetscScalar *b, PetscBool cond)
106*064a246eSJacob Faibussowitsch {
107*064a246eSJacob Faibussowitsch   /* no remove */
108*064a246eSJacob Faibussowitsch   PetscValidIntPointer(a,1);
109*064a246eSJacob Faibussowitsch   PetscValidScalarPointer(b,2);
110*064a246eSJacob Faibussowitsch   if (cond) {
111*064a246eSJacob Faibussowitsch     /* remove */
112*064a246eSJacob Faibussowitsch     PetscValidIntPointer(a,1);
113*064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b,2);
114*064a246eSJacob Faibussowitsch   } else {
115*064a246eSJacob Faibussowitsch     /* remove */
116*064a246eSJacob Faibussowitsch     PetscValidIntPointer(a,1);
117*064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b,2);
118*064a246eSJacob Faibussowitsch   }
119*064a246eSJacob Faibussowitsch   return;
120*064a246eSJacob Faibussowitsch }
121*064a246eSJacob Faibussowitsch 
122*064a246eSJacob Faibussowitsch void testNoDuplicatesIfElseIfElse(PetscInt *a, PetscScalar *b, PetscBool cond)
123*064a246eSJacob Faibussowitsch {
124*064a246eSJacob Faibussowitsch   if (cond) {
125*064a246eSJacob Faibussowitsch     /* no remove */
126*064a246eSJacob Faibussowitsch     PetscValidIntPointer(a,1);
127*064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b,2);
128*064a246eSJacob Faibussowitsch   } else if (!cond) {
129*064a246eSJacob Faibussowitsch     /* no remove */
130*064a246eSJacob Faibussowitsch     PetscValidIntPointer(a,1);
131*064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b,2);
132*064a246eSJacob Faibussowitsch   } else {
133*064a246eSJacob Faibussowitsch     /* no remove */
134*064a246eSJacob Faibussowitsch     PetscValidIntPointer(a,1);
135*064a246eSJacob Faibussowitsch     PetscValidScalarPointer(b,2);
136*064a246eSJacob Faibussowitsch   }
137*064a246eSJacob Faibussowitsch   return;
138*064a246eSJacob Faibussowitsch }
139