Landing: a6cb4f459e78

Project / Subsystem

gcc / libstdc++

Date

2026-09-11

Author

Tomasz Kamiński

Commit

a6cb4f459e781eb066290f3bbcd0569901e372b1

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
libstdc++
patch_id
—
commit_hash
a6cb4f459e781eb066290f3bbcd0569901e372b1
source_type
github
headline
Libstdc++ constexpr support for inplace_vector improved.
tldr
Libstdc++ enhances inplace_vector's constexpr support for union lifetime rules and error reporting.
author
Tomasz Kamiński
outcome
committed
performance_win
false
breaking_change
false
series_id
—
series_parts
[]
tags
  • • libstdc++
  • • constexpr
  • • c++ standard
  • • union
discussion_id_link
—
bugzilla_pr
—
date
2026-09-11T00:00:00.000Z

Libstdc++ has improved inplace_vector’s constexpr support by implementing the remaining aspects of the P3726R2 standard, specifically concerning union lifetime rules. It now uses std::start_lifetime in _M_init and utilizes __builtin_constexpr_diag for better compile-time error messages. This change also removes an older optimization-hindering approach and ensures better compatibility with compiler behavior regarding union member writes.