Skip to content

Enforce cc_feature mutually_exclusive#29

Merged
nradakovic merged 1 commit into
mainfrom
nira_issue_28
Jul 3, 2026
Merged

Enforce cc_feature mutually_exclusive#29
nradakovic merged 1 commit into
mainfrom
nira_issue_28

Conversation

@nradakovic

Copy link
Copy Markdown
Member

Resolves #28

@nradakovic nradakovic self-assigned this Jul 2, 2026
Copilot AI review requested due to automatic review settings July 2, 2026 14:48
@nradakovic

nradakovic commented Jul 2, 2026

Copy link
Copy Markdown
Member Author

Already implemented. Only docs will be updated.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR moves sanitizer incompatibility enforcement (ASan+TSan, LSan+TSan) into the canonical Bazel C++ feature model by adding cc_mutually_exclusive_category constraints to the sanitizer cc_feature definitions, and updates documentation to describe feature-level enforcement as the primary mechanism (with the existing genrule retained as a secondary guard).

Changes:

  • Add mutually-exclusive runtime categories in sanitizers/features/BUILD.bazel and wire them into score_asan, score_lsan, and score_tsan via mutually_exclusive.
  • Update sanitizers/README.md to document feature-layer exclusivity, expected analysis-time failure mode, and the remaining role of sanitizer_combination_check.
  • Update top-level README.md to describe the enforcement stack (feature level → genrule → compiler backstop).

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
sanitizers/features/BUILD.bazel Adds cc_mutually_exclusive_category targets and attaches them to sanitizer cc_features via mutually_exclusive.
sanitizers/README.md Documents mutually-exclusive runtime categories as primary enforcement and reframes the genrule as secondary.
README.md Updates public docs to describe enforcement at feature level first, then genrule, then compiler.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread sanitizers/README.md Outdated
Comment thread sanitizers/features/BUILD.bazel Outdated
Comment thread sanitizers/features/BUILD.bazel Outdated
@nradakovic nradakovic reopened this Jul 2, 2026
@github-project-automation github-project-automation Bot moved this from Done to In Progress in INF - Infrastructure Community Jul 2, 2026
@nradakovic
nradakovic force-pushed the nira_issue_28 branch 4 times, most recently from 3a7128d to 1f49e53 Compare July 2, 2026 15:01
@nradakovic nradakovic added documentation Improvements or additions to documentation p4 Negligible impact - improvements and/or cosmetic features. sanitizers Issue or pull request regarding sanitizers labels Jul 2, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

Comment thread README.md
Comment thread sanitizers/README.md
@RSingh1511
RSingh1511 requested review from RSingh1511 and removed request for Rahul-Sutariya July 3, 2026 05:13
@nradakovic
nradakovic merged commit 0c29bc0 into main Jul 3, 2026
11 checks passed
@nradakovic
nradakovic deleted the nira_issue_28 branch July 3, 2026 09:32
@github-project-automation github-project-automation Bot moved this from In Progress to Done in INF - Infrastructure Community Jul 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation p4 Negligible impact - improvements and/or cosmetic features. sanitizers Issue or pull request regarding sanitizers

Projects

Development

Successfully merging this pull request may close these issues.

Enforce invalid sanitizer combinations via cc_feature.mutually_exclusive instead of a genrule guard

3 participants