@@ -117,44 +117,50 @@ open("gen_consts.c","w") do f
117
117
int main(int argc, char *argv[]) {
118
118
MPI_Init(&argc, &argv);
119
119
120
+ FILE *fptr;
121
+ fptr = fopen("consts.jl", "w");
122
+
123
+ fprintf(fptr, "# This file is automatically generated\\ n");
124
+ fprintf(fptr, "# Do not edit\\ n");
120
125
""" )
121
126
122
- println (f," printf( \" const MPI_Status_size = %d\\ n\" , (int)sizeof(MPI_Status));" )
123
- println (f," printf( \" const MPI_Status_Source_offset = %d\\ n\" , (int)offsetof(MPI_Status, MPI_SOURCE));" )
124
- println (f," printf( \" const MPI_Status_Tag_offset = %d\\ n\" , (int)offsetof(MPI_Status, MPI_TAG));" )
125
- println (f," printf( \" const MPI_Status_Error_offset = %d\\ n\" , (int)offsetof(MPI_Status, MPI_ERROR));" )
127
+ println (f," fprintf(fptr, \" const MPI_Status_size = %d\\ n\" , (int)sizeof(MPI_Status));" )
128
+ println (f," fprintf(fptr, \" const MPI_Status_Source_offset = %d\\ n\" , (int)offsetof(MPI_Status, MPI_SOURCE));" )
129
+ println (f," fprintf(fptr, \" const MPI_Status_Tag_offset = %d\\ n\" , (int)offsetof(MPI_Status, MPI_TAG));" )
130
+ println (f," fprintf(fptr, \" const MPI_Status_Error_offset = %d\\ n\" , (int)offsetof(MPI_Status, MPI_ERROR));" )
126
131
127
132
for (T,constants) in MPI_handle
128
- println (f," printf( \" primitive type $T %d end\\ n\" , (int)(sizeof($T ) * 8));" )
133
+ println (f," fprintf(fptr, \" primitive type $T %d end\\ n\" , (int)(sizeof($T ) * 8));" )
129
134
130
135
T_f2c = T == :MPI_Datatype ? :MPI_Type_f2c : Symbol (T, :_f2c )
131
136
T_c2f = T == :MPI_Datatype ? :MPI_Type_c2f : Symbol (T, :_c2f )
132
137
if Libdl. dlsym_e (libptr, T_f2c) == C_NULL
133
- println (f," printf( \" $T (c::Cint) = reinterpret($T ,c)\\ n\" );" )
138
+ println (f," fprintf(fptr, \" $T (c::Cint) = reinterpret($T ,c)\\ n\" );" )
134
139
for constant in constants
135
- println (f," printf( \" const $constant = Cint(%i)\\ n\" , $constant );" )
140
+ println (f," fprintf(fptr, \" const $constant = Cint(%i)\\ n\" , $constant );" )
136
141
end
137
142
else
138
- println (f," printf( \" $T (c::Cint) = ccall((:$T_f2c ,libmpi),$T ,(Cint,),c)\\ n\" );" )
143
+ println (f," fprintf(fptr, \" $T (c::Cint) = ccall((:$T_f2c ,libmpi),$T ,(Cint,),c)\\ n\" );" )
139
144
for constant in constants
140
- println (f," printf( \" const $constant = Cint(%i)\\ n\" , $T_c2f ($constant ));" )
145
+ println (f," fprintf(fptr, \" const $constant = Cint(%i)\\ n\" , $T_c2f ($constant ));" )
141
146
end
142
147
end
143
148
end
144
149
145
150
for constant in MPI_Cints
146
- println (f," printf( \" const $constant = Cint(%i)\\ n\" , (int)($constant ));" )
151
+ println (f," fprintf(fptr, \" const $constant = Cint(%i)\\ n\" , (int)($constant ));" )
147
152
end
148
153
149
154
for constant in MPI_pointers
150
155
if Sys. WORD_SIZE == 32
151
- println (f," printf( \" const $constant = reinterpret(SentinelPtr, 0x%08\" PRIx32 \" )\\ n\" , (uint32_t)($constant ));" )
156
+ println (f," fprintf(fptr, \" const $constant = reinterpret(SentinelPtr, 0x%08\" PRIx32 \" )\\ n\" , (uint32_t)($constant ));" )
152
157
else
153
- println (f," printf( \" const $constant = reinterpret(SentinelPtr, 0x%016\" PRIx64 \" )\\ n\" , (uint64_t)($constant ));" )
158
+ println (f," fprintf(fptr, \" const $constant = reinterpret(SentinelPtr, 0x%016\" PRIx64 \" )\\ n\" , (uint64_t)($constant ));" )
154
159
end
155
160
end
156
161
157
162
print (f,"""
163
+ fclose(fptr);
158
164
MPI_Finalize();
159
165
return 0;
160
166
}
0 commit comments