Landing: cc08be7bf549
Project / Subsystem
gcc / c++
Date
2026-08-12
Author
Patrick Palka
Commit
cc08be7bf549072bf3699a57d3d37222e8c1087d
Source
github
Perf win
No
Breaking
No
All attributes
- project
- gcc
- subsystem
- c++
- patch_id
- —
- commit_hash
- cc08be7bf549072bf3699a57d3d37222e8c1087d
- source_type
- github
- headline
- c++: hash TYPENAME_TYPEs on TYPE_UID instead of pointers
- tldr
- Fixes compiler to correctly handle precompiled headers with TYPENAME_TYPEs by hashing TYPE_UID.
- author
- Patrick Palka
- outcome
- committed
- performance_win
- false
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • c++
- • precompiled headers
- • debugging
- • bugfix
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-08-12T00:00:00.000Z
This commit resolves an issue where hashing TYPENAME_TYPEs in precompiled headers was unreliable due to hashing pointer addresses. These addresses change between compile runs, leading to duplicate type creations and incorrect debug information. The fix changes the hashing mechanism to use TYPE_UID, which is preserved across precompiled header reads, ensuring consistent compilation results.