@@ -146,7 +146,7 @@ def type_text(self, enable_count=False):
146146
147147 @property
148148 def final_code (self ):
149- return [f'*{ self .name } = { ConvertOMPIToStandard .ERROR_CLASS } (*{ self .name } );' ]
149+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .ERROR_CLASS } (*{ self .name } );' ]
150150
151151 @property
152152 def argument (self ):
@@ -196,7 +196,7 @@ def type_text(self, enable_count=False):
196196
197197 @property
198198 def final_code (self ):
199- return [f'*{ self .name } = { ConvertOMPIToStandard .ERROR_CLASS } (*{ self .name } );' ]
199+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .ERROR_CLASS } (*{ self .name } );' ]
200200
201201 @property
202202 def argument (self ):
@@ -791,7 +791,7 @@ class TypeOpOutStandard(StandardABIType):
791791
792792 @property
793793 def final_code (self ):
794- return [f'*{ self .name } = { ConvertOMPIToStandard .OP } ((MPI_Op) *{ self .name } );' ]
794+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .OP } ((MPI_Op) *{ self .name } );' ]
795795
796796 def type_text (self , enable_count = False ):
797797 type_name = self .mangle_name ('MPI_Op' )
@@ -890,7 +890,7 @@ class TypeSourceOutStandard(StandardABIType):
890890
891891 @property
892892 def final_code (self ):
893- return [f'*{ self .name } = { ConvertOMPIToStandard .SOURCE } (*{ self .name } );' ]
893+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .SOURCE } (*{ self .name } );' ]
894894
895895 def type_text (self , enable_count = False ):
896896 return f'int *'
@@ -934,7 +934,7 @@ class TypeCommunicatorOutStandard(StandardABIType):
934934
935935 @property
936936 def final_code (self ):
937- return [f'*{ self .name } = { ConvertOMPIToStandard .COMM } ((MPI_Comm) *{ self .name } );' ]
937+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .COMM } ((MPI_Comm) *{ self .name } );' ]
938938
939939 def type_text (self , enable_count = False ):
940940 type_name = self .mangle_name ('MPI_Comm' )
@@ -1007,7 +1007,7 @@ class TypeWindowOutStandard(StandardABIType):
10071007
10081008 @property
10091009 def final_code (self ):
1010- return [f'*{ self .name } = { ConvertOMPIToStandard .WIN } ((MPI_Win) *{ self .name } );' ]
1010+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .WIN } ((MPI_Win) *{ self .name } );' ]
10111011
10121012 def type_text (self , enable_count = False ):
10131013 type_name = self .mangle_name ('MPI_Win' )
@@ -1146,10 +1146,10 @@ def init_code(self):
11461146 @property
11471147 def final_code (self ):
11481148 if self .count_param is None :
1149- return [f'*{ self .name } = { ConvertOMPIToStandard .REQUEST } ({ self .tmpname } );' ]
1149+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .REQUEST } ({ self .tmpname } );' ]
11501150 else :
11511151 return [
1152- 'for (int i = 0; i < %s; ++i) {' % (self .count_param ,),
1152+ f'if (NULL != { self . name } ) ' 'for (int i = 0; i < %s; ++i) {' % (self .count_param ,),
11531153 f'{ self .name } [i] = { ConvertOMPIToStandard .REQUEST } ({ self .tmpname } [i]);' ,
11541154 '}' ,
11551155 ]
@@ -1540,7 +1540,7 @@ def argument(self):
15401540
15411541 @property
15421542 def final_code (self ):
1543- return [f'*{ self .name } = { ConvertOMPIToStandard .FILE } ((MPI_File) *{ self .name } );' ]
1543+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .FILE } ((MPI_File) *{ self .name } );' ]
15441544
15451545 def type_text (self , enable_count = False ):
15461546 type_name = self .mangle_name ('MPI_File' )
@@ -1602,7 +1602,7 @@ class TypeMessageOutStandard(StandardABIType):
16021602
16031603 @property
16041604 def final_code (self ):
1605- return [f'*{ self .name } = { ConvertOMPIToStandard .MESSAGE } ((MPI_Message) *{ self .name } );' ]
1605+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .MESSAGE } ((MPI_Message) *{ self .name } );' ]
16061606
16071607 @property
16081608 def argument (self ):
@@ -1628,7 +1628,7 @@ def init_code(self):
16281628
16291629 @property
16301630 def final_code (self ):
1631- return [f'*{ self .name } = { ConvertOMPIToStandard .MESSAGE } ({ self .tmpname } );' ]
1631+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .MESSAGE } ({ self .tmpname } );' ]
16321632
16331633 @property
16341634 def argument (self ):
@@ -1675,7 +1675,7 @@ class TypeTSLevelOutStandard(StandardABIType):
16751675
16761676 @property
16771677 def final_code (self ):
1678- return [f'*{ self .name } = { ConvertOMPIToStandard .TS_LEVEL } ((int) *{ self .name } );' ]
1678+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .TS_LEVEL } ((int) *{ self .name } );' ]
16791679
16801680 def type_text (self , enable_count = False ):
16811681 return f'int *'
@@ -2205,13 +2205,17 @@ def type_text(self, enable_count=False):
22052205class TypeErrhandlerOutStandard (Type ):
22062206
22072207 @property
2208- def argument (self ):
2209- return f'(MPI_Errhandler *) { self .name } '
2208+ def final_code (self ):
2209+ return [ f'if (NULL != { self . name } ) * { self . name } = { ConvertOMPIToStandard . ERRHANDLER } ((MPI_Errhandler) * { self .name } );' ]
22102210
22112211 def type_text (self , enable_count = False ):
22122212 type_name = self .mangle_name ('MPI_Errhandler' )
22132213 return f'{ type_name } *'
22142214
2215+ @property
2216+ def argument (self ):
2217+ return f'(MPI_Errhandler *) { self .name } '
2218+
22152219@Type .add_type ('ERRHANDLER_INOUT' , abi_type = ['ompi' ])
22162220class TypeErrhandlerInOut (TypeErrhandlerOut ):
22172221 pass
@@ -2350,7 +2354,7 @@ class TypeSessionOutStandard(StandardABIType):
23502354
23512355 @property
23522356 def final_code (self ):
2353- return [f'*{ self .name } = { ConvertOMPIToStandard .SESSION } ((MPI_Session) *{ self .name } );' ]
2357+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .SESSION } ((MPI_Session) *{ self .name } );' ]
23542358
23552359 def type_text (self , enable_count = False ):
23562360 type_name = self .mangle_name ('MPI_Session' )
@@ -2419,7 +2423,7 @@ class TypeTEnumOutStandard(StandardABIType):
24192423
24202424 @property
24212425 def final_code (self ):
2422- return [f'*{ self .name } = { ConvertOMPIToStandard .T_ENUM } ((MPI_T_enum) *{ self .name } );' ]
2426+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .T_ENUM } ((MPI_T_enum) *{ self .name } );' ]
24232427
24242428 def type_text (self , enable_count = False ):
24252429 type_name = self .mangle_name ('MPI_T_enum' )
@@ -2459,7 +2463,7 @@ class TypeCvarHandleStandard(StandardABIType):
24592463
24602464 @property
24612465 def final_code (self ):
2462- return [f'*{ self .name } = { ConvertOMPIToStandard .CVAR_HANDLE } ((MPI_T_cvar_handle) *{ self .name } );' ]
2466+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .CVAR_HANDLE } ((MPI_T_cvar_handle) *{ self .name } );' ]
24632467
24642468 def type_text (self , enable_count = False ):
24652469 type_name = self .mangle_name ('MPI_T_cvar_handle' )
@@ -2484,7 +2488,7 @@ def init_code(self):
24842488
24852489 @property
24862490 def final_code (self ):
2487- return [f'*{ self .name } = { ConvertOMPIToStandard .CVAR_HANDLE } ((MPI_T_cvar_handle) { self .tmpname } );' ]
2491+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .CVAR_HANDLE } ((MPI_T_cvar_handle) { self .tmpname } );' ]
24882492
24892493 def type_text (self , enable_count = False ):
24902494 type_name = self .mangle_name ('MPI_T_cvar_handle' )
@@ -2514,7 +2518,7 @@ class TypeBindOutStandard(StandardABIType):
25142518
25152519 @property
25162520 def final_code (self ):
2517- return [f'*{ self .name } = { ConvertOMPIToStandard .T_BIND } (*{ self .name } );' ]
2521+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .T_BIND } (*{ self .name } );' ]
25182522
25192523 def type_text (self , enable_count = False ):
25202524 return 'int *'
@@ -2586,7 +2590,7 @@ class TypePvarHandleOutStandard(StandardABIType):
25862590
25872591 @property
25882592 def final_code (self ):
2589- return [f'*{ self .name } = { ConvertOMPIToStandard .PVAR_HANDLE } ((MPI_T_pvar_handle) *{ self .name } );' ]
2593+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .PVAR_HANDLE } ((MPI_T_pvar_handle) *{ self .name } );' ]
25902594
25912595 def type_text (self , enable_count = False ):
25922596 type_name = self .mangle_name ('MPI_T_pvar_handle' )
@@ -2611,7 +2615,7 @@ def init_code(self):
26112615
26122616 @property
26132617 def final_code (self ):
2614- return [f'*{ self .name } = { ConvertOMPIToStandard .PVAR_HANDLE } ((MPI_T_pvar_handle){ self .tmpname } );' ]
2618+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .PVAR_HANDLE } ((MPI_T_pvar_handle){ self .tmpname } );' ]
26152619
26162620 def type_text (self , enable_count = False ):
26172621 type_name = self .mangle_name ('MPI_T_pvar_handle' )
@@ -2652,7 +2656,7 @@ class TypePvarSessionOutStandard(StandardABIType):
26522656
26532657 @property
26542658 def final_code (self ):
2655- return [f'*{ self .name } = { ConvertOMPIToStandard .PVAR_SESSION } ((MPI_T_pvar_session)*{ self .name } );' ]
2659+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .PVAR_SESSION } ((MPI_T_pvar_session)*{ self .name } );' ]
26562660
26572661 def type_text (self , enable_count = False ):
26582662 type_name = self .mangle_name ('MPI_T_pvar_session' )
@@ -2678,7 +2682,7 @@ def init_code(self):
26782682
26792683 @property
26802684 def final_code (self ):
2681- return [f'*{ self .name } = { ConvertOMPIToStandard .PVAR_SESSION } ((MPI_T_pvar_session){ self .tmpname } );' ]
2685+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .PVAR_SESSION } ((MPI_T_pvar_session){ self .tmpname } );' ]
26822686
26832687 def type_text (self , enable_count = False ):
26842688 type_name = self .mangle_name ('MPI_T_pvar_session' )
@@ -2719,7 +2723,7 @@ class TypeTVerbosityOutStandard(StandardABIType):
27192723
27202724 @property
27212725 def final_code (self ):
2722- return [f'*{ self .name } = { ConvertOMPIToStandard .T_VERBOSITY } (*{ self .name } );' ]
2726+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .T_VERBOSITY } (*{ self .name } );' ]
27232727
27242728 def type_text (self , enable_count = False ):
27252729 return 'int *'
@@ -2759,7 +2763,7 @@ class TypePvarClassOutStandard(StandardABIType):
27592763
27602764 @property
27612765 def final_code (self ):
2762- return [f'*{ self .name } = { ConvertOMPIToStandard .PVAR_CLASS } (*{ self .name } );' ]
2766+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .PVAR_CLASS } (*{ self .name } );' ]
27632767
27642768 def type_text (self , enable_count = False ):
27652769 return f'int *'
@@ -2818,7 +2822,7 @@ class TypeSourceOrderOutStandard(StandardABIType):
28182822
28192823 @property
28202824 def final_code (self ):
2821- return [f'*{ self .name } = { ConvertOMPIToStandard .T_SOURCE_ORDER } ((MPI_T_source_order) { self .name } );' ]
2825+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .T_SOURCE_ORDER } ((MPI_T_source_order) { self .name } );' ]
28222826
28232827 def type_text (self , enable_count = False ):
28242828 type_name = self .mangle_name ('MPI_T_source_order' )
@@ -2915,7 +2919,7 @@ class TypeAttrKeyOutStandard(StandardABIType):
29152919
29162920 @property
29172921 def final_code (self ):
2918- return [f'*{ self .name } = { ConvertOMPIToStandard .ATTR_KEY } (*{ self .name } );' ]
2922+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .ATTR_KEY } (*{ self .name } );' ]
29192923
29202924 def type_text (self , enable_count = False ):
29212925 return f'int *'
@@ -2939,7 +2943,7 @@ def init_code(self):
29392943
29402944 @property
29412945 def final_code (self ):
2942- return [f'*{ self .name } = { ConvertOMPIToStandard .ATTR_KEY } ({ self .tmpname } );' ]
2946+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .ATTR_KEY } ({ self .tmpname } );' ]
29432947
29442948 def type_text (self , enable_count = False ):
29452949 return f'int *'
@@ -3021,7 +3025,7 @@ class TyperCommCmpOutStandard(StandardABIType):
30213025
30223026 @property
30233027 def final_code (self ):
3024- return [f'*{ self .name } = { ConvertOMPIToStandard .COMM_CMP } (*{ self .name } );' ]
3028+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .COMM_CMP } (*{ self .name } );' ]
30253029
30263030 def type_text (self , enable_count = False ):
30273031 return 'int *'
@@ -3114,7 +3118,7 @@ class TypeModeBitsOutStandard(StandardABIType):
31143118
31153119 @property
31163120 def final_code (self ):
3117- return [f'*{ self .name } = { ConvertOMPIToStandard .MODE_BITS } (*{ self .name } );' ]
3121+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .MODE_BITS } (*{ self .name } );' ]
31183122
31193123 def type_text (self , enable_count = False ):
31203124 return 'int *'
@@ -3150,7 +3154,7 @@ class TypeCombinerOutStandard(StandardABIType):
31503154
31513155 @property
31523156 def final_code (self ):
3153- return [f'*{ self .name } = { ConvertOMPIToStandard .COMBINER } (*{ self .name } );' ]
3157+ return [f'if (NULL != { self . name } ) *{ self .name } = { ConvertOMPIToStandard .COMBINER } (*{ self .name } );' ]
31543158
31553159 def type_text (self , enable_count = False ):
31563160 return 'int *'
0 commit comments