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.