@@ -100,33 +100,7 @@ struct LLVMRustMCDCParameters {
100100// https://github.com/rust-lang/llvm-project/blob/66a2881a/llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h#L253-L263
101101// and representations in 19
102102// https://github.com/llvm/llvm-project/blob/843cc474faefad1d639f4c44c1cf3ad7dbda76c8/llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
103- #if LLVM_VERSION_GE(18, 0) && LLVM_VERSION_LT(19, 0)
104- static coverage::CounterMappingRegion::MCDCParameters
105- fromRust (LLVMRustMCDCParameters Params) {
106- auto parameter = coverage::CounterMappingRegion::MCDCParameters{};
107- switch (Params.Tag ) {
108- case LLVMRustMCDCParametersTag::None:
109- return parameter;
110- case LLVMRustMCDCParametersTag::Decision:
111- parameter.BitmapIdx =
112- static_cast <unsigned >(Params.DecisionParameters .BitmapIdx ),
113- parameter.NumConditions =
114- static_cast <unsigned >(Params.DecisionParameters .NumConditions );
115- return parameter;
116- case LLVMRustMCDCParametersTag::Branch:
117- parameter.ID = static_cast <coverage::CounterMappingRegion::MCDCConditionID>(
118- Params.BranchParameters .ConditionID ),
119- parameter.FalseID =
120- static_cast <coverage::CounterMappingRegion::MCDCConditionID>(
121- Params.BranchParameters .ConditionIDs [0 ]),
122- parameter.TrueID =
123- static_cast <coverage::CounterMappingRegion::MCDCConditionID>(
124- Params.BranchParameters .ConditionIDs [1 ]);
125- return parameter;
126- }
127- report_fatal_error (" Bad LLVMRustMCDCParametersTag!" );
128- }
129- #elif LLVM_VERSION_GE(19, 0)
103+ #if LLVM_VERSION_GE(19, 0)
130104static coverage::mcdc::Parameters fromRust (LLVMRustMCDCParameters Params) {
131105 switch (Params.Tag ) {
132106 case LLVMRustMCDCParametersTag::None:
@@ -220,14 +194,15 @@ extern "C" void LLVMRustCoverageWriteMappingToBuffer(
220194 for (const auto &Region : ArrayRef<LLVMRustCounterMappingRegion>(
221195 RustMappingRegions, NumMappingRegions)) {
222196 MappingRegions.emplace_back (
223- fromRust (Region.Count ), fromRust (Region.FalseCount ),
224- #if LLVM_VERSION_GE(18, 0) && LLVM_VERSION_LT(19, 0)
225- // LLVM 19 may move this argument to last.
226- fromRust (Region.MCDCParameters ),
227- #endif
228- Region.FileID , Region.ExpandedFileID , // File IDs, then region info.
197+ fromRust (Region.Count ), fromRust (Region.FalseCount ), Region.FileID ,
198+ Region.ExpandedFileID , // File IDs, then region info.
229199 Region.LineStart , Region.ColumnStart , Region.LineEnd , Region.ColumnEnd ,
230- fromRust (Region.Kind ));
200+ fromRust (Region.Kind )
201+ #if LLVM_VERSION_GE(19, 0)
202+ ,
203+ fromRust (Region.MCDCParameters )
204+ #endif
205+ );
231206 }
232207
233208 std::vector<coverage::CounterExpression> Expressions;
0 commit comments