Skip to content

Remove conditional-evaluation-order warning #1698

@rainersigwald

Description

@rainersigwald

The warning

MSB4130: The condition "{0}" may have been evaluated incorrectly in an earlier version of MSBuild. Please verify that the order of the AND and OR clauses is written as intended. To avoid this warning, add parentheses to make the evaluation order explicit.

is emitted whenever a condition has an and and an or in parallel, for example X and Y or Z.

Looking through ancient history, it appears to have been introduced in MSBuild 3.5 in 2007, because a bug in MSBuild 2.0 that caused unexpected evaluation order was fixed then.

It feels wrong to emit an informational-only warning about a behavior change that happened 10 years ago.

Eliminating the check for this warning would allow pruning a tree of methods that exist only to provide it. They're currently in the code in REMOVE_COMPAT_WARNING regions. I propose to do just what that implies.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area: LanguageIssues impacting the MSBuild programming language.help wantedIssues that the core team doesn't plan to work on, but would accept a PR for. Comment to claim.triaged

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions