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