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 11d71ae5a4SJacob Faibussowitsch static PetscErrorCode TSGLLEAdaptCreate_Dummy(TSGLLEAdapt ts) 12d71ae5a4SJacob Faibussowitsch { 137510d9b0SBarry Smith PetscFunctionBeginUser; 14*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 15c4762a1bSJed Brown } 16c4762a1bSJed Brown 17d71ae5a4SJacob Faibussowitsch static PetscErrorCode TSGLLECreate_Dummy(TS ts) 18d71ae5a4SJacob Faibussowitsch { 197510d9b0SBarry Smith PetscFunctionBeginUser; 20*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 21c4762a1bSJed Brown } 22c4762a1bSJed Brown 23d71ae5a4SJacob Faibussowitsch static PetscErrorCode TSAdaptCreate_Dummy(TSAdapt ts) 24d71ae5a4SJacob Faibussowitsch { 257510d9b0SBarry Smith PetscFunctionBeginUser; 26*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 27c4762a1bSJed Brown } 28c4762a1bSJed Brown 29d71ae5a4SJacob Faibussowitsch static PetscErrorCode TSCreate_Dummy(TS ts) 30d71ae5a4SJacob Faibussowitsch { 317510d9b0SBarry Smith PetscFunctionBeginUser; 32*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 33c4762a1bSJed Brown } 34c4762a1bSJed Brown 35c4762a1bSJed Brown #if !defined(PETSC_USE_COMPLEX) 36d71ae5a4SJacob Faibussowitsch static PetscErrorCode CharacteristicCreate_Dummy(Characteristic chr) 37d71ae5a4SJacob Faibussowitsch { 387510d9b0SBarry Smith PetscFunctionBeginUser; 39*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 40c4762a1bSJed Brown } 41c4762a1bSJed Brown #endif 42c4762a1bSJed Brown 43d71ae5a4SJacob Faibussowitsch static PetscErrorCode SNESLineSearchCreate_Dummy(SNESLineSearch sneslinesearch) 44d71ae5a4SJacob Faibussowitsch { 457510d9b0SBarry Smith PetscFunctionBeginUser; 46*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 47c4762a1bSJed Brown } 48c4762a1bSJed Brown 49d71ae5a4SJacob Faibussowitsch static PetscErrorCode SNESCreate_Dummy(SNES snes) 50d71ae5a4SJacob Faibussowitsch { 517510d9b0SBarry Smith PetscFunctionBeginUser; 52*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 53c4762a1bSJed Brown } 54c4762a1bSJed Brown 55d71ae5a4SJacob Faibussowitsch static PetscErrorCode KSPCreate_Dummy(KSP ksp) 56d71ae5a4SJacob Faibussowitsch { 577510d9b0SBarry Smith PetscFunctionBeginUser; 58*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 59c4762a1bSJed Brown } 60c4762a1bSJed Brown 61d71ae5a4SJacob Faibussowitsch static PetscErrorCode KSPGuessCreate_Dummy(KSPGuess ksp) 62d71ae5a4SJacob Faibussowitsch { 637510d9b0SBarry Smith PetscFunctionBeginUser; 64*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 65c4762a1bSJed Brown } 66c4762a1bSJed Brown 67d71ae5a4SJacob Faibussowitsch static PetscErrorCode PCCreate_Dummy(PC pc) 68d71ae5a4SJacob Faibussowitsch { 697510d9b0SBarry Smith PetscFunctionBeginUser; 70*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 71c4762a1bSJed Brown } 72c4762a1bSJed Brown 73d71ae5a4SJacob Faibussowitsch static PetscErrorCode DMCreate_Dummy(DM dm) 74d71ae5a4SJacob Faibussowitsch { 757510d9b0SBarry Smith PetscFunctionBeginUser; 76*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 77c4762a1bSJed Brown } 78c4762a1bSJed Brown 79d71ae5a4SJacob Faibussowitsch static PetscErrorCode MatOrderingCreate_Dummy(Mat mat, MatOrderingType mtype, IS *isr, IS *isc) 80d71ae5a4SJacob Faibussowitsch { 817510d9b0SBarry Smith PetscFunctionBeginUser; 82*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 83c4762a1bSJed Brown } 84c4762a1bSJed Brown 85d71ae5a4SJacob Faibussowitsch static PetscErrorCode MatPartitioningCreate_Dummy(MatPartitioning mat) 86d71ae5a4SJacob Faibussowitsch { 877510d9b0SBarry Smith PetscFunctionBeginUser; 88*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 89c4762a1bSJed Brown } 90c4762a1bSJed Brown 91d71ae5a4SJacob Faibussowitsch static PetscErrorCode MatCreate_Dummy(Mat mat) 92d71ae5a4SJacob Faibussowitsch { 937510d9b0SBarry Smith PetscFunctionBeginUser; 94*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 95c4762a1bSJed Brown } 96c4762a1bSJed Brown 97d71ae5a4SJacob Faibussowitsch static PetscErrorCode PFCreate_Dummy(PF pf, void *ctx) 98d71ae5a4SJacob Faibussowitsch { 997510d9b0SBarry Smith PetscFunctionBeginUser; 100*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 101c4762a1bSJed Brown } 102c4762a1bSJed Brown 103d71ae5a4SJacob Faibussowitsch static PetscErrorCode VecCreate_Dummy(Vec vec) 104d71ae5a4SJacob Faibussowitsch { 1057510d9b0SBarry Smith PetscFunctionBeginUser; 106*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 107c4762a1bSJed Brown } 108c4762a1bSJed Brown 109d71ae5a4SJacob Faibussowitsch static PetscErrorCode VecScatterCreate_Dummy(VecScatter vec) 110d71ae5a4SJacob Faibussowitsch { 1117510d9b0SBarry Smith PetscFunctionBeginUser; 112*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 113c4762a1bSJed Brown } 114c4762a1bSJed Brown 115d71ae5a4SJacob Faibussowitsch static PetscErrorCode PetscSFCreate_Dummy(PetscSF sf) 116d71ae5a4SJacob Faibussowitsch { 1177510d9b0SBarry Smith PetscFunctionBeginUser; 118*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 119c4762a1bSJed Brown } 120c4762a1bSJed Brown 121d71ae5a4SJacob Faibussowitsch static PetscErrorCode ISLocalToGlobalMappingCreate_Dummy(ISLocalToGlobalMapping is) 122d71ae5a4SJacob Faibussowitsch { 1237510d9b0SBarry Smith PetscFunctionBeginUser; 124*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 125c4762a1bSJed Brown } 126c4762a1bSJed Brown 127d71ae5a4SJacob Faibussowitsch static PetscErrorCode ISCreate_Dummy(IS is) 128d71ae5a4SJacob Faibussowitsch { 1297510d9b0SBarry Smith PetscFunctionBeginUser; 130*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 131c4762a1bSJed Brown } 132c4762a1bSJed Brown 133d71ae5a4SJacob Faibussowitsch static PetscErrorCode AOCreate_Dummy(AO ao) 134d71ae5a4SJacob Faibussowitsch { 1357510d9b0SBarry Smith PetscFunctionBeginUser; 136*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 137c4762a1bSJed Brown } 138c4762a1bSJed Brown 139d71ae5a4SJacob Faibussowitsch static PetscErrorCode PetscDrawCreate_Dummy(PetscDraw draw) 140d71ae5a4SJacob Faibussowitsch { 1417510d9b0SBarry Smith PetscFunctionBeginUser; 142*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 143c4762a1bSJed Brown } 144c4762a1bSJed Brown 145d71ae5a4SJacob Faibussowitsch static PetscErrorCode PetscViewerCreate_Dummy(PetscViewer viewer) 146d71ae5a4SJacob Faibussowitsch { 1477510d9b0SBarry Smith PetscFunctionBeginUser; 148*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 149c4762a1bSJed Brown } 150c4762a1bSJed Brown 151d71ae5a4SJacob Faibussowitsch static PetscErrorCode PetscRandomCreate_Dummy(PetscRandom arand) 152d71ae5a4SJacob Faibussowitsch { 1537510d9b0SBarry Smith PetscFunctionBeginUser; 154*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 155c4762a1bSJed Brown } 156c4762a1bSJed Brown 157d71ae5a4SJacob Faibussowitsch int main(int argc, char **argv) 158d71ae5a4SJacob Faibussowitsch { 159c4762a1bSJed Brown PetscReal A[1], Gamma[1] = {1.0}, b[1], c[1], d[1]; 160c4762a1bSJed Brown 161327415f7SBarry Smith PetscFunctionBeginUser; 1629566063dSJacob Faibussowitsch PetscCall(PetscInitialize(&argc, &argv, (char *)0, help)); 163c4762a1bSJed Brown /* TaoLineSearchRegister() also has the same memory leak */ 164c4762a1bSJed Brown /* TaoRegister() also has the same memory leak */ 1659566063dSJacob Faibussowitsch PetscCall(TSGLLEAdaptRegister("dummy", TSGLLEAdaptCreate_Dummy)); 1669566063dSJacob Faibussowitsch PetscCall(TSGLLERegister("dummy", TSGLLECreate_Dummy)); 1679566063dSJacob Faibussowitsch PetscCall(TSRKRegister("dummy", 0, 0, A, 0, 0, 0, 0, 0)); 1689566063dSJacob Faibussowitsch PetscCall(TSGLEERegister("dummy", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)); 1699566063dSJacob Faibussowitsch PetscCall(TSARKIMEXRegister("dummy", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)); 1709566063dSJacob Faibussowitsch PetscCall(TSRosWRegister("dummy", 0, 1, A, Gamma, b, 0, 0, 0)); 1719566063dSJacob Faibussowitsch PetscCall(TSBasicSymplecticRegister("dummy", 0, 0, c, d)); 1729566063dSJacob Faibussowitsch PetscCall(TSAdaptRegister("dummy", TSAdaptCreate_Dummy)); 1739566063dSJacob Faibussowitsch PetscCall(TSRegister("dummy", TSCreate_Dummy)); 174c4762a1bSJed Brown #if !defined(PETSC_USE_COMPLEX) 1759566063dSJacob Faibussowitsch PetscCall(CharacteristicRegister("dummy", CharacteristicCreate_Dummy)); 176c4762a1bSJed Brown #endif 1779566063dSJacob Faibussowitsch PetscCall(SNESLineSearchRegister("dummy", SNESLineSearchCreate_Dummy)); 1789566063dSJacob Faibussowitsch PetscCall(SNESRegister("dummy", SNESCreate_Dummy)); 1799566063dSJacob Faibussowitsch PetscCall(KSPGuessRegister("dummy", KSPGuessCreate_Dummy)); 1809566063dSJacob Faibussowitsch PetscCall(KSPRegister("dummy", KSPCreate_Dummy)); 1819566063dSJacob Faibussowitsch PetscCall(PCRegister("dummy", PCCreate_Dummy)); 1829566063dSJacob Faibussowitsch PetscCall(DMRegister("dummy", DMCreate_Dummy)); 1839566063dSJacob Faibussowitsch PetscCall(MatOrderingRegister("dummy", MatOrderingCreate_Dummy)); 1849566063dSJacob Faibussowitsch PetscCall(MatPartitioningRegister("dummy", MatPartitioningCreate_Dummy)); 1859566063dSJacob Faibussowitsch PetscCall(MatRegister("dummy", MatCreate_Dummy)); 1869566063dSJacob Faibussowitsch PetscCall(PFRegister("dummy", PFCreate_Dummy)); 1879566063dSJacob Faibussowitsch PetscCall(VecScatterRegister("dummy", VecScatterCreate_Dummy)); 1889566063dSJacob Faibussowitsch PetscCall(VecRegister("dummy", VecCreate_Dummy)); 1899566063dSJacob Faibussowitsch PetscCall(PetscSFRegister("dummy", PetscSFCreate_Dummy)); 1909566063dSJacob Faibussowitsch PetscCall(ISLocalToGlobalMappingRegister("dummy", ISLocalToGlobalMappingCreate_Dummy)); 1919566063dSJacob Faibussowitsch PetscCall(ISRegister("dummy", ISCreate_Dummy)); 1929566063dSJacob Faibussowitsch PetscCall(AORegister("dummy", AOCreate_Dummy)); 1939566063dSJacob Faibussowitsch PetscCall(PetscDrawRegister("dummy", PetscDrawCreate_Dummy)); 1949566063dSJacob Faibussowitsch PetscCall(PetscViewerRegister("dummy", PetscViewerCreate_Dummy)); 1959566063dSJacob Faibussowitsch PetscCall(PetscRandomRegister("dummy", PetscRandomCreate_Dummy)); 1969566063dSJacob Faibussowitsch PetscCall(PetscFinalize()); 197b122ec5aSJacob Faibussowitsch return 0; 198c4762a1bSJed Brown } 199c4762a1bSJed Brown 200c4762a1bSJed Brown /*TEST 201c4762a1bSJed Brown 202c4762a1bSJed Brown test: 203c4762a1bSJed Brown 204c4762a1bSJed Brown TEST*/ 205