Landing: a6c2657fc6aa

Project / Subsystem

gcc / c++/reflection

Date

2026-09-28

Author

Marek Polacek

Commit

a6c2657fc6aa507315d4ca81573ebb026fae1142

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
c++/reflection
patch_id
—
commit_hash
a6c2657fc6aa507315d4ca81573ebb026fae1142
source_type
github
headline
Skip templated clones in members_of for reflection
tldr
Reflection's `members_of` now correctly ignores templated constructor clones.
author
Marek Polacek
outcome
committed
performance_win
false
breaking_change
false
series_id
—
series_parts
[]
tags
  • • c++
  • • reflection
  • • compiler
discussion_id_link
—
bugzilla_pr
—
date
2026-09-28T00:00:00.000Z

GCC’s C++ reflection facility, specifically the members_of function, now correctly handles templated constructor clones. Previously, it would include duplicate entries for templated constructors and their clones, such as __ct, __ct_comp, and __ct_base. This change modifies class_members_of to skip templated clones, ensuring that the reflection API returns a clean list of members.