One more visibility trick
Should fix Windows build again.
This commit is contained in:
parent
e57a638bde
commit
e22a48ac95
@ -1069,3 +1069,12 @@ hb_variation_to_string (hb_variation_t *variation,
|
||||
memcpy (buf, s, len);
|
||||
buf[len] = '\0';
|
||||
}
|
||||
|
||||
/* If there is no visibility control, then hb-static.cc will NOT
|
||||
* define anything. Instead, we get it to define one set in here
|
||||
* only, so only libharfbuzz.so defines them, not other libs. */
|
||||
#ifdef HB_NO_VISIBILITY
|
||||
#undef HB_NO_VISIBILITY
|
||||
#include "hb-static.cc"
|
||||
#define HB_NO_VISIBILITY 1
|
||||
#endif
|
||||
|
@ -375,16 +375,8 @@ typedef uint64_t hb_vector_size_impl_t;
|
||||
|
||||
#define HB_NULL_POOL_SIZE 264
|
||||
|
||||
#ifdef HB_NO_VISIBILITY
|
||||
static
|
||||
#else
|
||||
extern HB_INTERNAL
|
||||
#endif
|
||||
hb_vector_size_impl_t const _hb_NullPool[(HB_NULL_POOL_SIZE + sizeof (hb_vector_size_impl_t) - 1) / sizeof (hb_vector_size_impl_t)]
|
||||
#ifdef HB_NO_VISIBILITY
|
||||
= {}
|
||||
#endif
|
||||
;
|
||||
hb_vector_size_impl_t const _hb_NullPool[(HB_NULL_POOL_SIZE + sizeof (hb_vector_size_impl_t) - 1) / sizeof (hb_vector_size_impl_t)];
|
||||
|
||||
/* Generic nul-content Null objects. */
|
||||
template <typename Type>
|
||||
@ -413,16 +405,8 @@ static_assert (Namespace::Type::min_size + 1 <= sizeof (_Null##Type), "Null pool
|
||||
* for correct operation. It only exist to catch and divert program logic bugs instead of
|
||||
* causing bad memory access. So, races there are not actually introducing incorrectness
|
||||
* in the code. Has ~12kb binary size overhead to have it, also clang build fails with it. */
|
||||
#ifdef HB_NO_VISIBILITY
|
||||
static
|
||||
#else
|
||||
extern HB_INTERNAL
|
||||
#endif
|
||||
/*thread_local*/ hb_vector_size_impl_t _hb_CrapPool[(HB_NULL_POOL_SIZE + sizeof (hb_vector_size_impl_t) - 1) / sizeof (hb_vector_size_impl_t)]
|
||||
#ifdef HB_NO_VISIBILITY
|
||||
= {}
|
||||
#endif
|
||||
;
|
||||
/*thread_local*/ hb_vector_size_impl_t _hb_CrapPool[(HB_NULL_POOL_SIZE + sizeof (hb_vector_size_impl_t) - 1) / sizeof (hb_vector_size_impl_t)];
|
||||
|
||||
/* CRAP pool: Common Region for Access Protection. */
|
||||
template <typename Type>
|
||||
|
@ -31,9 +31,9 @@
|
||||
#include "hb-ot-maxp-table.hh"
|
||||
|
||||
#ifndef HB_NO_VISIBILITY
|
||||
|
||||
hb_vector_size_impl_t const _hb_NullPool[(HB_NULL_POOL_SIZE + sizeof (hb_vector_size_impl_t) - 1) / sizeof (hb_vector_size_impl_t)] = {};
|
||||
/*thread_local*/ hb_vector_size_impl_t _hb_CrapPool[(HB_NULL_POOL_SIZE + sizeof (hb_vector_size_impl_t) - 1) / sizeof (hb_vector_size_impl_t)] = {};
|
||||
#endif
|
||||
|
||||
void
|
||||
hb_face_t::load_num_glyphs (void) const
|
||||
@ -52,3 +52,5 @@ hb_face_t::load_upem (void) const
|
||||
upem = head_table->get_upem ();
|
||||
hb_blob_destroy (head_blob);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user