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