Landing: 73c0e8f85504
Project / Subsystem
gcc / c++
Date
2026-08-04
Author
Iain Sandoe
Commit
73c0e8f8550420f8966eeaa6e75f90cf6e15f9b1
Source
github
Perf win
No
Breaking
No
All attributes
- project
- gcc
- subsystem
- c++
- patch_id
- —
- commit_hash
- 73c0e8f8550420f8966eeaa6e75f90cf6e15f9b1
- source_type
- github
- headline
- c++, contracts: Replace attribute lists with tree-vec for specifiers
- tldr
- Refactors C++ contract specifier handling to use tree-vec, simplifying code after CXX2A contract removal.
- author
- Iain Sandoe
- outcome
- committed
- performance_win
- false
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • c++
- • contracts
- • refactor
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-08-04T00:00:00.000Z
Following the removal of CXX2A contracts, the C++ front-end has refactored how function contract specifiers are handled. Previously, attribute lists were used to maintain compatibility, but now that these contracts are gone, the code has been simplified by replacing these lists with tree-vec. This change removes unnecessary obfuscation and streamlines the internal representation.