================ @@ -190,18 +190,30 @@ class SourceMappingRegion { bool isBranch() const { return FalseCount.has_value(); } + bool isMCDCBranch() const { + const auto *BranchParams = std::get_if<mcdc::BranchParameters>(&MCDCParams); + assert(BranchParams == nullptr || BranchParams->ID >= 0); + return (BranchParams != nullptr); + } + + const auto &getMCDCBranchParams() const { + return mcdc::getParams<const mcdc::BranchParameters>(MCDCParams); + } + bool isMCDCDecision() const { const auto *DecisionParams = std::get_if<mcdc::DecisionParameters>(&MCDCParams); - assert(!DecisionParams || DecisionParams->NumConditions > 0); - return DecisionParams; + assert(DecisionParams == nullptr || DecisionParams->NumConditions > 0); ---------------- ornata wrote:
Similar to the other comment, it would be nice if we could enforce at construction-time that MC/DC parameters have at least 1 condition. https://github.com/llvm/llvm-project/pull/82448 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits