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.