@@ -66,7 +66,7 @@ fromRust(LLVMRustCounterMappingRegionKind Kind) {
6666 report_fatal_error (" Bad LLVMRustCounterMappingRegionKind!" );
6767}
6868
69- enum class LLVMRustMCDCParametersTag : uint8_t {
69+ enum LLVMRustMCDCParametersTag {
7070 None = 0 ,
7171 Decision = 1 ,
7272 Branch = 2 ,
@@ -102,40 +102,40 @@ fromRust(LLVMRustMCDCParameters Params) {
102102 return parameter;
103103 case LLVMRustMCDCParametersTag::Decision:
104104 parameter.BitmapIdx =
105- static_cast <unsigned >(Params.Payload . DecisionParameters .BitmapIdx ),
105+ static_cast <unsigned >(Params.DecisionParameters .BitmapIdx ),
106106 parameter.NumConditions =
107- static_cast <unsigned >(Params.Payload . DecisionParameters .NumConditions );
107+ static_cast <unsigned >(Params.DecisionParameters .NumConditions );
108108 return parameter;
109109 case LLVMRustMCDCParametersTag::Branch:
110110 parameter.ID = static_cast <coverage::CounterMappingRegion::MCDCConditionID>(
111- Params.Payload . BranchParameters .ConditionID ),
111+ Params.BranchParameters .ConditionID ),
112112 parameter.FalseID =
113113 static_cast <coverage::CounterMappingRegion::MCDCConditionID>(
114- Params.Payload . BranchParameters .ConditionIDs [0 ]),
114+ Params.BranchParameters .ConditionIDs [0 ]),
115115 parameter.TrueID =
116116 static_cast <coverage::CounterMappingRegion::MCDCConditionID>(
117- Params.Payload . BranchParameters .ConditionIDs [1 ]);
117+ Params.BranchParameters .ConditionIDs [1 ]);
118118 return parameter;
119119 }
120120 report_fatal_error (" Bad LLVMRustMCDCParametersTag!" );
121121}
122122#elif LLVM_VERSION_GE(19, 0)
123- static coverage::mcdc::MCDCParameters fromRust (LLVMRustMCDCParameters Params) {
123+ static coverage::mcdc::Parameters fromRust (LLVMRustMCDCParameters Params) {
124124 switch (Params.Tag ) {
125125 case LLVMRustMCDCParametersTag::None:
126- return coverage::mcdc::MCDCParameters ;
126+ return std::monostate () ;
127127 case LLVMRustMCDCParametersTag::Decision:
128128 return coverage::mcdc::DecisionParameters (
129- Params.Payload . DecisionParameters .BitmapIdx ,
130- Params.Payload . DecisionParameters .NumConditions );
129+ Params.DecisionParameters .BitmapIdx ,
130+ Params.DecisionParameters .NumConditions );
131131 case LLVMRustMCDCParametersTag::Branch:
132132 return coverage::mcdc::BranchParameters (
133133 static_cast <coverage::mcdc::ConditionID>(
134- Params.Payload . BranchParameters .ConditionID ),
135- {static_cast <coverage::CounterMappingRegion::MCDCConditionID >(
136- Params.Payload . BranchParameters .ConditionIDs [0 ]),
137- static_cast <coverage::CounterMappingRegion::MCDCConditionID >(
138- Params.Payload . BranchParameters .ConditionIDs [1 ])});
134+ Params.BranchParameters .ConditionID ),
135+ {static_cast <coverage::mcdc::ConditionID >(
136+ Params.BranchParameters .ConditionIDs [0 ]),
137+ static_cast <coverage::mcdc::ConditionID >(
138+ Params.BranchParameters .ConditionIDs [1 ])});
139139 }
140140 report_fatal_error (" Bad LLVMRustMCDCParametersTag!" );
141141}
@@ -214,7 +214,8 @@ extern "C" void LLVMRustCoverageWriteMappingToBuffer(
214214 RustMappingRegions, NumMappingRegions)) {
215215 MappingRegions.emplace_back (
216216 fromRust (Region.Count ), fromRust (Region.FalseCount ),
217- #if LLVM_VERSION_GE(18, 0)
217+ #if LLVM_VERSION_GE(18, 0) && LLVM_VERSION_LT(19, 0)
218+ // LLVM 19 may move this argument to last.
218219 fromRust (Region.MCDCParameters ),
219220#endif
220221 Region.FileID , Region.ExpandedFileID , // File IDs, then region info.
0 commit comments