From 0840fb817026498bb2c5d6dccc0a92f3b0491411 Mon Sep 17 00:00:00 2001 From: Daniel Cheng Date: Fri, 5 Sep 2025 12:37:49 -0700 Subject: [PATCH] Define exported cxx symbols Change-Id: I05c0cd24c607c543856ed0b021fe037fd8186b1f --- .../vendor/cxx-v1/src/cxx.cc | 177 ++++++++++-------- 1 file changed, 99 insertions(+), 78 deletions(-) diff --git a/third_party/rust/chromium_crates_io/vendor/cxx-v1/src/cxx.cc b/third_party/rust/chromium_crates_io/vendor/cxx-v1/src/cxx.cc index f93d46b89da4e..f79cf34adf827 100644 --- a/third_party/rust/chromium_crates_io/vendor/cxx-v1/src/cxx.cc +++ b/third_party/rust/chromium_crates_io/vendor/cxx-v1/src/cxx.cc @@ -29,71 +29,90 @@ #pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" #endif +#ifndef CXX_RS_EXPORT +#define CXX_RS_EXPORT +#endif + extern "C" { -void cxxbridge1$cxx_string$init(std::string *s, const std::uint8_t *ptr, - std::size_t len) noexcept { +CXX_RS_EXPORT void cxxbridge1$cxx_string$init(std::string *s, + const std::uint8_t *ptr, + std::size_t len) noexcept { new (s) std::string(reinterpret_cast(ptr), len); } -void cxxbridge1$cxx_string$destroy(std::string *s) noexcept { +CXX_RS_EXPORT void cxxbridge1$cxx_string$destroy(std::string *s) noexcept { using std::string; s->~string(); } -const char *cxxbridge1$cxx_string$data(const std::string &s) noexcept { +CXX_RS_EXPORT const char * +cxxbridge1$cxx_string$data(const std::string &s) noexcept { return s.data(); } -std::size_t cxxbridge1$cxx_string$length(const std::string &s) noexcept { +CXX_RS_EXPORT std::size_t +cxxbridge1$cxx_string$length(const std::string &s) noexcept { return s.length(); } -void cxxbridge1$cxx_string$clear(std::string &s) noexcept { s.clear(); } +CXX_RS_EXPORT void cxxbridge1$cxx_string$clear(std::string &s) noexcept { + s.clear(); +} -void cxxbridge1$cxx_string$reserve_total(std::string &s, - size_t new_cap) noexcept { +CXX_RS_EXPORT void +cxxbridge1$cxx_string$reserve_total(std::string &s, size_t new_cap) noexcept { s.reserve(new_cap); } -void cxxbridge1$cxx_string$push(std::string &s, const std::uint8_t *ptr, - std::size_t len) noexcept { +CXX_RS_EXPORT void cxxbridge1$cxx_string$push(std::string &s, + const std::uint8_t *ptr, + std::size_t len) noexcept { s.append(reinterpret_cast(ptr), len); } // rust::String -void cxxbridge1$string$new(rust::String *self) noexcept; -void cxxbridge1$string$clone(rust::String *self, - const rust::String &other) noexcept; -bool cxxbridge1$string$from_utf8(rust::String *self, const char *ptr, - std::size_t len) noexcept; -void cxxbridge1$string$from_utf8_lossy(rust::String *self, const char *ptr, - std::size_t len) noexcept; -bool cxxbridge1$string$from_utf16(rust::String *self, const char16_t *ptr, - std::size_t len) noexcept; -void cxxbridge1$string$from_utf16_lossy(rust::String *self, const char16_t *ptr, - std::size_t len) noexcept; -void cxxbridge1$string$drop(rust::String *self) noexcept; -const char *cxxbridge1$string$ptr(const rust::String *self) noexcept; -std::size_t cxxbridge1$string$len(const rust::String *self) noexcept; -std::size_t cxxbridge1$string$capacity(const rust::String *self) noexcept; -void cxxbridge1$string$reserve_additional(rust::String *self, - size_t additional) noexcept; -void cxxbridge1$string$reserve_total(rust::String *self, - size_t new_cap) noexcept; +CXX_RS_EXPORT void cxxbridge1$string$new(rust::String *self) noexcept; +CXX_RS_EXPORT void cxxbridge1$string$clone(rust::String *self, + const rust::String &other) noexcept; +CXX_RS_EXPORT bool cxxbridge1$string$from_utf8(rust::String *self, + const char *ptr, + std::size_t len) noexcept; +CXX_RS_EXPORT void cxxbridge1$string$from_utf8_lossy(rust::String *self, + const char *ptr, + std::size_t len) noexcept; +CXX_RS_EXPORT bool cxxbridge1$string$from_utf16(rust::String *self, + const char16_t *ptr, + std::size_t len) noexcept; +CXX_RS_EXPORT void cxxbridge1$string$from_utf16_lossy(rust::String *self, + const char16_t *ptr, + std::size_t len) noexcept; +CXX_RS_EXPORT void cxxbridge1$string$drop(rust::String *self) noexcept; +CXX_RS_EXPORT const char * +cxxbridge1$string$ptr(const rust::String *self) noexcept; +CXX_RS_EXPORT std::size_t +cxxbridge1$string$len(const rust::String *self) noexcept; +CXX_RS_EXPORT std::size_t +cxxbridge1$string$capacity(const rust::String *self) noexcept; +CXX_RS_EXPORT void +cxxbridge1$string$reserve_additional(rust::String *self, + size_t additional) noexcept; +CXX_RS_EXPORT void cxxbridge1$string$reserve_total(rust::String *self, + size_t new_cap) noexcept; // rust::Str -void cxxbridge1$str$new(rust::Str *self) noexcept; -void cxxbridge1$str$ref(rust::Str *self, const rust::String *string) noexcept; -bool cxxbridge1$str$from(rust::Str *self, const char *ptr, - std::size_t len) noexcept; -const char *cxxbridge1$str$ptr(const rust::Str *self) noexcept; -std::size_t cxxbridge1$str$len(const rust::Str *self) noexcept; +CXX_RS_EXPORT void cxxbridge1$str$new(rust::Str *self) noexcept; +CXX_RS_EXPORT void cxxbridge1$str$ref(rust::Str *self, + const rust::String *string) noexcept; +CXX_RS_EXPORT bool cxxbridge1$str$from(rust::Str *self, const char *ptr, + std::size_t len) noexcept; +CXX_RS_EXPORT const char *cxxbridge1$str$ptr(const rust::Str *self) noexcept; +CXX_RS_EXPORT std::size_t cxxbridge1$str$len(const rust::Str *self) noexcept; // rust::Slice -void cxxbridge1$slice$new(void *self, const void *ptr, - std::size_t len) noexcept; -void *cxxbridge1$slice$ptr(const void *self) noexcept; -std::size_t cxxbridge1$slice$len(const void *self) noexcept; +CXX_RS_EXPORT void cxxbridge1$slice$new(void *self, const void *ptr, + std::size_t len) noexcept; +CXX_RS_EXPORT void *cxxbridge1$slice$ptr(const void *self) noexcept; +CXX_RS_EXPORT std::size_t cxxbridge1$slice$len(const void *self) noexcept; } // extern "C" namespace rust { @@ -509,7 +528,8 @@ static const char *errorCopy(const char *ptr, std::size_t len) { } extern "C" { -const char *cxxbridge1$error(const char *ptr, std::size_t len) noexcept { +CXX_RS_EXPORT const char *cxxbridge1$error(const char *ptr, + std::size_t len) noexcept { return errorCopy(ptr, len); } } // extern "C" @@ -569,7 +589,7 @@ struct PtrLen final { } // namespace repr extern "C" { -repr::PtrLen cxxbridge1$exception(const char *, std::size_t len) noexcept; +CXX_RS_EXPORT repr::PtrLen cxxbridge1$exception(const char *, std::size_t len) noexcept; } namespace detail { @@ -620,23 +640,24 @@ void destroy(T *ptr) { } // namespace extern "C" { -void cxxbridge1$unique_ptr$std$string$null( +CXX_RS_EXPORT void cxxbridge1$unique_ptr$std$string$null( std::unique_ptr *ptr) noexcept { new (ptr) std::unique_ptr(); } -void cxxbridge1$unique_ptr$std$string$raw(std::unique_ptr *ptr, - std::string *raw) noexcept { +CXX_RS_EXPORT void +cxxbridge1$unique_ptr$std$string$raw(std::unique_ptr *ptr, + std::string *raw) noexcept { new (ptr) std::unique_ptr(raw); } -const std::string *cxxbridge1$unique_ptr$std$string$get( +CXX_RS_EXPORT const std::string *cxxbridge1$unique_ptr$std$string$get( const std::unique_ptr &ptr) noexcept { return ptr.get(); } -std::string *cxxbridge1$unique_ptr$std$string$release( +CXX_RS_EXPORT std::string *cxxbridge1$unique_ptr$std$string$release( std::unique_ptr &ptr) noexcept { return ptr.release(); } -void cxxbridge1$unique_ptr$std$string$drop( +CXX_RS_EXPORT void cxxbridge1$unique_ptr$std$string$drop( std::unique_ptr *ptr) noexcept { ptr->~unique_ptr(); } @@ -651,77 +672,77 @@ static_assert(sizeof(std::string) <= kMaxExpectedWordsInString * sizeof(void *), } // namespace #define STD_VECTOR_OPS(RUST_TYPE, CXX_TYPE) \ - std::vector *cxxbridge1$std$vector$##RUST_TYPE##$new() noexcept { \ + CXX_RS_EXPORT std::vector *cxxbridge1$std$vector$##RUST_TYPE##$new() noexcept { \ return new std::vector(); \ } \ - std::size_t cxxbridge1$std$vector$##RUST_TYPE##$size( \ + CXX_RS_EXPORT std::size_t cxxbridge1$std$vector$##RUST_TYPE##$size( \ const std::vector &s) noexcept { \ return s.size(); \ } \ - std::size_t cxxbridge1$std$vector$##RUST_TYPE##$capacity( \ + CXX_RS_EXPORT std::size_t cxxbridge1$std$vector$##RUST_TYPE##$capacity( \ const std::vector &s) noexcept { \ return s.capacity(); \ } \ - CXX_TYPE *cxxbridge1$std$vector$##RUST_TYPE##$get_unchecked( \ + CXX_RS_EXPORT CXX_TYPE *cxxbridge1$std$vector$##RUST_TYPE##$get_unchecked( \ std::vector *s, std::size_t pos) noexcept { \ return &(*s)[pos]; \ } \ - void cxxbridge1$std$vector$##RUST_TYPE##$reserve( \ + CXX_RS_EXPORT void cxxbridge1$std$vector$##RUST_TYPE##$reserve( \ std::vector *s, std::size_t new_cap) noexcept { \ s->reserve(new_cap); \ } \ - void cxxbridge1$unique_ptr$std$vector$##RUST_TYPE##$null( \ + CXX_RS_EXPORT void cxxbridge1$unique_ptr$std$vector$##RUST_TYPE##$null( \ std::unique_ptr> *ptr) noexcept { \ new (ptr) std::unique_ptr>(); \ } \ - void cxxbridge1$unique_ptr$std$vector$##RUST_TYPE##$raw( \ + CXX_RS_EXPORT void cxxbridge1$unique_ptr$std$vector$##RUST_TYPE##$raw( \ std::unique_ptr> *ptr, \ std::vector *raw) noexcept { \ new (ptr) std::unique_ptr>(raw); \ } \ - const std::vector \ + CXX_RS_EXPORT const std::vector \ *cxxbridge1$unique_ptr$std$vector$##RUST_TYPE##$get( \ const std::unique_ptr> &ptr) noexcept { \ return ptr.get(); \ } \ - std::vector \ + CXX_RS_EXPORT std::vector \ *cxxbridge1$unique_ptr$std$vector$##RUST_TYPE##$release( \ std::unique_ptr> &ptr) noexcept { \ return ptr.release(); \ } \ - void cxxbridge1$unique_ptr$std$vector$##RUST_TYPE##$drop( \ + CXX_RS_EXPORT void cxxbridge1$unique_ptr$std$vector$##RUST_TYPE##$drop( \ std::unique_ptr> *ptr) noexcept { \ ptr->~unique_ptr(); \ } #define STD_VECTOR_TRIVIAL_OPS(RUST_TYPE, CXX_TYPE) \ - void cxxbridge1$std$vector$##RUST_TYPE##$push_back( \ + CXX_RS_EXPORT void cxxbridge1$std$vector$##RUST_TYPE##$push_back( \ std::vector *v, CXX_TYPE *value) noexcept { \ v->push_back(std::move(*value)); \ destroy(value); \ } \ - void cxxbridge1$std$vector$##RUST_TYPE##$pop_back(std::vector *v, \ + CXX_RS_EXPORT void cxxbridge1$std$vector$##RUST_TYPE##$pop_back(std::vector *v, \ CXX_TYPE *out) noexcept { \ new (out) CXX_TYPE(std::move(v->back())); \ v->pop_back(); \ } #define RUST_VEC_EXTERNS(RUST_TYPE, CXX_TYPE) \ - void cxxbridge1$rust_vec$##RUST_TYPE##$new( \ + CXX_RS_EXPORT void cxxbridge1$rust_vec$##RUST_TYPE##$new( \ rust::Vec *ptr) noexcept; \ - void cxxbridge1$rust_vec$##RUST_TYPE##$drop( \ + CXX_RS_EXPORT void cxxbridge1$rust_vec$##RUST_TYPE##$drop( \ rust::Vec *ptr) noexcept; \ - std::size_t cxxbridge1$rust_vec$##RUST_TYPE##$len( \ + CXX_RS_EXPORT std::size_t cxxbridge1$rust_vec$##RUST_TYPE##$len( \ const rust::Vec *ptr) noexcept; \ - std::size_t cxxbridge1$rust_vec$##RUST_TYPE##$capacity( \ + CXX_RS_EXPORT std::size_t cxxbridge1$rust_vec$##RUST_TYPE##$capacity( \ const rust::Vec *ptr) noexcept; \ - const CXX_TYPE *cxxbridge1$rust_vec$##RUST_TYPE##$data( \ + CXX_RS_EXPORT const CXX_TYPE *cxxbridge1$rust_vec$##RUST_TYPE##$data( \ const rust::Vec *ptr) noexcept; \ - void cxxbridge1$rust_vec$##RUST_TYPE##$reserve_total( \ + CXX_RS_EXPORT void cxxbridge1$rust_vec$##RUST_TYPE##$reserve_total( \ rust::Vec *ptr, std::size_t new_cap) noexcept; \ - void cxxbridge1$rust_vec$##RUST_TYPE##$set_len(rust::Vec *ptr, \ + CXX_RS_EXPORT void cxxbridge1$rust_vec$##RUST_TYPE##$set_len(rust::Vec *ptr, \ std::size_t len) noexcept; \ - void cxxbridge1$rust_vec$##RUST_TYPE##$truncate(rust::Vec *ptr, \ + CXX_RS_EXPORT void cxxbridge1$rust_vec$##RUST_TYPE##$truncate(rust::Vec *ptr, \ std::size_t len) noexcept; #define RUST_VEC_OPS(RUST_TYPE, CXX_TYPE) \ @@ -761,56 +782,56 @@ static_assert(sizeof(std::string) <= kMaxExpectedWordsInString * sizeof(void *), #define SHARED_PTR_OPS(RUST_TYPE, CXX_TYPE) \ static_assert(sizeof(std::shared_ptr) == 2 * sizeof(void *), ""); \ static_assert(alignof(std::shared_ptr) == alignof(void *), ""); \ - void cxxbridge1$std$shared_ptr$##RUST_TYPE##$null( \ + CXX_RS_EXPORT void cxxbridge1$std$shared_ptr$##RUST_TYPE##$null( \ std::shared_ptr *ptr) noexcept { \ new (ptr) std::shared_ptr(); \ } \ - void cxxbridge1$std$shared_ptr$##RUST_TYPE##$raw( \ + CXX_RS_EXPORT void cxxbridge1$std$shared_ptr$##RUST_TYPE##$raw( \ std::shared_ptr *ptr, CXX_TYPE *raw) noexcept { \ new (ptr) std::shared_ptr(raw); \ } \ - CXX_TYPE *cxxbridge1$std$shared_ptr$##RUST_TYPE##$uninit( \ + CXX_RS_EXPORT CXX_TYPE *cxxbridge1$std$shared_ptr$##RUST_TYPE##$uninit( \ std::shared_ptr *ptr) noexcept { \ CXX_TYPE *uninit = \ reinterpret_cast(new rust::MaybeUninit); \ new (ptr) std::shared_ptr(uninit); \ return uninit; \ } \ - void cxxbridge1$std$shared_ptr$##RUST_TYPE##$clone( \ + CXX_RS_EXPORT void cxxbridge1$std$shared_ptr$##RUST_TYPE##$clone( \ const std::shared_ptr &self, \ std::shared_ptr *ptr) noexcept { \ new (ptr) std::shared_ptr(self); \ } \ - const CXX_TYPE *cxxbridge1$std$shared_ptr$##RUST_TYPE##$get( \ + CXX_RS_EXPORT const CXX_TYPE *cxxbridge1$std$shared_ptr$##RUST_TYPE##$get( \ const std::shared_ptr &self) noexcept { \ return self.get(); \ } \ - void cxxbridge1$std$shared_ptr$##RUST_TYPE##$drop( \ + CXX_RS_EXPORT void cxxbridge1$std$shared_ptr$##RUST_TYPE##$drop( \ const std::shared_ptr *self) noexcept { \ self->~shared_ptr(); \ } \ static_assert(sizeof(std::weak_ptr) == 2 * sizeof(void *), ""); \ static_assert(alignof(std::weak_ptr) == alignof(void *), ""); \ - void cxxbridge1$std$weak_ptr$##RUST_TYPE##$null( \ + CXX_RS_EXPORT void cxxbridge1$std$weak_ptr$##RUST_TYPE##$null( \ std::weak_ptr *ptr) noexcept { \ new (ptr) std::weak_ptr(); \ } \ - void cxxbridge1$std$weak_ptr$##RUST_TYPE##$clone( \ + CXX_RS_EXPORT void cxxbridge1$std$weak_ptr$##RUST_TYPE##$clone( \ const std::weak_ptr &self, \ std::weak_ptr *ptr) noexcept { \ new (ptr) std::weak_ptr(self); \ } \ - void cxxbridge1$std$weak_ptr$##RUST_TYPE##$downgrade( \ + CXX_RS_EXPORT void cxxbridge1$std$weak_ptr$##RUST_TYPE##$downgrade( \ const std::shared_ptr &shared, \ std::weak_ptr *weak) noexcept { \ new (weak) std::weak_ptr(shared); \ } \ - void cxxbridge1$std$weak_ptr$##RUST_TYPE##$upgrade( \ + CXX_RS_EXPORT void cxxbridge1$std$weak_ptr$##RUST_TYPE##$upgrade( \ const std::weak_ptr &weak, \ std::shared_ptr *shared) noexcept { \ new (shared) std::shared_ptr(weak.lock()); \ } \ - void cxxbridge1$std$weak_ptr$##RUST_TYPE##$drop( \ + CXX_RS_EXPORT void cxxbridge1$std$weak_ptr$##RUST_TYPE##$drop( \ const std::weak_ptr *self) noexcept { \ self->~weak_ptr(); \ } -- 2.51.0.355.g5224444f11-goog