Landing: c78a3dc86b42
Project / Subsystem
gcc / ada
Date
2026-02-23
Author
Eric Botcazou
Commit
c78a3dc86b428d2d54f10c2e8c0e3620db956b7d
Source
github
Perf win
No
Breaking
No
All attributes
- project
- gcc
- subsystem
- ada
- patch_id
- —
- commit_hash
- c78a3dc86b428d2d54f10c2e8c0e3620db956b7d
- source_type
- github
- headline
- Fix discriminant check failure for unconstrained actual parameters
- tldr
- Fixes a bug where discriminant checks spuriously failed for unconstrained actual parameters in Ada when initialized by conditional expressions.
- author
- Eric Botcazou
- outcome
- committed
- performance_win
- false
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • ada
- • discriminant checks
- • unconstrained types
- • bugfix
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-02-23T00:00:00.000Z
The Ada compiler had a bug where discriminant checks would fail for unconstrained variables passed as actual parameters when those variables were initialized using conditional expressions. This occurred because the variable’s declaration was incorrectly distributed into the dependent expressions of the conditional expression. This commit introduces a new predicate Is_Distributable_Declaration to prevent this incorrect distribution and ensure proper discriminant checks.