Landing: 7b60a368fb19

Project / Subsystem

gcc / c++

Date

2026-09-14

Author

Joshua Berne

Commit

7b60a368fb19b33f8676482a233d389cbc47b85e

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
c++
patch_id
—
commit_hash
7b60a368fb19b33f8676482a233d389cbc47b85e
source_type
github
headline
C++: Fix rollback of side effects for nested [[assume]] attributes.
tldr
Nested [[assume]] attributes now correctly roll back side effects during constant evaluation.
author
Joshua Berne
outcome
committed
performance_win
false
breaking_change
false
series_id
—
series_parts
[]
tags
  • • c++23
  • • compiler
  • • constant evaluation
  • • optimization
discussion_id_link
—
bugzilla_pr
—
date
2026-09-14T00:00:00.000Z

A bug in the handling of nested [[assume]] attributes during constant evaluation has been fixed. Previously, when one [[assume]] was evaluated within the predicate of another, the side effects of the inner assumption were not correctly rolled back. This led to incorrect state, which is now resolved by properly restoring the previous context after the inner evaluation completes.