[cling] Use SuppressUnwrittenScope to strip anonymous namespace names#22753
Open
devajithvs wants to merge 1 commit into
Open
[cling] Use SuppressUnwrittenScope to strip anonymous namespace names#22753devajithvs wants to merge 1 commit into
SuppressUnwrittenScope to strip anonymous namespace names#22753devajithvs wants to merge 1 commit into
Conversation
Since LLVM12, suppressing inline and anonymous namespaces were separated into distinct flags: - SuppressUnwrittenScope: suppresses anonymous namespaces - SuppressInlineNamespace: suppresses inline namespaces See: llvm/llvm-project@5f12f4ff We are relying on `SuppressScope` which is removed in LLVM22. `SuppressUnwrittenScope` can be used to strip anonymous namespace prefixes Without this flag types in anonymous namespaces will be printed as '::(anonymous namespace)::EvNavHandler' which is invalid C++ and causes compilation failures in rootcling-generated dictionary code as seen when building dd4hep against ROOT LLVM22.
759a1b2 to
94f5069
Compare
Test Results 23 files 23 suites 3d 13h 2m 2s ⏱️ For more details on these failures, see this check. Results for commit 94f5069. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Since LLVM12, suppressing inline and anonymous namespaces were separated into distinct flags:
See: llvm/llvm-project@5f12f4ff
We are relying on
SuppressScopewhich is removed in LLVM22.SuppressUnwrittenScopecan be used to strip anonymous namespace prefixes.Without this flag types in anonymous namespaces will be printed as '::(anonymous namespace)::EvNavHandler' which is invalid C++ and causes compilation failures in rootcling-generated dictionary code as seen when building dd4hep against ROOT LLVM22.
This Pull request:
Changes or fixes:
Checklist:
This PR fixes #