platform/upstream/libHarfBuzzSharp.git
5 years agoUse hb_void_t<> the way it's supposed to be used
Behdad Esfahbod [Sat, 11 May 2019 04:03:14 +0000 (21:03 -0700)]
Use hb_void_t<> the way it's supposed to be used

5 years ago[meta] Minor
Behdad Esfahbod [Sat, 11 May 2019 04:01:19 +0000 (21:01 -0700)]
[meta] Minor

5 years ago[meta] More rewrites
Behdad Esfahbod [Sat, 11 May 2019 03:56:16 +0000 (20:56 -0700)]
[meta] More rewrites

5 years ago[meta] Rewrite hb_int_min/max
Behdad Esfahbod [Sat, 11 May 2019 03:49:52 +0000 (20:49 -0700)]
[meta] Rewrite hb_int_min/max

5 years ago[meta] void_tt -> void_t
Behdad Esfahbod [Sat, 11 May 2019 03:43:51 +0000 (20:43 -0700)]
[meta] void_tt -> void_t

5 years ago[meta] hb_void_t -> hb_empty_t
Behdad Esfahbod [Sat, 11 May 2019 03:43:26 +0000 (20:43 -0700)]
[meta] hb_void_t -> hb_empty_t

5 years ago[meta] Minor
Behdad Esfahbod [Sat, 11 May 2019 03:34:52 +0000 (20:34 -0700)]
[meta] Minor

5 years agoMinor
Behdad Esfahbod [Sat, 11 May 2019 03:31:20 +0000 (20:31 -0700)]
Minor

5 years ago[meta] Rewrite is_signed, add is_unsigned
Behdad Esfahbod [Sat, 11 May 2019 03:26:29 +0000 (20:26 -0700)]
[meta] Rewrite is_signed, add is_unsigned

5 years ago[meta] Rewrite is_integral / is_floating_point, add is_arithmetic
Behdad Esfahbod [Sat, 11 May 2019 03:20:51 +0000 (20:20 -0700)]
[meta] Rewrite is_integral / is_floating_point, add is_arithmetic

5 years ago[meta] Rewrite is_cr_convertible
Behdad Esfahbod [Sat, 11 May 2019 03:17:30 +0000 (20:17 -0700)]
[meta] Rewrite is_cr_convertible

5 years ago[meta] Rewrite is_base_of
Behdad Esfahbod [Sat, 11 May 2019 03:15:03 +0000 (20:15 -0700)]
[meta] Rewrite is_base_of

5 years ago[null] Modernize template work
Behdad Esfahbod [Sat, 11 May 2019 03:11:29 +0000 (20:11 -0700)]
[null] Modernize template work

5 years ago[meta] Add integral_constant, true_t -> true_type, false_t -> false_type
Behdad Esfahbod [Sat, 11 May 2019 03:06:31 +0000 (20:06 -0700)]
[meta] Add integral_constant, true_t -> true_type, false_t -> false_type

5 years ago[meta] bool_tt -> bool_constant
Behdad Esfahbod [Sat, 11 May 2019 03:03:14 +0000 (20:03 -0700)]
[meta] bool_tt -> bool_constant

5 years ago[meta] Add is_floating_point
Behdad Esfahbod [Sat, 11 May 2019 02:56:36 +0000 (19:56 -0700)]
[meta] Add is_floating_point

5 years ago[meta] Add is_signed for floating point types
Behdad Esfahbod [Sat, 11 May 2019 02:49:26 +0000 (19:49 -0700)]
[meta] Add is_signed for floating point types

5 years ago[meta] is_integer -> is_integral
Behdad Esfahbod [Sat, 11 May 2019 02:48:02 +0000 (19:48 -0700)]
[meta] is_integer -> is_integral

5 years ago[meta] Add add_const, add_pointer, add_lvalue_reference, add_rvalue_reference
Behdad Esfahbod [Sat, 11 May 2019 02:29:32 +0000 (19:29 -0700)]
[meta] Add add_const, add_pointer, add_lvalue_reference, add_rvalue_reference

5 years ago[vector] Simplify arrayZ
Behdad Esfahbod [Sat, 11 May 2019 01:40:29 +0000 (18:40 -0700)]
[vector] Simplify arrayZ

Was turned into function when we had static ones and wanted to be
move-safe...  Not the case anymore.

5 years ago[subset] Use more auto typing
Behdad Esfahbod [Fri, 10 May 2019 23:35:31 +0000 (16:35 -0700)]
[subset] Use more auto typing

5 years agoMinor
Behdad Esfahbod [Fri, 10 May 2019 23:26:19 +0000 (16:26 -0700)]
Minor

