Landing: 25a56748f2b5

Project / Subsystem

gcc / plugins

Date

2026-08-24

Author

Josef Melcr

Commit

25a56748f2b58270f4f6addecda004d5dea8e4a3

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
plugins
patch_id
—
commit_hash
25a56748f2b58270f4f6addecda004d5dea8e4a3
source_type
github
headline
Fix callback_info ODR violation
tldr
Resolves an ODR violation related to the callback_info struct when using LTO.
author
Josef Melcr
outcome
committed
performance_win
false
breaking_change
false
series_id
—
series_parts
[]
tags
  • • plugins
  • • LTO
  • • ODR violation
discussion_id_link
—
bugzilla_pr
—
date
2026-08-24T00:00:00.000Z

This commit fixes an ODR (One Definition Rule) violation that occurred due to a naming conflict with the callback_info struct. The struct, defined in plugin.cc, had the same name as another struct in plugin.cc itself (or possibly a different file included transitively). To resolve this, the callback_info struct is now placed within an anonymous namespace, ensuring its uniqueness and preventing ODR issues, particularly when compiling with Link-Time Optimization (LTO).