Landing: 199358caced1

Project / Subsystem

gcc / ada

Date

2026-01-20

Author

Martin Clochard

Commit

199358caced1db12dd60a0b9a3688beb7695c843

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
ada
patch_id
commit_hash
199358caced1db12dd60a0b9a3688beb7695c843
source_type
github
headline
Ada Sets Etype Before Analysis for Conditions Generated for 'Old Attribute.
tldr
This change sets the Etype decoration for conditions generated for the 'Old attribute in Ada, which is required for GNATprove analysis.
author
Martin Clochard
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • ada
  • gnatprove
  • static analysis
discussion_id_link
bugzilla_pr
date
2026-01-20T00:00:00.000Z

The Ada compiler now sets the Etype decoration before analysis for conditions generated for the 'Old attribute. The absence of the Etype decoration was problematic for GNATprove, a formal verification tool for Ada, as it couldn’t properly analyze the output without it. New utilities were added in sem_util.adb to fill decoration in expressions, and the Etype is now set for generated Boolean connectors in Determining_Condition and Conditional_Evaluation_Condition.