Skip to content

[cpyrt] Use GetActualClass in cast_actual - #90

Merged
aaronj0 merged 1 commit into
compiler-research:mainfrom
aaronj0:cast-actual-getactualclass
Sep 8, 2026
Merged

[cpyrt] Use GetActualClass in cast_actual#90
aaronj0 merged 1 commit into
compiler-research:mainfrom
aaronj0:cast-actual-getactualclass

Conversation

@aaronj0

@aaronj0 aaronj0 commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

cast_actual kept the static class, so comparing two proxies of the same object through different base subobjects compared unequal addresses. Reachable when a proxy is not downcast on creation, e.g. for a pinned type. Also drops a stray '&' from the ostream operand name used for the operator<< lookup, and fixes two comment typos.

From the ROOT migration.

cast_actual kept the static class, so comparing two proxies of the same
object through different base subobjects compared unequal addresses.
Reachable when a proxy is not downcast on creation, e.g. for a pinned
type. Also drops a stray '&' from the ostream operand name used for the
operator<< lookup, and fixes two comment typos.
@aaronj0
aaronj0 requested a review from guitargeek September 7, 2026 15:05

@guitargeek guitargeek left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM! Thanks for porting this over.

@aaronj0
aaronj0 merged commit 83b0fca into compiler-research:main Sep 8, 2026
26 checks passed
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

CppJIT CI has detected a new failure on workflow Test running on main while building 83b0fca at job "ubuntu-24.04/llvm21/py3.12/c++20 / run".

Full details are available at: https://github.com/compiler-research/cppjit/actions/runs/34196434718
Here is the relevant piece of the build log for the reference

Step "Build and test" failure:
  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.14/x64
  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.14/x64/lib
  LLVM_DIR: /home/runner/work/cppjit/cppjit/install/lib/cmake/llvm
  Clang_DIR: /home/runner/work/cppjit/cppjit/install/lib/cmake/clang
##[endgroup]
(node:6082) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
With the provided path, there will be 1 file uploaded
Artifact name is valid!
Root directory input is valid!
Beginning upload of artifact content to blob storage
(node:6082) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
Uploaded bytes 207
Finished uploading artifact content to blob storage!
SHA256 digest of uploaded artifact zip is 8a30bfc831ac712f868fab297494d030f1c83254c3d42f589f6c995b585bcfac
Finalizing artifact upload
Artifact result-ubuntu-24.04-llvm21-py3.12-cxx20.zip successfully finalized. Artifact ID 10044141501
Artifact result-ubuntu-24.04-llvm21-py3.12-cxx20 has been successfully uploaded! Final size is 207 bytes. Artifact ID is 10044141501
Artifact download URL: https://github.com/compiler-research/cppjit/actions/runs/34196434718/artifacts/10044141501
Post job cleanup.
Node 20 is being deprecated. This workflow is running with Node 24 by default. If you need to temporarily use Node 20, you can set the ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true environment variable. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Post job cleanup.
[command]/usr/bin/git version
git version 2.55.0
Temporarily overriding HOME='/home/runner/work/_temp/60ad09f7-63d1-462c-93c8-a2888e89dbf3' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
[command]/usr/bin/git config --global --add safe.directory /home/runner/work/cppjit/cppjit
[command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
[command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
http.https://github.com/.extraheader
[command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
[command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
[command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
Evaluate and set job outputs
Set output 'summary'
Cleaning up orphan processes
##[warning]Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-python@v5, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/

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