1*c4762a1bSJed Brown static char help[] = "Demonstrates previous memory leak for XXXRegister()\n\n"; 2*c4762a1bSJed Brown 3*c4762a1bSJed Brown #include <petscts.h> 4*c4762a1bSJed Brown #include <petsccharacteristic.h> 5*c4762a1bSJed Brown #include <petscdraw.h> 6*c4762a1bSJed Brown #include <petscdm.h> 7*c4762a1bSJed Brown #include <petscpf.h> 8*c4762a1bSJed Brown #include <petscsf.h> 9*c4762a1bSJed Brown #include <petscao.h> 10*c4762a1bSJed Brown 11*c4762a1bSJed Brown static PetscErrorCode TSGLLEAdaptCreate_Dummy(TSGLLEAdapt ts) 12*c4762a1bSJed Brown { 13*c4762a1bSJed Brown PetscFunctionBegin; 14*c4762a1bSJed Brown PetscFunctionReturn(0); 15*c4762a1bSJed Brown } 16*c4762a1bSJed Brown 17*c4762a1bSJed Brown static PetscErrorCode TSGLLECreate_Dummy(TS ts) 18*c4762a1bSJed Brown { 19*c4762a1bSJed Brown PetscFunctionBegin; 20*c4762a1bSJed Brown PetscFunctionReturn(0); 21*c4762a1bSJed Brown } 22*c4762a1bSJed Brown 23*c4762a1bSJed Brown static PetscErrorCode TSAdaptCreate_Dummy(TSAdapt ts) 24*c4762a1bSJed Brown { 25*c4762a1bSJed Brown PetscFunctionBegin; 26*c4762a1bSJed Brown PetscFunctionReturn(0); 27*c4762a1bSJed Brown } 28*c4762a1bSJed Brown 29*c4762a1bSJed Brown static PetscErrorCode TSCreate_Dummy(TS ts) 30*c4762a1bSJed Brown { 31*c4762a1bSJed Brown PetscFunctionBegin; 32*c4762a1bSJed Brown PetscFunctionReturn(0); 33*c4762a1bSJed Brown } 34*c4762a1bSJed Brown 35*c4762a1bSJed Brown #if !defined(PETSC_USE_COMPLEX) 36*c4762a1bSJed Brown static PetscErrorCode CharacteristicCreate_Dummy(Characteristic chr) 37*c4762a1bSJed Brown { 38*c4762a1bSJed Brown PetscFunctionBegin; 39*c4762a1bSJed Brown PetscFunctionReturn(0); 40*c4762a1bSJed Brown } 41*c4762a1bSJed Brown #endif 42*c4762a1bSJed Brown 43*c4762a1bSJed Brown static PetscErrorCode SNESLineSearchCreate_Dummy(SNESLineSearch sneslinesearch) 44*c4762a1bSJed Brown { 45*c4762a1bSJed Brown PetscFunctionBegin; 46*c4762a1bSJed Brown PetscFunctionReturn(0); 47*c4762a1bSJed Brown } 48*c4762a1bSJed Brown 49*c4762a1bSJed Brown static PetscErrorCode SNESCreate_Dummy(SNES snes) 50*c4762a1bSJed Brown { 51*c4762a1bSJed Brown PetscFunctionBegin; 52*c4762a1bSJed Brown PetscFunctionReturn(0); 53*c4762a1bSJed Brown } 54*c4762a1bSJed Brown 55*c4762a1bSJed Brown static PetscErrorCode KSPCreate_Dummy(KSP ksp) 56*c4762a1bSJed Brown { 57*c4762a1bSJed Brown PetscFunctionBegin; 58*c4762a1bSJed Brown PetscFunctionReturn(0); 59*c4762a1bSJed Brown } 60*c4762a1bSJed Brown 61*c4762a1bSJed Brown static PetscErrorCode KSPGuessCreate_Dummy(KSPGuess ksp) 62*c4762a1bSJed Brown { 63*c4762a1bSJed Brown PetscFunctionBegin; 64*c4762a1bSJed Brown PetscFunctionReturn(0); 65*c4762a1bSJed Brown } 66*c4762a1bSJed Brown 67*c4762a1bSJed Brown static PetscErrorCode PCCreate_Dummy(PC pc) 68*c4762a1bSJed Brown { 69*c4762a1bSJed Brown PetscFunctionBegin; 70*c4762a1bSJed Brown PetscFunctionReturn(0); 71*c4762a1bSJed Brown } 72*c4762a1bSJed Brown 73*c4762a1bSJed Brown static PetscErrorCode DMCreate_Dummy(DM dm) 74*c4762a1bSJed Brown { 75*c4762a1bSJed Brown PetscFunctionBegin; 76*c4762a1bSJed Brown PetscFunctionReturn(0); 77*c4762a1bSJed Brown } 78*c4762a1bSJed Brown 79*c4762a1bSJed Brown static PetscErrorCode MatOrderingCreate_Dummy(Mat mat,MatOrderingType mtype,IS *isr,IS *isc) 80*c4762a1bSJed Brown { 81*c4762a1bSJed Brown PetscFunctionBegin; 82*c4762a1bSJed Brown PetscFunctionReturn(0); 83*c4762a1bSJed Brown } 84*c4762a1bSJed Brown 85*c4762a1bSJed Brown static PetscErrorCode MatPartitioningCreate_Dummy(MatPartitioning mat) 86*c4762a1bSJed Brown { 87*c4762a1bSJed Brown PetscFunctionBegin; 88*c4762a1bSJed Brown PetscFunctionReturn(0); 89*c4762a1bSJed Brown } 90*c4762a1bSJed Brown 91*c4762a1bSJed Brown static PetscErrorCode MatCreate_Dummy(Mat mat) 92*c4762a1bSJed Brown { 93*c4762a1bSJed Brown PetscFunctionBegin; 94*c4762a1bSJed Brown PetscFunctionReturn(0); 95*c4762a1bSJed Brown } 96*c4762a1bSJed Brown 97*c4762a1bSJed Brown static PetscErrorCode PFCreate_Dummy(PF pf,void *ctx) 98*c4762a1bSJed Brown { 99*c4762a1bSJed Brown PetscFunctionBegin; 100*c4762a1bSJed Brown PetscFunctionReturn(0); 101*c4762a1bSJed Brown } 102*c4762a1bSJed Brown 103*c4762a1bSJed Brown static PetscErrorCode VecCreate_Dummy(Vec vec) 104*c4762a1bSJed Brown { 105*c4762a1bSJed Brown PetscFunctionBegin; 106*c4762a1bSJed Brown PetscFunctionReturn(0); 107*c4762a1bSJed Brown } 108*c4762a1bSJed Brown 109*c4762a1bSJed Brown static PetscErrorCode VecScatterCreate_Dummy(VecScatter vec) 110*c4762a1bSJed Brown { 111*c4762a1bSJed Brown PetscFunctionBegin; 112*c4762a1bSJed Brown PetscFunctionReturn(0); 113*c4762a1bSJed Brown } 114*c4762a1bSJed Brown 115*c4762a1bSJed Brown static PetscErrorCode PetscSFCreate_Dummy(PetscSF sf) 116*c4762a1bSJed Brown { 117*c4762a1bSJed Brown PetscFunctionBegin; 118*c4762a1bSJed Brown PetscFunctionReturn(0); 119*c4762a1bSJed Brown } 120*c4762a1bSJed Brown 121*c4762a1bSJed Brown static PetscErrorCode ISLocalToGlobalMappingCreate_Dummy(ISLocalToGlobalMapping is) 122*c4762a1bSJed Brown { 123*c4762a1bSJed Brown PetscFunctionBegin; 124*c4762a1bSJed Brown PetscFunctionReturn(0); 125*c4762a1bSJed Brown } 126*c4762a1bSJed Brown 127*c4762a1bSJed Brown static PetscErrorCode ISCreate_Dummy(IS is) 128*c4762a1bSJed Brown { 129*c4762a1bSJed Brown PetscFunctionBegin; 130*c4762a1bSJed Brown PetscFunctionReturn(0); 131*c4762a1bSJed Brown } 132*c4762a1bSJed Brown 133*c4762a1bSJed Brown static PetscErrorCode AOCreate_Dummy(AO ao) 134*c4762a1bSJed Brown { 135*c4762a1bSJed Brown PetscFunctionBegin; 136*c4762a1bSJed Brown PetscFunctionReturn(0); 137*c4762a1bSJed Brown } 138*c4762a1bSJed Brown 139*c4762a1bSJed Brown static PetscErrorCode PetscDrawCreate_Dummy(PetscDraw draw) 140*c4762a1bSJed Brown { 141*c4762a1bSJed Brown PetscFunctionBegin; 142*c4762a1bSJed Brown PetscFunctionReturn(0); 143*c4762a1bSJed Brown } 144*c4762a1bSJed Brown 145*c4762a1bSJed Brown static PetscErrorCode PetscViewerCreate_Dummy(PetscViewer viewer) 146*c4762a1bSJed Brown { 147*c4762a1bSJed Brown PetscFunctionBegin; 148*c4762a1bSJed Brown PetscFunctionReturn(0); 149*c4762a1bSJed Brown } 150*c4762a1bSJed Brown 151*c4762a1bSJed Brown static PetscErrorCode PetscRandomCreate_Dummy(PetscRandom arand) 152*c4762a1bSJed Brown { 153*c4762a1bSJed Brown PetscFunctionBegin; 154*c4762a1bSJed Brown PetscFunctionReturn(0); 155*c4762a1bSJed Brown } 156*c4762a1bSJed Brown 157*c4762a1bSJed Brown int main(int argc,char **argv) 158*c4762a1bSJed Brown { 159*c4762a1bSJed Brown PetscErrorCode ierr; 160*c4762a1bSJed Brown PetscReal A[1],Gamma[1] = {1.0},b[1],c[1],d[1]; 161*c4762a1bSJed Brown 162*c4762a1bSJed Brown ierr = PetscInitialize(&argc,&argv,(char*)0,help);if (ierr) return ierr; 163*c4762a1bSJed Brown /* TaoLineSearchRegister() also has the same memory leak */ 164*c4762a1bSJed Brown /* TaoRegister() also has the same memory leak */ 165*c4762a1bSJed Brown ierr = TSGLLEAdaptRegister("dummy",TSGLLEAdaptCreate_Dummy);CHKERRQ(ierr); 166*c4762a1bSJed Brown ierr = TSGLLERegister("dummy",TSGLLECreate_Dummy);CHKERRQ(ierr); 167*c4762a1bSJed Brown ierr = TSRKRegister("dummy",0,0,A,0,0,0,0,0);CHKERRQ(ierr); 168*c4762a1bSJed Brown ierr = TSGLEERegister("dummy",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);CHKERRQ(ierr); 169*c4762a1bSJed Brown ierr = TSARKIMEXRegister("dummy",0,0,0,0,0,0,0,0,0,0,0,0,0);CHKERRQ(ierr); 170*c4762a1bSJed Brown ierr = TSRosWRegister("dummy",0,1,A,Gamma,b,0,0,0);CHKERRQ(ierr); 171*c4762a1bSJed Brown ierr = TSBasicSymplecticRegister("dummy",0,0,c,d);CHKERRQ(ierr); 172*c4762a1bSJed Brown ierr = TSAdaptRegister("dummy",TSAdaptCreate_Dummy);CHKERRQ(ierr); 173*c4762a1bSJed Brown ierr = TSRegister("dummy",TSCreate_Dummy);CHKERRQ(ierr); 174*c4762a1bSJed Brown #if !defined(PETSC_USE_COMPLEX) 175*c4762a1bSJed Brown ierr = CharacteristicRegister("dummy",CharacteristicCreate_Dummy);CHKERRQ(ierr); 176*c4762a1bSJed Brown #endif 177*c4762a1bSJed Brown ierr = SNESLineSearchRegister("dummy",SNESLineSearchCreate_Dummy);CHKERRQ(ierr); 178*c4762a1bSJed Brown ierr = SNESRegister("dummy",SNESCreate_Dummy);CHKERRQ(ierr); 179*c4762a1bSJed Brown ierr = KSPGuessRegister("dummy",KSPGuessCreate_Dummy);CHKERRQ(ierr); 180*c4762a1bSJed Brown ierr = KSPRegister("dummy",KSPCreate_Dummy);CHKERRQ(ierr); 181*c4762a1bSJed Brown ierr = PCRegister("dummy",PCCreate_Dummy);CHKERRQ(ierr); 182*c4762a1bSJed Brown ierr = DMRegister("dummy",DMCreate_Dummy);CHKERRQ(ierr); 183*c4762a1bSJed Brown ierr = MatOrderingRegister("dummy",MatOrderingCreate_Dummy);CHKERRQ(ierr); 184*c4762a1bSJed Brown ierr = MatPartitioningRegister("dummy",MatPartitioningCreate_Dummy);CHKERRQ(ierr); 185*c4762a1bSJed Brown ierr = MatRegister("dummy",MatCreate_Dummy);CHKERRQ(ierr); 186*c4762a1bSJed Brown ierr = PFRegister("dummy",PFCreate_Dummy);CHKERRQ(ierr); 187*c4762a1bSJed Brown ierr = VecScatterRegister("dummy",VecScatterCreate_Dummy);CHKERRQ(ierr); 188*c4762a1bSJed Brown ierr = VecRegister("dummy",VecCreate_Dummy);CHKERRQ(ierr); 189*c4762a1bSJed Brown ierr = PetscSFRegister("dummy",PetscSFCreate_Dummy);CHKERRQ(ierr); 190*c4762a1bSJed Brown ierr = ISLocalToGlobalMappingRegister("dummy",ISLocalToGlobalMappingCreate_Dummy);CHKERRQ(ierr); 191*c4762a1bSJed Brown ierr = ISRegister("dummy",ISCreate_Dummy);CHKERRQ(ierr); 192*c4762a1bSJed Brown ierr = AORegister("dummy",AOCreate_Dummy);CHKERRQ(ierr); 193*c4762a1bSJed Brown ierr = PetscDrawRegister("dummy",PetscDrawCreate_Dummy);CHKERRQ(ierr); 194*c4762a1bSJed Brown ierr = PetscViewerRegister("dummy",PetscViewerCreate_Dummy);CHKERRQ(ierr); 195*c4762a1bSJed Brown ierr = PetscRandomRegister("dummy",PetscRandomCreate_Dummy);CHKERRQ(ierr); 196*c4762a1bSJed Brown ierr = PetscFinalize(); 197*c4762a1bSJed Brown return ierr; 198*c4762a1bSJed Brown } 199*c4762a1bSJed Brown 200*c4762a1bSJed Brown /*TEST 201*c4762a1bSJed Brown 202*c4762a1bSJed Brown test: 203*c4762a1bSJed Brown 204*c4762a1bSJed Brown TEST*/ 205*c4762a1bSJed Brown 206