@@ -95,38 +95,7 @@ struct LLVMRustMCDCParameters {
95
95
LLVMRustMCDCBranchParameters BranchParameters;
96
96
};
97
97
98
- // LLVM representations for `MCDCParameters` evolved from LLVM 18 to 19.
99
- // Look at representations in 18
100
- // https://github.com/rust-lang/llvm-project/blob/66a2881a/llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h#L253-L263
101
- // and representations in 19
102
- // 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)
98
+ #if LLVM_VERSION_GE(19, 0)
130
99
static coverage::mcdc::Parameters fromRust (LLVMRustMCDCParameters Params) {
131
100
switch (Params.Tag ) {
132
101
case LLVMRustMCDCParametersTag::None:
@@ -222,12 +191,16 @@ extern "C" void LLVMRustCoverageWriteMappingToBuffer(
222
191
MappingRegions.emplace_back (
223
192
fromRust (Region.Count ), fromRust (Region.FalseCount ),
224
193
#if LLVM_VERSION_GE(18, 0) && LLVM_VERSION_LT(19, 0)
225
- // LLVM 19 may move this argument to last.
226
- fromRust (Region.MCDCParameters ),
194
+ coverage::CounterMappingRegion::MCDCParameters{},
227
195
#endif
228
196
Region.FileID , Region.ExpandedFileID , // File IDs, then region info.
229
197
Region.LineStart , Region.ColumnStart , Region.LineEnd , Region.ColumnEnd ,
230
- fromRust (Region.Kind ));
198
+ fromRust (Region.Kind )
199
+ #if LLVM_VERSION_GE(19, 0)
200
+ ,
201
+ fromRust (Region.MCDCParameters )
202
+ #endif
203
+ );
231
204
}
232
205
233
206
std::vector<coverage::CounterExpression> Expressions;
0 commit comments