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