5 years ago[serialize] More rewrite
Behdad Esfahbod [Fri, 10 May 2019 23:21:03 +0000 (16:21 -0700)]
[serialize] More rewrite

5 years ago[serialize] Fix a TODO
Behdad Esfahbod [Fri, 10 May 2019 23:07:51 +0000 (16:07 -0700)]
[serialize] Fix a TODO

5 years agoUpdate TESTING.md
rsheeter [Fri, 10 May 2019 23:52:43 +0000 (16:52 -0700)]
Update TESTING.md

5 years agoFix sanitize fail of extension sublookups
Behdad Esfahbod [Fri, 10 May 2019 23:01:39 +0000 (16:01 -0700)]
Fix sanitize fail of extension sublookups

Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=960331

5 years agoMinor
Behdad Esfahbod [Fri, 10 May 2019 20:56:50 +0000 (13:56 -0700)]
Minor

5 years agoMinor
Behdad Esfahbod [Fri, 10 May 2019 20:53:15 +0000 (13:53 -0700)]
Minor

5 years agoMinor again
Behdad Esfahbod [Fri, 10 May 2019 20:51:12 +0000 (13:51 -0700)]
Minor again

5 years agoMinor
Behdad Esfahbod [Fri, 10 May 2019 20:43:29 +0000 (13:43 -0700)]
Minor

5 years ago[gsubgpos] Minor
Behdad Esfahbod [Fri, 10 May 2019 20:17:41 +0000 (13:17 -0700)]
[gsubgpos] Minor

5 years agoGenerate tarball in .xz instead of .bz2
Behdad Esfahbod [Fri, 10 May 2019 18:53:02 +0000 (11:53 -0700)]
Generate tarball in .xz instead of .bz2

Fixes https://github.com/harfbuzz/harfbuzz/issues/1662

5 years agoFix bot
Behdad Esfahbod [Fri, 10 May 2019 18:32:59 +0000 (11:32 -0700)]
Fix bot

Any way to catch these?

5 years ago[meta] Add hb_is_base_of
Behdad Esfahbod [Fri, 10 May 2019 18:26:39 +0000 (11:26 -0700)]
[meta] Add hb_is_base_of

5 years ago[iter] Adjust is_source_of / is_sink_of
Behdad Esfahbod [Fri, 10 May 2019 18:18:52 +0000 (11:18 -0700)]
[iter] Adjust is_source_of / is_sink_of

There are two cases that we accept.  Encode both.

5 years agoUpdate TESTING.md
rsheeter [Fri, 10 May 2019 03:06:29 +0000 (20:06 -0700)]
Update TESTING.md

5 years ago[iter] Rewrite test functions
Behdad Esfahbod [Thu, 9 May 2019 23:58:28 +0000 (16:58 -0700)]
[iter] Rewrite test functions

Notably, add hb_is_source_of(,) and hb_is_sink_of(,) to replace most
uses of hb_is_iterator_of(,).

5 years agoMinor
Behdad Esfahbod [Thu, 9 May 2019 23:22:08 +0000 (16:22 -0700)]
Minor

5 years agoWhitespace
Behdad Esfahbod [Thu, 9 May 2019 23:08:10 +0000 (16:08 -0700)]
Whitespace

5 years agoFix bot
Behdad Esfahbod [Thu, 9 May 2019 22:39:32 +0000 (15:39 -0700)]
Fix bot

5 years ago[algs] Implement implicit casting between compatible pair types
Behdad Esfahbod [Thu, 9 May 2019 22:31:24 +0000 (15:31 -0700)]
[algs] Implement implicit casting between compatible pair types

5 years ago[meta] Rewrite hb_is_cr_converitble
Behdad Esfahbod [Thu, 9 May 2019 22:24:14 +0000 (15:24 -0700)]
[meta] Rewrite hb_is_cr_converitble

5 years agoFix compile
Behdad Esfahbod [Thu, 9 May 2019 22:19:42 +0000 (15:19 -0700)]
Fix compile

NameRecord is not copy-constructible, so should be iterator of
const-reference.

5 years agoAdjust is_cr_convertible
Behdad Esfahbod [Thu, 9 May 2019 22:09:07 +0000 (15:09 -0700)]
Adjust is_cr_convertible

If To is const& then From doesn't need to be &.

5 years ago[iter] Make hb_is_iterator_of() check is_convertible
Behdad Esfahbod [Thu, 9 May 2019 21:53:02 +0000 (14:53 -0700)]
[iter] Make hb_is_iterator_of() check is_convertible

Instead of is_cr_convertible.

5 years ago[meta] Add hb_conditional<> and hb_is_convertible()
Behdad Esfahbod [Thu, 9 May 2019 21:35:15 +0000 (14:35 -0700)]
[meta] Add hb_conditional<> and hb_is_convertible()

5 years ago[subset] Switch building of glyph maps in subset plan to use iterators.
Garret Rieger [Wed, 8 May 2019 23:33:03 +0000 (16:33 -0700)]
[subset] Switch building of glyph maps in subset plan to use iterators.

5 years agoAdd sink support for hb_hashmap_t and a reverse call to hb_pair_t.
Garret Rieger [Wed, 8 May 2019 23:31:52 +0000 (16:31 -0700)]
Add sink support for hb_hashmap_t and a reverse call to hb_pair_t.

5 years agoAdd hb_pair_t(,) macro as alternative to hb_pair_t<,>
Behdad Esfahbod [Thu, 9 May 2019 20:15:36 +0000 (13:15 -0700)]
Add hb_pair_t(,) macro as alternative to hb_pair_t<,>

Just so it's easier to use it in other macros.

5 years agoAdd hb_lidentity(), and rename hb_rvalue() to hb_ridentity()
Behdad Esfahbod [Thu, 9 May 2019 19:43:57 +0000 (12:43 -0700)]
Add hb_lidentity(), and rename hb_rvalue() to hb_ridentity()

5 years ago[hdmx] Adjust to hb_iota() behavior change
Behdad Esfahbod [Thu, 9 May 2019 19:14:36 +0000 (12:14 -0700)]
[hdmx] Adjust to hb_iota() behavior change

Use hb_range() instead.

5 years ago[enumerate] Fix hb_enumerate() len for step=0
Behdad Esfahbod [Thu, 9 May 2019 19:07:45 +0000 (12:07 -0700)]
[enumerate] Fix hb_enumerate() len for step=0

5 years ago[iter] Fix hb_zip() end condition
Behdad Esfahbod [Thu, 9 May 2019 18:30:31 +0000 (11:30 -0700)]
[iter] Fix hb_zip() end condition

We should compare-equal to end if either iterator's end reaches,
not if both reach at the same time.  Fixes infinite-loop in test
which was happening after hb_enumerate() switched to using hb_zip().

5 years ago[iter] Minor
Behdad Esfahbod [Thu, 9 May 2019 18:30:27 +0000 (11:30 -0700)]
[iter] Minor

5 years ago[iter] Minor
Behdad Esfahbod [Thu, 9 May 2019 18:25:02 +0000 (11:25 -0700)]
[iter] Minor

5 years ago[test-iter] Don't walk past end
Behdad Esfahbod [Thu, 9 May 2019 18:23:41 +0000 (11:23 -0700)]
[test-iter] Don't walk past end

That's not legal.

5 years ago[iter] Allow negative step in hb_iota()
Behdad Esfahbod [Thu, 9 May 2019 18:20:41 +0000 (11:20 -0700)]
[iter] Allow negative step in hb_iota()

5 years ago[iter] Minor
Behdad Esfahbod [Thu, 9 May 2019 18:14:06 +0000 (11:14 -0700)]
[iter] Minor

5 years ago[iter] Bug fix
Behdad Esfahbod [Thu, 9 May 2019 18:10:31 +0000 (11:10 -0700)]
[iter] Bug fix

5 years ago[iter] Fix
Behdad Esfahbod [Thu, 9 May 2019 18:08:25 +0000 (11:08 -0700)]
[iter] Fix

5 years ago[iter] Take start value in hb_enumerate()
Behdad Esfahbod [Thu, 9 May 2019 18:07:38 +0000 (11:07 -0700)]
[iter] Take start value in hb_enumerate()

Also rewrite it via composition.

5 years ago[iter] Add hb_range()
Behdad Esfahbod [Thu, 9 May 2019 18:02:56 +0000 (11:02 -0700)]
[iter] Add hb_range()

hb_range() is like Python range.  hb_iota() has slightly different API.
Ie. it takes a start, instead of end.

5 years ago[meta] Add hb_int_max()
Behdad Esfahbod [Thu, 9 May 2019 18:00:43 +0000 (11:00 -0700)]
[meta] Add hb_int_max()

5 years ago[iota] end -> end_ to not shadow
Behdad Esfahbod [Thu, 9 May 2019 17:46:49 +0000 (10:46 -0700)]
[iota] end -> end_ to not shadow

