Fix UB in the bridge type test.

PiperOrigin-RevId: 666520287
Change-Id: I401e5bb5db568ae20ff8b5d4328eecbfae8673f5
diff --git a/bazel/llvm.bzl b/bazel/llvm.bzl
index ad85be9..20c2674 100644
--- a/bazel/llvm.bzl
+++ b/bazel/llvm.bzl
@@ -53,7 +53,7 @@
             executable = False,
         )
 
-LLVM_COMMIT_SHA = "f9031f00f2c90bc0af274b45ec3e169b5250a688"
+LLVM_COMMIT_SHA = "7f7f4feaf07dd3bb4b22d0c25d34b6c99c753aa2"
 
 def llvm_loader_repository_dependencies():
     # This *declares* the dependency, but it won't actually be *downloaded* unless it's used.
diff --git a/rs_bindings_from_cc/test/bridging/bridging_lib.h b/rs_bindings_from_cc/test/bridging/bridging_lib.h
index 820c7bb..31e8e6f 100644
--- a/rs_bindings_from_cc/test/bridging/bridging_lib.h
+++ b/rs_bindings_from_cc/test/bridging/bridging_lib.h
@@ -31,7 +31,7 @@
 }
 
 inline void ffi_create_my_cpp_struct(const char* s, size_t len, void* output) {
-  *(reinterpret_cast<CppStruct*>(output)) = CppStruct(std::string(s, len));
+  new (output) CppStruct(std::string(s, len));
 }
 
 inline const char* ffi_get_buffer(const void* input) {