================ @@ -250,18 +251,27 @@ struct CounterMappingRegion { }; using MCDCConditionID = unsigned int; - struct MCDCParameters { + struct MCDCDecisionParameters { /// Byte Index of Bitmap Coverage Object for a Decision Region. - unsigned BitmapIdx = 0; + unsigned BitmapIdx; /// Number of Conditions used for a Decision Region. - unsigned NumConditions = 0; + unsigned NumConditions; + MCDCDecisionParameters() = delete; + }; + + struct MCDCBranchParameters { /// IDs used to represent a branch region and other branch regions /// evaluated based on True and False branches. - MCDCConditionID ID = 0, TrueID = 0, FalseID = 0; + MCDCConditionID ID, TrueID, FalseID; + + MCDCBranchParameters() = delete; }; + using MCDCParameters = std::variant<std::monostate, MCDCDecisionParameters, + MCDCBranchParameters>; ---------------- chapuni wrote:
FYI, the size of `MCDCParameters` will be `12` (gnu) or `8` (libc++) finally, with shrinking a few members to `int16_t`. (#81257) https://github.com/llvm/llvm-project/pull/81227 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits