Actual source code: ex11.c

  1: static char help[] = "Demonstrates previous memory leak for XXXRegister()\n\n";

  3: #include <petscts.h>
  4: #include <petsccharacteristic.h>
  5: #include <petscdraw.h>
  6: #include <petscdm.h>
  7: #include <petscpf.h>
  8: #include <petscsf.h>
  9: #include <petscao.h>

 11: static PetscErrorCode TSGLLEAdaptCreate_Dummy(TSGLLEAdapt ts)
 12: {
 14:   return 0;
 15: }

 17: static PetscErrorCode TSGLLECreate_Dummy(TS ts)
 18: {
 20:   return 0;
 21: }

 23: static PetscErrorCode TSAdaptCreate_Dummy(TSAdapt ts)
 24: {
 26:   return 0;
 27: }

 29: static PetscErrorCode TSCreate_Dummy(TS ts)
 30: {
 32:   return 0;
 33: }

 35: #if !defined(PETSC_USE_COMPLEX)
 36: static PetscErrorCode CharacteristicCreate_Dummy(Characteristic chr)
 37: {
 39:   return 0;
 40: }
 41: #endif

 43: static PetscErrorCode SNESLineSearchCreate_Dummy(SNESLineSearch sneslinesearch)
 44: {
 46:   return 0;
 47: }

 49: static PetscErrorCode SNESCreate_Dummy(SNES snes)
 50: {
 52:   return 0;
 53: }

 55: static PetscErrorCode KSPCreate_Dummy(KSP ksp)
 56: {
 58:   return 0;
 59: }

 61: static PetscErrorCode KSPGuessCreate_Dummy(KSPGuess ksp)
 62: {
 64:   return 0;
 65: }

 67: static PetscErrorCode PCCreate_Dummy(PC pc)
 68: {
 70:   return 0;
 71: }

 73: static PetscErrorCode DMCreate_Dummy(DM dm)
 74: {
 76:   return 0;
 77: }

 79: static PetscErrorCode MatOrderingCreate_Dummy(Mat mat, MatOrderingType mtype, IS *isr, IS *isc)
 80: {
 82:   return 0;
 83: }

 85: static PetscErrorCode MatPartitioningCreate_Dummy(MatPartitioning mat)
 86: {
 88:   return 0;
 89: }

 91: static PetscErrorCode MatCreate_Dummy(Mat mat)
 92: {
 94:   return 0;
 95: }

 97: static PetscErrorCode PFCreate_Dummy(PF pf, void *ctx)
 98: {
100:   return 0;
101: }

103: static PetscErrorCode VecCreate_Dummy(Vec vec)
104: {
106:   return 0;
107: }

109: static PetscErrorCode VecScatterCreate_Dummy(VecScatter vec)
110: {
112:   return 0;
113: }

115: static PetscErrorCode PetscSFCreate_Dummy(PetscSF sf)
116: {
118:   return 0;
119: }

121: static PetscErrorCode ISLocalToGlobalMappingCreate_Dummy(ISLocalToGlobalMapping is)
122: {
124:   return 0;
125: }

127: static PetscErrorCode ISCreate_Dummy(IS is)
128: {
130:   return 0;
131: }

133: static PetscErrorCode AOCreate_Dummy(AO ao)
134: {
136:   return 0;
137: }

139: static PetscErrorCode PetscDrawCreate_Dummy(PetscDraw draw)
140: {
142:   return 0;
143: }

145: static PetscErrorCode PetscViewerCreate_Dummy(PetscViewer viewer)
146: {
148:   return 0;
149: }

151: static PetscErrorCode PetscRandomCreate_Dummy(PetscRandom arand)
152: {
154:   return 0;
155: }

157: int main(int argc, char **argv)
158: {
159:   PetscReal A[1], Gamma[1] = {1.0}, b[1], c[1], d[1];

162:   PetscInitialize(&argc, &argv, (char *)0, help);
163:   /* TaoLineSearchRegister() also has the same memory leak */
164:   /* TaoRegister() also has the same memory leak */
165:   TSGLLEAdaptRegister("dummy", TSGLLEAdaptCreate_Dummy);
166:   TSGLLERegister("dummy", TSGLLECreate_Dummy);
167:   TSRKRegister("dummy", 0, 0, A, 0, 0, 0, 0, 0);
168:   TSGLEERegister("dummy", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
169:   TSARKIMEXRegister("dummy", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
170:   TSRosWRegister("dummy", 0, 1, A, Gamma, b, 0, 0, 0);
171:   TSBasicSymplecticRegister("dummy", 0, 0, c, d);
172:   TSAdaptRegister("dummy", TSAdaptCreate_Dummy);
173:   TSRegister("dummy", TSCreate_Dummy);
174: #if !defined(PETSC_USE_COMPLEX)
175:   CharacteristicRegister("dummy", CharacteristicCreate_Dummy);
176: #endif
177:   SNESLineSearchRegister("dummy", SNESLineSearchCreate_Dummy);
178:   SNESRegister("dummy", SNESCreate_Dummy);
179:   KSPGuessRegister("dummy", KSPGuessCreate_Dummy);
180:   KSPRegister("dummy", KSPCreate_Dummy);
181:   PCRegister("dummy", PCCreate_Dummy);
182:   DMRegister("dummy", DMCreate_Dummy);
183:   MatOrderingRegister("dummy", MatOrderingCreate_Dummy);
184:   MatPartitioningRegister("dummy", MatPartitioningCreate_Dummy);
185:   MatRegister("dummy", MatCreate_Dummy);
186:   PFRegister("dummy", PFCreate_Dummy);
187:   VecScatterRegister("dummy", VecScatterCreate_Dummy);
188:   VecRegister("dummy", VecCreate_Dummy);
189:   PetscSFRegister("dummy", PetscSFCreate_Dummy);
190:   ISLocalToGlobalMappingRegister("dummy", ISLocalToGlobalMappingCreate_Dummy);
191:   ISRegister("dummy", ISCreate_Dummy);
192:   AORegister("dummy", AOCreate_Dummy);
193:   PetscDrawRegister("dummy", PetscDrawCreate_Dummy);
194:   PetscViewerRegister("dummy", PetscViewerCreate_Dummy);
195:   PetscRandomRegister("dummy", PetscRandomCreate_Dummy);
196:   PetscFinalize();
197:   return 0;
198: }

200: /*TEST

202:    test:

204: TEST*/