Landing: d256dc768066

Project / Subsystem

gcc / ada

Date

2026-02-10

Author

Viljar Indus

Commit

d256dc768066fabd41a672bbedf303d64d606436

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
ada
patch_id
commit_hash
d256dc768066fabd41a672bbedf303d64d606436
source_type
github
headline
Implement SPARK RM 6.9 (23) for ghost code in Ada
tldr
Implements a rule for ghost code in SPARK Ada related to user-defined equality operations on record types.
author
Viljar Indus
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • ada
  • SPARK
  • ghost code
  • verification
discussion_id_link
bugzilla_pr
date
2026-02-10T00:00:00.000Z

This commit implements rule 23 from SPARK Reference Manual 6.9, which concerns ghost code in Ada. The rule states that a user-defined primitive equality operation on a non-ghost record type must not be ghost, unless the record type has only limited views. Additionally, a user-defined primitive equality operation on a ghost record type must have a matching assertion level. This change ensures the correct usage of ghost code in SPARK Ada for equality operations.