[rootcling] Remove check for unique_ptr members [v6.38]
#20399
Merged
+0
−29
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 llvm/llvm-project@f5e687d libc++ implements
_LIBCPP_COMPRESSED_PAIRwith an anonymous struct (a Clang extension). This results inunique_ptrhaving a singleFieldDeclwith an empty name that does not appear as a data member inTClass. Instead, the AST has multipleIndirectFieldDecls that "refer" into the anonymous struct.In ROOT, we now have two options: We could support anonymous structs, either by allowing data members with empty names or by adding all indirect field declarations as members. However, I would argue that we actually do NOT want to support this extension for IO classes. Instead remove the (questionable) check in
rootclingthat verifies the number of data members inunique_ptr.Related to #20377, backport of #20389