@@ -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:
@@ -222,12 +196,16 @@ extern "C" void LLVMRustCoverageWriteMappingToBuffer(
222196 MappingRegions.emplace_back (
223197 fromRust (Region.Count ), fromRust (Region.FalseCount ),
224198#if LLVM_VERSION_GE(18, 0) && LLVM_VERSION_LT(19, 0)
225- // LLVM 19 may move this argument to last.
226- fromRust (Region.MCDCParameters ),
199+ coverage::CounterMappingRegion::MCDCParameters{},
227200#endif
228201 Region.FileID , Region.ExpandedFileID , // File IDs, then region info.
229202 Region.LineStart , Region.ColumnStart , Region.LineEnd , Region.ColumnEnd ,
230- fromRust (Region.Kind ));
203+ fromRust (Region.Kind )
204+ #if LLVM_VERSION_GE(19, 0)
205+ ,
206+ fromRust (Region.MCDCParameters )
207+ #endif
208+ );
231209 }
232210
233211 std::vector<coverage::CounterExpression> Expressions;
0 commit comments