<div dir="ltr"><div>Hello all,</div><div><br></div><div>Thanks for your hard work on this project!</div><div><br></div><div>I am posting here because the issue tracker in Github is disabled and I am unsure where else to post such issues.</div><div><br></div><div>I am seeing a compilation failure with current HEAD and clang 20, three instances of the same complaint:</div><div><br></div><div>* For target hotspot_variant-server_libjvm_objs_resolvedMethodEntry.o:<br>/home/centos/valhalla/src/hotspot/share/oops/resolvedMethodEntry.cpp:43:12: error: first argument in call to 'memset' is a pointer to non-trivially copyable type 'ResolvedMethodEntry' [-Werror,-Wnontrivial-memcall]<br>   43 |     memset(this, 0, sizeof(*this));<br>      |            ^<br>/home/centos/valhalla/src/hotspot/share/oops/resolvedMethodEntry.cpp:43:12: note: explicitly cast the pointer to silence this warning<br>   43 |     memset(this, 0, sizeof(*this));<br>      |            ^<br>      |            (void*)</div><div><br></div><div>Taking a quick look at the declaration for ResolvedMethodEntry, it seems to me that it could be made trivially copyable by defining copy constructor and copy assignment = default. I suppose the compiler considers this in principle to invoke undefined behaviour.</div><div><br></div><div>git HEAD:</div><div><br></div><div>commit cab7c4bdbf91a58c22b2d42f7ccd805238c349e4</div><div><br></div><div>BuIld configuration:</div><div><br></div><div>Configuration summary:<br>* Name:           linux-x86_64-server-release<br>* Debug level:    release<br>* HS debug level: product<br>* JVM variants:   server<br>* JVM features:   server: 'cds compiler1 compiler2 epsilongc g1gc jfr jni-check jvmci jvmti management parallelgc serialgc services shenandoahgc vm-structs zgc'<br>* OpenJDK target: OS: linux, CPU architecture: x86, address length: 64<br>* Version string: 25-internal-adhoc.centos.valhalla (25-internal)<br>* Source date:    1740061836 (2025-02-20T14:30:36Z)<br><br>Tools summary:<br>* Boot JDK:       openjdk version "24" 2025-03-18 OpenJDK Runtime Environment (build 24+36-3646) OpenJDK 64-Bit Server VM (build 24+36-3646, mixed mode, sharing) (at /home/centos/jdk-24)<br>* Toolchain:      clang (clang/LLVM)<br>* C Compiler:     Version 20.1.2 (at /usr/bin/clang)<br>* C++ Compiler:   Version 20.1.2 (at /usr/bin/clang++)<br><br>Build performance summary:<br>* Build jobs:     15<br>* Memory limit:   15861 MB</div><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Pedro Lamarão</div></div></div></div>