Skip to content

Fix: JitCall codegen for deleted copy ctor in args#971

Open
Vipul-Cariappa wants to merge 1 commit into
compiler-research:mainfrom
Vipul-Cariappa:dev/JitCall-deleted-copy-ctor
Open

Fix: JitCall codegen for deleted copy ctor in args#971
Vipul-Cariappa wants to merge 1 commit into
compiler-research:mainfrom
Vipul-Cariappa:dev/JitCall-deleted-copy-ctor

Conversation

@Vipul-Cariappa
Copy link
Copy Markdown
Collaborator

Description

Change to use the move constructor when the copy constructor is deleted among the arguments to a constructor.

Moves closer to what Cling does.

Fixes # (issue)

ROOT tests.

Type of change

Please tick all options which are relevant.

  • Bug fix
  • New feature
  • Requires documentation updates

Testing

Checklist

  • I have read the contribution guide recently

Change to use move constructor when the copy constructor is deleted
amoung the arguments to an constructor.
@codecov
Copy link
Copy Markdown

codecov Bot commented May 5, 2026

Codecov Report

❌ Patch coverage is 88.23529% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 81.98%. Comparing base (ca051ed) to head (2575bcc).

Files with missing lines Patch % Lines
lib/CppInterOp/CppInterOp.cpp 88.23% 2 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #971      +/-   ##
==========================================
+ Coverage   81.79%   81.98%   +0.18%     
==========================================
  Files          15       15              
  Lines        4779     4796      +17     
==========================================
+ Hits         3909     3932      +23     
+ Misses        870      864       -6     
Files with missing lines Coverage Δ
lib/CppInterOp/CppInterOp.cpp 88.85% <88.23%> (+0.30%) ⬆️
Files with missing lines Coverage Δ
lib/CppInterOp/CppInterOp.cpp 88.85% <88.23%> (+0.30%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown
Contributor

@vgvassilev vgvassilev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

return false;
}

RD = RD->getDefinition();
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can add complete type call to the cppinterop interfaces which has probably a raii object as this operation might trigger deserialization.

Comment on lines +2585 to +2589
for (auto* Ctor : RD->ctors()) {
if (Ctor->isCopyConstructor()) {
return Ctor->isDeleted();
}
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
for (auto* Ctor : RD->ctors()) {
if (Ctor->isCopyConstructor()) {
return Ctor->isDeleted();
}
}
for (auto* Ctor : RD->ctors())
if (Ctor->isCopyConstructor())
return Ctor->isDeleted();
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants