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);
|
memcpy (buf, s, len);
|
||||||
buf[len] = '\0';
|
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
|
#define HB_NULL_POOL_SIZE 264
|
||||||
|
|
||||||
#ifdef HB_NO_VISIBILITY
|
|
||||||
static
|
|
||||||
#else
|
|
||||||
extern HB_INTERNAL
|
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)];
|
||||||
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
|
|
||||||
;
|
|
||||||
|
|
||||||
/* Generic nul-content Null objects. */
|
/* Generic nul-content Null objects. */
|
||||||
template <typename Type>
|
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
|
* 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
|
* 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. */
|
* 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
|
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)];
|
||||||
/*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
|
|
||||||
;
|
|
||||||
|
|
||||||
/* CRAP pool: Common Region for Access Protection. */
|
/* CRAP pool: Common Region for Access Protection. */
|
||||||
template <typename Type>
|
template <typename Type>
|
||||||
|
|
|
@ -31,9 +31,9 @@
|
||||||
#include "hb-ot-maxp-table.hh"
|
#include "hb-ot-maxp-table.hh"
|
||||||
|
|
||||||
#ifndef HB_NO_VISIBILITY
|
#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)] = {};
|
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)] = {};
|
/*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
|
void
|
||||||
hb_face_t::load_num_glyphs (void) const
|
hb_face_t::load_num_glyphs (void) const
|
||||||
|
@ -52,3 +52,5 @@ hb_face_t::load_upem (void) const
|
||||||
upem = head_table->get_upem ();
|
upem = head_table->get_upem ();
|
||||||
hb_blob_destroy (head_blob);
|
hb_blob_destroy (head_blob);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue