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.