@@ -2984,8 +2984,8 @@ int CheckClassesForInterpreterOnlyDicts(cling::Interpreter &interp,
2984
2984
// //////////////////////////////////////////////////////////////////////////////
2985
2985
// / Make up for skipping RegisterModule, now that dictionary parsing
2986
2986
// / is done and these headers cannot be selected anymore.
2987
-
2988
- int FinalizeStreamerInfoWriting (cling::Interpreter &interp, bool writeEmptyRootPCM=false )
2987
+ // /
2988
+ int MaybeEmitROOTPCM (cling::Interpreter &interp, bool writeEmptyRootPCM=false )
2989
2989
{
2990
2990
if (!gDriverConfig ->fCloseStreamerInfoROOTFile )
2991
2991
return 0 ;
@@ -3022,7 +3022,8 @@ int GenerateFullDict(std::ostream &dictStream,
3022
3022
const ROOT::TMetaUtils::RConstructorTypes &ctorTypes,
3023
3023
bool isSplit,
3024
3024
bool isGenreflex,
3025
- bool writeEmptyRootPCM)
3025
+ bool writeEmptyRootPCM,
3026
+ bool hasCxxModule)
3026
3027
{
3027
3028
ROOT::TMetaUtils::TNormalizedCtxt normCtxt (interp.getLookupHelper ());
3028
3029
@@ -3134,12 +3135,12 @@ int GenerateFullDict(std::ostream &dictStream,
3134
3135
// coverity[fun_call_w_exception] - that's just fine.
3135
3136
ROOT::Internal::RStl::Instance ().WriteClassInit (dictStream, interp, normCtxt, ctorTypes, needsCollectionProxy, EmitStreamerInfo);
3136
3137
3137
- if (!gDriverConfig ->fBuildingROOTStage1 ) {
3138
+ if (!hasCxxModule && ! gDriverConfig ->fBuildingROOTStage1 ) {
3138
3139
EmitTypedefs (scan.fSelectedTypedefs );
3139
3140
EmitEnums (scan.fSelectedEnums );
3140
3141
// Make up for skipping RegisterModule, now that dictionary parsing
3141
3142
// is done and these headers cannot be selected anymore.
3142
- int finRetCode = FinalizeStreamerInfoWriting (interp, writeEmptyRootPCM);
3143
+ int finRetCode = MaybeEmitROOTPCM (interp, writeEmptyRootPCM);
3143
3144
if (finRetCode != 0 ) return finRetCode;
3144
3145
}
3145
3146
@@ -5013,17 +5014,18 @@ int RootClingMain(int argc,
5013
5014
rootclingRetCode += CheckClassesForInterpreterOnlyDicts (interp, scan);
5014
5015
// generate an empty pcm nevertheless for consistency
5015
5016
// Negate as true is 1 and true is returned in case of success.
5016
- if (!gDriverConfig ->fBuildingROOTStage1 ) {
5017
- rootclingRetCode += FinalizeStreamerInfoWriting (interp);
5017
+ if (!cxxmodule && ! gDriverConfig ->fBuildingROOTStage1 ) {
5018
+ rootclingRetCode += MaybeEmitROOTPCM (interp);
5018
5019
}
5019
5020
} else {
5020
5021
rootclingRetCode += GenerateFullDict (splitDictStream,
5021
- interp,
5022
- scan,
5023
- constructorTypes,
5024
- doSplit,
5025
- isGenreflex,
5026
- writeEmptyRootPCM);
5022
+ interp,
5023
+ scan,
5024
+ constructorTypes,
5025
+ doSplit,
5026
+ isGenreflex,
5027
+ writeEmptyRootPCM,
5028
+ cxxmodule);
5027
5029
}
5028
5030
5029
5031
if (rootclingRetCode != 0 ) {
0 commit comments