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*/