Skip to content
This repository was archived by the owner on Aug 5, 2026. It is now read-only.

clingwrapper: expose AddTypeQualifier. - #209

Open
vgvassilev wants to merge 1 commit into
compiler-research:masterfrom
vgvassilev:move-from-container
Open

clingwrapper: expose AddTypeQualifier.#209
vgvassilev wants to merge 1 commit into
compiler-research:masterfrom
vgvassilev:move-from-container

Conversation

@vgvassilev

Copy link
Copy Markdown
Collaborator

The cv-qualifier triplet was already in CppInterOp's public surface (Cpp::AddTypeQualifier etc., declared by the tablegen-generated CppInterOpDecl.inc) but the cppyy-backend shim didn't re-export them as Cppyy:: wrappers. Adding "const" to a TCppType_t -- e.g. building "const T" out of GetType("T") for the canonical-QT registry in Converters.cxx -- required pulling in CppInterOp.h directly, which breaks the cppyy-backend abstraction boundary.

Add the Cppyy::AddTypeQualifier wrapper in cpp_cppyy.h + clingwrapper.cxx, mirroring the GetPointerType / GetReferencedType pattern (one-line forwarder under InterOpMutex). Only AddTypeQualifier has an in-tree caller (Converters.cxx); RemoveTypeQualifier and HasTypeQualifier are left out until a concrete caller appears -- the canonical-QT identity check is already handled by direct pointer comparison.

@vgvassilev
vgvassilev requested a review from Vipul-Cariappa June 5, 2026 14:36
The cv-qualifier triplet was already in CppInterOp's public surface
(Cpp::AddTypeQualifier etc., declared by the tablegen-generated
CppInterOpDecl.inc) but the cppyy-backend shim didn't re-export them
as Cppyy:: wrappers. Adding "const" to a TCppType_t -- e.g. building
"const T" out of GetType("T") for the canonical-QT registry in
Converters.cxx -- required pulling in CppInterOp.h directly, which
breaks the cppyy-backend abstraction boundary.

Add the Cppyy::AddTypeQualifier wrapper in cpp_cppyy.h +
clingwrapper.cxx, mirroring the GetPointerType / GetReferencedType
pattern (one-line forwarder under InterOpMutex). Only AddTypeQualifier
has an in-tree caller (Converters.cxx); RemoveTypeQualifier and
HasTypeQualifier are left out until a concrete caller appears -- the
canonical-QT identity check is already handled by direct pointer
comparison.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant