Behdad Esfahbod
f9a3eab810
Add explicit_operator
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1127
2018-08-12 12:21:56 -07:00
Behdad Esfahbod
25147ff808
Move Null system to hb-null.hh
2018-08-06 05:01:52 -07:00
Behdad Esfahbod
19e0091299
Minor
2018-08-06 04:54:31 -07:00
Behdad Esfahbod
37be774af9
Minor
2018-08-06 04:52:12 -07:00
Behdad Esfahbod
be336dadc0
Move some more code around
2018-08-06 04:32:51 -07:00
Behdad Esfahbod
92806ee055
Move null data definitions to hb-static.cc
...
Also remove " " null data for Tag. Just use zeroes.
2018-08-05 21:41:52 -07:00
Behdad Esfahbod
4bc16aca47
[atomic] Add get_relaxed / set_relaxed
...
To help TSan and be more "correct".
2018-07-31 21:29:18 -07:00
Behdad Esfahbod
94759d4cf8
Fix visibility on mingw32
...
Should fix bots again.
2018-07-23 15:08:32 -07:00
Behdad Esfahbod
e22a48ac95
One more visibility trick
...
Should fix Windows build again.
2018-07-23 13:24:26 -07:00
Behdad Esfahbod
2aae617a84
Move _hb_alignof later again
...
It uses constexpr...
2018-07-11 17:27:23 +02:00
Behdad Esfahbod
44999f8b75
Align NullPool and CrapPool to HB_VECTOR_SIZE
2018-07-11 17:21:32 +02:00
Behdad Esfahbod
20a318d06a
Fix return type of alignof() fallback
2018-07-11 17:00:13 +02:00
Behdad Esfahbod
25aa411ac5
Put back include dependencies
2018-07-10 16:05:03 +02:00
Behdad Esfahbod
491d93bf74
Move more stuff from hb-private.hh to hb-dsalgs.hh
2018-07-10 16:03:31 +02:00
Behdad Esfahbod
f477765661
Move more stuff to hb-dsalgs.hh
2018-07-10 15:49:05 +02:00
Behdad Esfahbod
be7f664f72
Move hb_bytes_t to hb-dsalgs.hh
2018-07-10 15:23:08 +02:00
Behdad Esfahbod
be458eb059
Include more basic internal headers from hb-private.hh
2018-07-10 14:41:04 +02:00
Behdad Esfahbod
bddeb2b10c
Minor renamings of internal inline functions
2018-07-10 14:13:21 +02:00
Behdad Esfahbod
d652ef299d
Move hb_vector_t and hb_lockable_set_t to hb-dsalgs.hh
2018-07-10 14:05:00 +02:00
Behdad Esfahbod
9e53b08329
Move hb_stable_sort to hb-dsalgs.hh
...
Also, include hb-dsalgs.hh from end of hb-pricate.hh
2018-07-10 14:03:58 +02:00
Behdad Esfahbod
39f11d8e72
Minor
2018-07-10 14:01:39 +02:00
Behdad Esfahbod
763f878cc0
Fix syntax
...
Oops.
2018-07-10 13:47:41 +02:00
Behdad Esfahbod
83ea277178
Add posix_memalign() fallback
2018-07-10 13:17:27 +02:00
Behdad Esfahbod
292c100d61
Always compile (but not use) alignof() and round() fallback codes
...
Catches compile-errors in them better.
2018-07-10 13:16:52 +02:00
Behdad Esfahbod
27c5317d91
Fix alignof impl
2018-07-10 13:03:42 +02:00
Behdad Esfahbod
bca83618cd
Add fallback implementation for constexpr and alignof
2018-07-10 12:59:13 +02:00
Behdad Esfahbod
1ebaa090d8
Disable vectorization
...
Disable vectorization for now. To correctly use them, we should
use posix_memalign() to allocate them. Otherwise, can cause
misaligned access.
https://bugs.chromium.org/p/chromium/issues/detail?id=860184
2018-07-05 14:04:13 +04:30
Behdad Esfahbod
058708a665
Allow disabling vector_size use
2018-07-05 13:16:00 +04:30
Behdad Esfahbod
01dff1ea1a
Make round() fallback portable to systems that do have round()
...
Makes compiling without HAVE_ROUND on systems that do have it work.
2018-06-26 18:00:58 -04:00
Behdad Esfahbod
c4d0d11c55
[vector] Always 0-fill new items
2018-06-12 01:17:00 -04:00
prrace
498e4373dc
Fix SunStudio 12.6 build ( #1053 )
2018-06-10 03:34:28 +04:30
Behdad Esfahbod
78d92e0f27
Minorish
2018-06-06 15:24:43 -07:00
Behdad Esfahbod
676b19f0d1
Compiler gymnastics
...
Part of https://github.com/harfbuzz/harfbuzz/issues/630
2018-06-06 15:23:35 -07:00
Behdad Esfahbod
0a5952e8dd
Move prime_for back into map
...
This was causing problem on systems without visibility when map was used
from both libharfbuzz and libharfbuzz-subset. Sigh.
https://ci.appveyor.com/project/harfbuzz/harfbuzz/build/1.0.1669/job/dey47nmff0770vp3
2018-06-06 14:56:21 -07:00
Behdad Esfahbod
58400a2ad8
Remove DISALLOW_* from vector, set, and map
...
Some of the build bots, still fail on this. I suppose mine pass because
I enable C++11...
Anyway, remove these again.
2018-06-02 20:30:09 -07:00
Behdad Esfahbod
f7515769fd
[vector] Use Crap pool in push() as well
2018-06-01 17:48:37 -07:00
Behdad Esfahbod
975bdd5ef5
[vector] Keep success status
2018-06-01 17:37:13 -07:00
Behdad Esfahbod
1ab3c3ed1b
[vector] Whitespace
2018-06-01 17:34:24 -07:00
Behdad Esfahbod
fb07d1a3ce
Another attempt at making every compiler happy...
...
Sigh.
2018-06-01 17:32:07 -07:00
Behdad Esfahbod
4f76f956bb
[map] Move prime_for to hb-static
2018-06-01 17:28:47 -07:00
Behdad Esfahbod
4ca211bce1
Fix hb_vector_size_t
2018-06-01 17:19:05 -07:00
Behdad Esfahbod
a7dd90f519
Revert "Remove HB_DISALLOW_COPY_AND_ASSIGN"
...
This reverts commit ff92de766b
.
Revert that and remove ASSERT_POD. Let's see which bots are
unhappy with this configuration...
2018-06-01 16:10:45 -07:00
Behdad Esfahbod
7b50bf52f2
Use NullPool for _hb_set_nil and _hb_map_nil
2018-05-31 20:20:17 -07:00
Behdad Esfahbod
353f4d2efc
Fix a whitespace inconsistency
...
Null() and Crap() are only places that there's no space before '('...
2018-05-31 19:52:16 -07:00
Behdad Esfahbod
d600e844aa
Add CrapOrNull
2018-05-30 16:25:57 -07:00
Behdad Esfahbod
ff92de766b
Remove HB_DISALLOW_COPY_AND_ASSIGN
...
llvm-gcc-4.2 bot had this problem:
hb-private.hh:812: error: initializer specified for non-virtual method 'void hb_vector_t<Type, StaticSize>::operator=(const hb_vector_t<Type, StaticSize>&) [with Type = hb_user_data_array_t::hb_user_data_item_t, unsigned int StaticSize = 1u]'
Removing the delete didn't work with a constructor. So, remove constructor.
Just disallow assignment. Still better than nothing.
2018-05-29 18:48:45 -07:00
Behdad Esfahbod
efbab6ba3f
Disable use of thread_local
...
Clang build was failing with:
/usr/bin/ld: .libs/libharfbuzz_la-hb-blob.o: relocation R_X86_64_PC32 against undefined hidden symbol `_ZTH12_hb_CrapPool' can not be used when making a shared object
Instead of fighting it, just disable use of it.
2018-05-29 18:21:55 -07:00
Behdad Esfahbod
6c2227640b
Add HB_DISALLOW_COPY_AND_ASSIGN
2018-05-25 16:21:27 -07:00
Behdad Esfahbod
7f7b1370d3
Fix Uniscribe build
...
If a pointer type was passed to Null(), reinterpret_cast<> was
complaining about qualifiers being removed. Turns out I need the const on
the other side of "Type" to fix that. Also remove unused const from
NullPool type.
2018-05-24 14:09:04 -07:00
Behdad Esfahbod
31c4236d96
Underflow protection in hb_vector_t
2018-05-24 13:53:02 -07:00