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; 143ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 15c4762a1bSJed Brown } 16c4762a1bSJed Brown 17d71ae5a4SJacob Faibussowitsch static PetscErrorCode TSGLLECreate_Dummy(TS ts) 18d71ae5a4SJacob Faibussowitsch { 197510d9b0SBarry Smith PetscFunctionBeginUser; 203ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 21c4762a1bSJed Brown } 22c4762a1bSJed Brown 23d71ae5a4SJacob Faibussowitsch static PetscErrorCode TSAdaptCreate_Dummy(TSAdapt ts) 24d71ae5a4SJacob Faibussowitsch { 257510d9b0SBarry Smith PetscFunctionBeginUser; 263ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 27c4762a1bSJed Brown } 28c4762a1bSJed Brown 29d71ae5a4SJacob Faibussowitsch static PetscErrorCode TSCreate_Dummy(TS ts) 30d71ae5a4SJacob Faibussowitsch { 317510d9b0SBarry Smith PetscFunctionBeginUser; 323ba16761SJacob 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; 393ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 40c4762a1bSJed Brown } 41c4762a1bSJed Brown #endif 42c4762a1bSJed Brown 43d71ae5a4SJacob Faibussowitsch static PetscErrorCode SNESLineSearchCreate_Dummy(SNESLineSearch sneslinesearch) 44d71ae5a4SJacob Faibussowitsch { 457510d9b0SBarry Smith PetscFunctionBeginUser; 463ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 47c4762a1bSJed Brown } 48c4762a1bSJed Brown 49d71ae5a4SJacob Faibussowitsch static PetscErrorCode SNESCreate_Dummy(SNES snes) 50d71ae5a4SJacob Faibussowitsch { 517510d9b0SBarry Smith PetscFunctionBeginUser; 523ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 53c4762a1bSJed Brown } 54c4762a1bSJed Brown 55d71ae5a4SJacob Faibussowitsch static PetscErrorCode KSPCreate_Dummy(KSP ksp) 56d71ae5a4SJacob Faibussowitsch { 577510d9b0SBarry Smith PetscFunctionBeginUser; 583ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 59c4762a1bSJed Brown } 60c4762a1bSJed Brown 61d71ae5a4SJacob Faibussowitsch static PetscErrorCode KSPGuessCreate_Dummy(KSPGuess ksp) 62d71ae5a4SJacob Faibussowitsch { 637510d9b0SBarry Smith PetscFunctionBeginUser; 643ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 65c4762a1bSJed Brown } 66c4762a1bSJed Brown 67d71ae5a4SJacob Faibussowitsch static PetscErrorCode PCCreate_Dummy(PC pc) 68d71ae5a4SJacob Faibussowitsch { 697510d9b0SBarry Smith PetscFunctionBeginUser; 703ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 71c4762a1bSJed Brown } 72c4762a1bSJed Brown 73d71ae5a4SJacob Faibussowitsch static PetscErrorCode DMCreate_Dummy(DM dm) 74d71ae5a4SJacob Faibussowitsch { 757510d9b0SBarry Smith PetscFunctionBeginUser; 763ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 77c4762a1bSJed Brown } 78c4762a1bSJed Brown 79d71ae5a4SJacob Faibussowitsch static PetscErrorCode MatPartitioningCreate_Dummy(MatPartitioning mat) 80d71ae5a4SJacob Faibussowitsch { 817510d9b0SBarry Smith PetscFunctionBeginUser; 823ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 83c4762a1bSJed Brown } 84c4762a1bSJed Brown 85d71ae5a4SJacob Faibussowitsch static PetscErrorCode MatCreate_Dummy(Mat mat) 86d71ae5a4SJacob Faibussowitsch { 877510d9b0SBarry Smith PetscFunctionBeginUser; 883ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 89c4762a1bSJed Brown } 90c4762a1bSJed Brown 91*2a8381b2SBarry Smith static PetscErrorCode PFCreate_Dummy(PF pf, PetscCtx ctx) 92d71ae5a4SJacob Faibussowitsch { 937510d9b0SBarry Smith PetscFunctionBeginUser; 943ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 95c4762a1bSJed Brown } 96c4762a1bSJed Brown 97d71ae5a4SJacob Faibussowitsch static PetscErrorCode VecCreate_Dummy(Vec vec) 98d71ae5a4SJacob Faibussowitsch { 997510d9b0SBarry Smith PetscFunctionBeginUser; 1003ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 101c4762a1bSJed Brown } 102c4762a1bSJed Brown 103d71ae5a4SJacob Faibussowitsch static PetscErrorCode VecScatterCreate_Dummy(VecScatter vec) 104d71ae5a4SJacob Faibussowitsch { 1057510d9b0SBarry Smith PetscFunctionBeginUser; 1063ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 107c4762a1bSJed Brown } 108c4762a1bSJed Brown 109d71ae5a4SJacob Faibussowitsch static PetscErrorCode PetscSFCreate_Dummy(PetscSF sf) 110d71ae5a4SJacob Faibussowitsch { 1117510d9b0SBarry Smith PetscFunctionBeginUser; 1123ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 113c4762a1bSJed Brown } 114c4762a1bSJed Brown 115d71ae5a4SJacob Faibussowitsch static PetscErrorCode ISLocalToGlobalMappingCreate_Dummy(ISLocalToGlobalMapping is) 116d71ae5a4SJacob Faibussowitsch { 1177510d9b0SBarry Smith PetscFunctionBeginUser; 1183ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 119c4762a1bSJed Brown } 120c4762a1bSJed Brown 121d71ae5a4SJacob Faibussowitsch static PetscErrorCode ISCreate_Dummy(IS is) 122d71ae5a4SJacob Faibussowitsch { 1237510d9b0SBarry Smith PetscFunctionBeginUser; 1243ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 125c4762a1bSJed Brown } 126c4762a1bSJed Brown 127d71ae5a4SJacob Faibussowitsch static PetscErrorCode AOCreate_Dummy(AO ao) 128d71ae5a4SJacob Faibussowitsch { 1297510d9b0SBarry Smith PetscFunctionBeginUser; 1303ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 131c4762a1bSJed Brown } 132c4762a1bSJed Brown 133d71ae5a4SJacob Faibussowitsch static PetscErrorCode PetscDrawCreate_Dummy(PetscDraw draw) 134d71ae5a4SJacob Faibussowitsch { 1357510d9b0SBarry Smith PetscFunctionBeginUser; 1363ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 137c4762a1bSJed Brown } 138c4762a1bSJed Brown 139d71ae5a4SJacob Faibussowitsch static PetscErrorCode PetscViewerCreate_Dummy(PetscViewer viewer) 140d71ae5a4SJacob Faibussowitsch { 1417510d9b0SBarry Smith PetscFunctionBeginUser; 1423ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 143c4762a1bSJed Brown } 144c4762a1bSJed Brown 145d71ae5a4SJacob Faibussowitsch static PetscErrorCode PetscRandomCreate_Dummy(PetscRandom arand) 146d71ae5a4SJacob Faibussowitsch { 1477510d9b0SBarry Smith PetscFunctionBeginUser; 1483ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 149c4762a1bSJed Brown } 150c4762a1bSJed Brown 151d71ae5a4SJacob Faibussowitsch int main(int argc, char **argv) 152d71ae5a4SJacob Faibussowitsch { 153a748edf9SJed Brown PetscReal A[1] = {0.0}, Gamma[1] = {1.0}, b[1] = {1.0}, c[1] = {1.0}, d[1] = {1.0}; 154c4762a1bSJed Brown 155327415f7SBarry Smith PetscFunctionBeginUser; 156c8025a54SPierre Jolivet PetscCall(PetscInitialize(&argc, &argv, NULL, help)); 157c4762a1bSJed Brown /* TaoLineSearchRegister() also has the same memory leak */ 158c4762a1bSJed Brown /* TaoRegister() also has the same memory leak */ 1599566063dSJacob Faibussowitsch PetscCall(TSGLLEAdaptRegister("dummy", TSGLLEAdaptCreate_Dummy)); 1609566063dSJacob Faibussowitsch PetscCall(TSGLLERegister("dummy", TSGLLECreate_Dummy)); 1619566063dSJacob Faibussowitsch PetscCall(TSRKRegister("dummy", 0, 0, A, 0, 0, 0, 0, 0)); 1629566063dSJacob Faibussowitsch PetscCall(TSGLEERegister("dummy", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)); 163a748edf9SJed Brown PetscCall(TSARKIMEXRegister("dummy", 0, 1, A, b, c, A, b, c, 0, 0, 0, 0, 0)); 1649566063dSJacob Faibussowitsch PetscCall(TSRosWRegister("dummy", 0, 1, A, Gamma, b, 0, 0, 0)); 1659566063dSJacob Faibussowitsch PetscCall(TSBasicSymplecticRegister("dummy", 0, 0, c, d)); 1669566063dSJacob Faibussowitsch PetscCall(TSAdaptRegister("dummy", TSAdaptCreate_Dummy)); 1679566063dSJacob Faibussowitsch PetscCall(TSRegister("dummy", TSCreate_Dummy)); 168c4762a1bSJed Brown #if !defined(PETSC_USE_COMPLEX) 1699566063dSJacob Faibussowitsch PetscCall(CharacteristicRegister("dummy", CharacteristicCreate_Dummy)); 170c4762a1bSJed Brown #endif 1719566063dSJacob Faibussowitsch PetscCall(SNESLineSearchRegister("dummy", SNESLineSearchCreate_Dummy)); 1729566063dSJacob Faibussowitsch PetscCall(SNESRegister("dummy", SNESCreate_Dummy)); 1739566063dSJacob Faibussowitsch PetscCall(KSPGuessRegister("dummy", KSPGuessCreate_Dummy)); 1749566063dSJacob Faibussowitsch PetscCall(KSPRegister("dummy", KSPCreate_Dummy)); 1759566063dSJacob Faibussowitsch PetscCall(PCRegister("dummy", PCCreate_Dummy)); 1769566063dSJacob Faibussowitsch PetscCall(DMRegister("dummy", DMCreate_Dummy)); 1779566063dSJacob Faibussowitsch PetscCall(MatPartitioningRegister("dummy", MatPartitioningCreate_Dummy)); 1789566063dSJacob Faibussowitsch PetscCall(MatRegister("dummy", MatCreate_Dummy)); 1799566063dSJacob Faibussowitsch PetscCall(PFRegister("dummy", PFCreate_Dummy)); 1809566063dSJacob Faibussowitsch PetscCall(VecScatterRegister("dummy", VecScatterCreate_Dummy)); 1819566063dSJacob Faibussowitsch PetscCall(VecRegister("dummy", VecCreate_Dummy)); 1829566063dSJacob Faibussowitsch PetscCall(PetscSFRegister("dummy", PetscSFCreate_Dummy)); 1839566063dSJacob Faibussowitsch PetscCall(ISLocalToGlobalMappingRegister("dummy", ISLocalToGlobalMappingCreate_Dummy)); 1849566063dSJacob Faibussowitsch PetscCall(ISRegister("dummy", ISCreate_Dummy)); 1859566063dSJacob Faibussowitsch PetscCall(AORegister("dummy", AOCreate_Dummy)); 1869566063dSJacob Faibussowitsch PetscCall(PetscDrawRegister("dummy", PetscDrawCreate_Dummy)); 1879566063dSJacob Faibussowitsch PetscCall(PetscViewerRegister("dummy", PetscViewerCreate_Dummy)); 1889566063dSJacob Faibussowitsch PetscCall(PetscRandomRegister("dummy", PetscRandomCreate_Dummy)); 1899566063dSJacob Faibussowitsch PetscCall(PetscFinalize()); 190b122ec5aSJacob Faibussowitsch return 0; 191c4762a1bSJed Brown } 192c4762a1bSJed Brown 193c4762a1bSJed Brown /*TEST 194c4762a1bSJed Brown 195c4762a1bSJed Brown test: 1963886731fSPierre Jolivet output_file: output/empty.out 197c4762a1bSJed Brown 198c4762a1bSJed Brown TEST*/ 199