Landing: e7368d76b9f4
Project / Subsystem
gcc / ada
Date
2026-01-16
Author
Claire Dross
Commit
e7368d76b9f41e054204ed42096de165cb9e19f2
Source
github
Perf win
No
Breaking
No
All attributes
- project
- gcc
- subsystem
- ada
- patch_id
- —
- commit_hash
- e7368d76b9f41e054204ed42096de165cb9e19f2
- source_type
- github
- headline
- Ada Rejects Exceptional Contracts on No_Raise Subprograms.
- tldr
- The Ada compiler now rejects the SPARK-specific `Exceptional_Cases` and `Exit_Cases` pragmas when used with `No_Raise` subprograms.
- author
- Claire Dross
- outcome
- committed
- performance_win
- false
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • ada
- • spark
- • exceptions
- • contracts
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-01-16T00:00:00.000Z
The Ada compiler now rejects the SPARK-specific exceptional contract pragmas Exceptional_Cases and Exit_Cases when they are incompatible with the No_Raise aspect. The No_Raise aspect, specific to GNAT, indicates that a subprogram will not raise any exceptions. The Analyze_Exit_Contract and Analyze_Pragma functions in sem_prag.adb have been updated to enforce this restriction.