5 years agoMerge pull request #1680 from n8willis/usermanual-obj
n8willis [Thu, 9 May 2019 13:39:05 +0000 (14:39 +0100)]
Merge pull request #1680 from n8willis/usermanual-obj

Usermanual: object-model chapter

5 years agoRemove unnecessary template keyword
Behdad Esfahbod [Thu, 9 May 2019 04:14:01 +0000 (21:14 -0700)]
Remove unnecessary template keyword

Should fix MSVC.

5 years agoRemove unused var
Behdad Esfahbod [Wed, 8 May 2019 23:41:39 +0000 (16:41 -0700)]
Remove unused var

5 years ago[array] Add .copy()
Behdad Esfahbod [Wed, 8 May 2019 23:37:38 +0000 (16:37 -0700)]
[array] Add .copy()

5 years agoFix msan issue
Behdad Esfahbod [Wed, 8 May 2019 23:16:43 +0000 (16:16 -0700)]
Fix msan issue

hb_identity returns rvalue-reference if input is rvalue.  That, can leak
the reference and cause in bad access to temporaries after they are
destructed.  This is unfortunately unfixable given the desired
transparency of hb_identity :(.  Just don't use it with hb_map().

5 years agoMove hb_invoke() back to hb-algs.hh
Behdad Esfahbod [Wed, 8 May 2019 22:57:33 +0000 (15:57 -0700)]
Move hb_invoke() back to hb-algs.hh

5 years ago[hdmx] Touch up
Behdad Esfahbod [Wed, 8 May 2019 22:46:51 +0000 (15:46 -0700)]
[hdmx] Touch up

5 years ago[subset] WIP convert hdmx subsetting to use iterators.
Garret Rieger [Wed, 8 May 2019 00:23:02 +0000 (17:23 -0700)]
[subset] WIP convert hdmx subsetting to use iterators.

5 years ago[subset] Move hdmx to subset2.
Garret Rieger [Tue, 7 May 2019 22:47:38 +0000 (15:47 -0700)]
[subset] Move hdmx to subset2.

5 years ago[map] Return rvalues from keys()/values()
Behdad Esfahbod [Wed, 8 May 2019 22:32:57 +0000 (15:32 -0700)]
[map] Return rvalues from keys()/values()

5 years ago[map] Fix bots
Behdad Esfahbod [Wed, 8 May 2019 22:28:39 +0000 (15:28 -0700)]
[map] Fix bots

Older compilers don't like calling iter() from return-type decltype()

../src/hb-map.hh:226:12: error: cannot call member function 'decltype ((((+ hb_array(((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::items, (((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::mask ? (((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::mask + 1) : 0))) | hb_filter((& hb_hashmap_t<K, V, kINVALID, vINVALID>::item_t:: is_real))) | hb_map((& hb_hashmap_t<K, V, kINVALID, vINVALID>::item_t:: get_pair)))) hb_hashmap_t<K, V, kINVALID, vINVALID>::iter() const [with K = const hb_serialize_context_t::object_t*; V = unsigned int; K kINVALID = 0u; V vINVALID = 0u; decltype ((((+ hb_array(((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::items, (((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::mask ? (((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::mask + 1) : 0))) | hb_filter((& hb_hashmap_t<K, V, kINVALID, vINVALID>::item_t:: is_real))) | hb_map((& hb_hashmap_t<K, V, kINVALID, vINVALID>::item_t:: get_pair)))) = hb_map_iter_t<hb_filter_iter_t<hb_array_t<hb_hashmap_t<const hb_serialize_context_t::object_t*, unsigned int, 0u, 0u>::item_t>, bool (hb_hashmap_t<const hb_serialize_context_t::object_t*, unsigned int, 0u, 0u>::item_t::*)() const, const<anonymous struct>&, 0u>, hb_pair_t<const hb_serialize_context_t::object_t*, unsigned int> (hb_hashmap_t<const hb_serialize_context_t::object_t*, unsigned int, 0u, 0u>::item_t::*)() const, 0u>]' without object
     + iter()
            ^
../src/hb-meta.hh:58:41: note: in definition of macro 'HB_AUTO_RETURN'
 #define HB_AUTO_RETURN(E) -> decltype ((E)) { return (E); }
                                         ^

5 years ago[map] Add .values() iterator
Behdad Esfahbod [Wed, 8 May 2019 22:08:10 +0000 (15:08 -0700)]
[map] Add .values() iterator

5 years ago[map] Fix iter
Behdad Esfahbod [Wed, 8 May 2019 22:05:10 +0000 (15:05 -0700)]
[map] Fix iter

5 years ago[algs] Fix identity return type
Behdad Esfahbod [Wed, 8 May 2019 21:59:25 +0000 (14:59 -0700)]
[algs] Fix identity return type

5 years agoWhitespace
Behdad Esfahbod [Wed, 8 May 2019 21:46:55 +0000 (14:46 -0700)]
Whitespace

5 years ago[meta] Capture rvalue-references in is_reference / remove_reference
Behdad Esfahbod [Wed, 8 May 2019 21:44:11 +0000 (14:44 -0700)]
[meta] Capture rvalue-references in is_reference / remove_reference

5 years agoMinor
Behdad Esfahbod [Wed, 8 May 2019 21:24:57 +0000 (14:24 -0700)]
Minor

5 years ago[map] tweak test-iter.cc
rsheeter [Wed, 8 May 2019 20:51:11 +0000 (13:51 -0700)]
[map] tweak test-iter.cc

5 years ago[map] add keys()
rsheeter [Wed, 8 May 2019 19:47:18 +0000 (12:47 -0700)]
[map] add keys()

5 years ago[map] add a test for iteration
rsheeter [Wed, 8 May 2019 19:09:10 +0000 (12:09 -0700)]
[map] add a test for iteration

5 years ago[map] add iteration
rsheeter [Wed, 8 May 2019 18:40:31 +0000 (11:40 -0700)]
[map] add iteration

5 years ago[test] Add https://crbug.com/oss-fuzz/14641 testcase
Ebrahim Byagowi [Wed, 8 May 2019 21:17:14 +0000 (14:17 -0700)]
[test] Add https://crbug.com/oss-fuzz/14641 testcase

As 503748d fix

5 years agoinitialize return param subr_num in popSubrNum
Michiharu Ariza [Wed, 8 May 2019 20:44:03 +0000 (13:44 -0700)]
initialize return param subr_num in popSubrNum

also snake_cased popSubrtNum and other surrounding function names

5 years ago[name] Sanitize records for reals
Behdad Esfahbod [Wed, 8 May 2019 19:45:02 +0000 (12:45 -0700)]
[name] Sanitize records for reals

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14641

5 years ago[iter] Rename hb_iter_t() to hb_iter_type<> and add hb_item_type<>
Behdad Esfahbod [Wed, 8 May 2019 19:25:34 +0000 (12:25 -0700)]
[iter] Rename hb_iter_t() to hb_iter_type<> and add hb_item_type<>

5 years ago[map] Make .has() optionally return value
Behdad Esfahbod [Wed, 8 May 2019 19:11:52 +0000 (12:11 -0700)]
[map] Make .has() optionally return value

5 years agoMake compiler happy with -Og
Behdad Esfahbod [Wed, 8 May 2019 19:01:55 +0000 (12:01 -0700)]
Make compiler happy with -Og

5 years ago[iter] Accept pointer in hb_iter() and hb_iter_t()
Behdad Esfahbod [Wed, 8 May 2019 18:00:18 +0000 (11:00 -0700)]
[iter] Accept pointer in hb_iter() and hb_iter_t()

5 years ago[iter] Accept pointer in hb_map()
Behdad Esfahbod [Wed, 8 May 2019 17:56:09 +0000 (10:56 -0700)]
[iter] Accept pointer in hb_map()

5 years ago[serialize] LangSys subset->copy
Behdad Esfahbod [Wed, 8 May 2019 17:40:39 +0000 (10:40 -0700)]
[serialize] LangSys subset->copy

5 years agoAdd hb_iota()
Behdad Esfahbod [Wed, 8 May 2019 17:35:02 +0000 (10:35 -0700)]
Add hb_iota()

5 years ago[iter] Actually fix previous commit
Behdad Esfahbod [Wed, 8 May 2019 17:02:30 +0000 (10:02 -0700)]
[iter] Actually fix previous commit

The iter objects shouldn't not be const.  D'oh.

5 years ago[iter] For ref-qualified variants
Behdad Esfahbod [Wed, 8 May 2019 16:56:29 +0000 (09:56 -0700)]
[iter] For ref-qualified variants

5 years agoUpdate README.md
rsheeter [Wed, 8 May 2019 16:53:58 +0000 (09:53 -0700)]
Update README.md

5 years agoUpdate README.md
rsheeter [Wed, 8 May 2019 16:53:29 +0000 (09:53 -0700)]
Update README.md

5 years ago[docs] add fuzzer instructions (courtesy of Garret)
rsheeter [Wed, 8 May 2019 16:47:34 +0000 (09:47 -0700)]
[docs] add fuzzer instructions (courtesy of Garret)