Landing: 104c34eb051a

Project / Subsystem

gcc / c++

Date

2026-04-17

Author

Jakub Jelinek

Commit

104c34eb051a71e4c386f30913ee170802defac1

Source

github

Impact

5/10

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
c++
patch_id
commit_hash
104c34eb051a71e4c386f30913ee170802defac1
source_type
github
headline
C++: Reject splicing of function parameters in reflection.
tldr
Disallows splicing of function parameters in C++ reflection, enforcing the standard's restrictions.
why_it_matters
Ensures compliance with the C++ standard by preventing invalid operations on reflected function parameters, improving code correctness.
author
Jakub Jelinek
impact_score
5
impact_rationale
Enforces language standard, improves code correctness; may require minor code changes for those using reflection.
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • C++
  • reflection
  • splicing
  • standard compliance
discussion_id_link
bugzilla_pr
date
2026-04-17T00:00:00.000Z

This commit enforces the restriction against splicing function parameters in C++ reflection, as function parameters are not listed as valid targets for splicing in the standard. The compiler now diagnoses such attempts and suggests using variable_of when applicable. Several test cases are adjusted to reflect this change.