platform/upstream/libHarfBuzzSharp.git
5 years ago[atomic] Fix warning, second time
Behdad Esfahbod [Mon, 27 May 2019 17:08:07 +0000 (13:08 -0400)]
[atomic] Fix warning, second time

Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1554306

5 years ago[ucd] Update for latest packTab
Behdad Esfahbod [Sat, 25 May 2019 20:33:21 +0000 (16:33 -0400)]
[ucd] Update for latest packTab

5 years ago[ucd] Update for recent packTab
Behdad Esfahbod [Sat, 25 May 2019 19:58:45 +0000 (15:58 -0400)]
[ucd] Update for recent packTab

No need for separate youseedy package.

5 years ago[ci] minor
Ebrahim Byagowi [Sat, 25 May 2019 18:25:06 +0000 (22:55 +0430)]
[ci] minor

5 years ago[ci] minor
Ebrahim Byagowi [Sat, 25 May 2019 18:16:10 +0000 (22:46 +0430)]
[ci] minor

5 years ago[ci] Store dist-win result instead
Ebrahim Byagowi [Sat, 25 May 2019 18:03:02 +0000 (22:33 +0430)]
[ci] Store dist-win result instead

5 years ago[atomic] Fix warnings
Behdad Esfahbod [Sat, 25 May 2019 16:59:01 +0000 (12:59 -0400)]
[atomic] Fix warnings

https://bugzilla.mozilla.org/show_bug.cgi?id=1554306

5 years ago[mingw] Update instructions
Behdad Esfahbod [Sat, 25 May 2019 16:52:16 +0000 (12:52 -0400)]
[mingw] Update instructions

https://github.com/harfbuzz/harfbuzz/issues/1728

5 years ago[mutex] Prefer pthread over windows
Behdad Esfahbod [Sat, 25 May 2019 16:49:20 +0000 (12:49 -0400)]
[mutex] Prefer pthread over windows

https://github.com/harfbuzz/harfbuzz/issues/1728

5 years agoLook for pthread even if win32
Behdad Esfahbod [Sat, 25 May 2019 16:45:40 +0000 (12:45 -0400)]
Look for pthread even if win32

https://github.com/harfbuzz/harfbuzz/issues/1728

5 years ago[mingw] Some more tweaks
Behdad Esfahbod [Sat, 25 May 2019 16:42:38 +0000 (12:42 -0400)]
[mingw] Some more tweaks

It now survives ./config.status --recheck as well.

https://github.com/harfbuzz/harfbuzz/issues/1728

5 years ago[mingw] Add "make dist-win" to toplevel Makefile
Behdad Esfahbod [Sat, 25 May 2019 16:35:09 +0000 (12:35 -0400)]
[mingw] Add "make dist-win" to toplevel Makefile

5 years ago[mingw] More
Behdad Esfahbod [Sat, 25 May 2019 16:16:28 +0000 (12:16 -0400)]
[mingw] More

5 years ago[ci] Remove --without-icu now that we have it in ./mingw{32,64} scripts
Ebrahim Byagowi [Sat, 25 May 2019 16:10:03 +0000 (20:40 +0430)]
[ci] Remove --without-icu now that we have it in ./mingw{32,64} scripts

5 years ago[mingw] Force off ICU
Behdad Esfahbod [Sat, 25 May 2019 16:08:05 +0000 (12:08 -0400)]
[mingw] Force off ICU

If cross-compiled ICU is not available, we might end up finding the
native ICU via icu-config.  That's distracting.

5 years ago[ci] Build mingw on Fedora and store .exe outputs
Ebrahim Byagowi [Sat, 25 May 2019 15:57:29 +0000 (20:27 +0430)]
[ci] Build mingw on Fedora and store .exe outputs

5 years ago[ming2] Update instructions
Behdad Esfahbod [Sat, 25 May 2019 15:37:23 +0000 (11:37 -0400)]
[ming2] Update instructions

Part of https://github.com/harfbuzz/harfbuzz/issues/1728

Only left to write how to create a win32 bundle.

5 years ago[mingw] Rename README.wine
Behdad Esfahbod [Sat, 25 May 2019 15:18:40 +0000 (11:18 -0400)]
[mingw] Rename README.wine

5 years ago[mingw] Update for recent change
Behdad Esfahbod [Sat, 25 May 2019 15:17:56 +0000 (11:17 -0400)]
[mingw] Update for recent change

5 years ago[mingw] Update for Fedora mingw installation location
Behdad Esfahbod [Sat, 25 May 2019 15:15:15 +0000 (11:15 -0400)]
[mingw] Update for Fedora mingw installation location

Also adds --with-uniscribe by default.

Part of https://github.com/harfbuzz/harfbuzz/issues/1728

5 years agoMerge pull request #1691 from n8willis/usermanual-shaping
n8willis [Sat, 25 May 2019 15:05:07 +0000 (16:05 +0100)]
Merge pull request #1691 from n8willis/usermanual-shaping

Usermanual: Add new chapters.

5 years agoUsermanual; minor.
Nathan Willis [Sat, 25 May 2019 11:26:50 +0000 (12:26 +0100)]
Usermanual; minor.

5 years ago[win] Add mingw-ldd.py
Behdad Esfahbod [Fri, 24 May 2019 21:02:38 +0000 (17:02 -0400)]
[win] Add mingw-ldd.py

Part of https://github.com/harfbuzz/harfbuzz/issues/1728

5 years ago2.5.0
Behdad Esfahbod [Fri, 24 May 2019 19:56:15 +0000 (15:56 -0400)]
2.5.0

5 years agoPut back Since: tags for hb_color_get_*
Behdad Esfahbod [Fri, 24 May 2019 19:41:34 +0000 (15:41 -0400)]
Put back Since: tags for hb_color_get_*

5 years agoUsermanual-buffers-chapter: trim out fallback-of-ufuncs talk and just mention that...
Nathan Willis [Fri, 24 May 2019 19:30:22 +0000 (20:30 +0100)]
Usermanual-buffers-chapter: trim out fallback-of-ufuncs talk and just mention that stuff exists if you care to go find it.

5 years agoFix fuzzer crash testcase
Qunxin Liu [Fri, 24 May 2019 17:58:52 +0000 (10:58 -0700)]
Fix fuzzer crash testcase

Add a check for stringOffSet(uint16) overflow,
return early if overflow happens

5 years agoUsermanual-buffers-chapter: explain ICU fallback for Ufuncs.
Nathan Willis [Fri, 24 May 2019 19:13:35 +0000 (20:13 +0100)]
Usermanual-buffers-chapter: explain ICU fallback for Ufuncs.

5 years ago[use] Allow multiple FMs in a cluster
David Corbett [Sun, 19 May 2019 14:01:20 +0000 (10:01 -0400)]
[use] Allow multiple FMs in a cluster

5 years agoDon't compile in UCD if HB_NO_UCD defined
Behdad Esfahbod [Fri, 24 May 2019 16:37:53 +0000 (12:37 -0400)]
Don't compile in UCD if HB_NO_UCD defined

5 years ago[blob] Shuffle
Behdad Esfahbod [Fri, 24 May 2019 14:52:09 +0000 (10:52 -0400)]
[blob] Shuffle

5 years agoMerge pull request #1722 from googlefonts/glyf
rsheeter [Fri, 24 May 2019 18:22:41 +0000 (11:22 -0700)]
Merge pull request #1722 from googlefonts/glyf

[subset] Use iterators in glyf/loca subsetting

5 years ago[subset] Per code review, use hb_array to avoid duplicated type name
Rod Sheeter [Fri, 24 May 2019 17:52:49 +0000 (10:52 -0700)]
[subset] Per code review, use hb_array to avoid duplicated type name

5 years ago[subset] Cppcheck complaints
Rod Sheeter [Fri, 24 May 2019 17:39:56 +0000 (10:39 -0700)]
[subset] Cppcheck complaints

5 years ago[subset] Address @behdad review feedback
Rod Sheeter [Fri, 24 May 2019 17:10:12 +0000 (10:10 -0700)]
[subset] Address @behdad review feedback

5 years agoOne more
Behdad Esfahbod [Fri, 24 May 2019 01:37:17 +0000 (21:37 -0400)]
One more

5 years agoFix build after UCDN -> UCD
Behdad Esfahbod [Fri, 24 May 2019 01:36:42 +0000 (21:36 -0400)]
Fix build after UCDN -> UCD

5 years ago[ucd] Add URL to dependencies
Behdad Esfahbod [Fri, 24 May 2019 00:39:04 +0000 (20:39 -0400)]
[ucd] Add URL to dependencies

5 years ago[ucdn] Replace UCDN with a new UCD implementation
Behdad Esfahbod [Wed, 22 May 2019 20:21:21 +0000 (16:21 -0400)]
[ucdn] Replace UCDN with a new UCD implementation

UCDN was ~120kb of data.  New implementatoin is 69kb in default builds,
and 49kb if built with HB_OPTIMIZE_SIZE or __OPTIMIZE_SIZE__.  The
latter automatically enabled if built with -Os or -Oz.

There's room to shave off another 10kb or 20kb.  That will follow later.

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

5 years ago[deprecated] Minor
Behdad Esfahbod [Thu, 23 May 2019 17:33:21 +0000 (13:33 -0400)]
[deprecated] Minor

5 years ago[gen-ucd] Rename
Behdad Esfahbod [Wed, 22 May 2019 19:51:53 +0000 (15:51 -0400)]
[gen-ucd] Rename

5 years ago[gen-ucd] Minor
Behdad Esfahbod [Wed, 22 May 2019 19:46:19 +0000 (15:46 -0400)]
[gen-ucd] Minor

5 years agoMerge pull request #1723 from googlefonts/drop_tables
Ebrahim Byagowi [Thu, 23 May 2019 06:32:15 +0000 (11:02 +0430)]
Merge pull request #1723 from googlefonts/drop_tables

[subset] Add morx, mort, kern, and kernx to the default layout tables…

5 years ago[subset] Add morx, mort, kern, and kernx to the default layout tables drop list.
Garret Rieger [Thu, 23 May 2019 00:36:16 +0000 (17:36 -0700)]
[subset] Add morx, mort, kern, and kernx to the default layout tables drop list.

5 years ago[subset] Add one ttf file with fvar/STAT tables to integration test
Qunxin Liu [Tue, 14 May 2019 20:55:11 +0000 (13:55 -0700)]
[subset] Add one ttf file with fvar/STAT tables to integration test
Ignore gvar/MVAR/HVAR table
add support for --nameIDs=* option

5 years ago[subset] Report failure more often
Rod Sheeter [Wed, 22 May 2019 03:22:40 +0000 (20:22 -0700)]
[subset] Report failure more often

5 years ago[subset] Thar be comparison of integers of different signs
Rod Sheeter [Wed, 22 May 2019 03:12:19 +0000 (20:12 -0700)]
[subset] Thar be comparison of integers of different signs

5 years ago[subset] Code review feedback
Rod Sheeter [Wed, 22 May 2019 03:09:36 +0000 (20:09 -0700)]
[subset] Code review feedback

5 years ago[gen-ucd] Generate decomposition tables
Behdad Esfahbod [Tue, 21 May 2019 20:43:14 +0000 (16:43 -0400)]
[gen-ucd] Generate decomposition tables

Code is ugly.  Ugh.

5 years ago[gen-ucd] Comment
Behdad Esfahbod [Tue, 21 May 2019 17:02:54 +0000 (13:02 -0400)]
[gen-ucd] Comment

5 years ago[gen-ucd] Remove some code
Behdad Esfahbod [Mon, 20 May 2019 21:33:55 +0000 (17:33 -0400)]
[gen-ucd] Remove some code

5 years ago[subset] Remove missed reference to hb-subset-glyf, was deleted
Rod Sheeter [Tue, 21 May 2019 20:07:43 +0000 (13:07 -0700)]
[subset] Remove missed reference to hb-subset-glyf, was deleted

5 years ago[subset] Add test/subset/data/expected/layout to dist list.
Garret Rieger [Tue, 21 May 2019 18:23:26 +0000 (11:23 -0700)]
[subset] Add test/subset/data/expected/layout to dist list.

5 years ago[subset] For gsub subsetting only consider glyphs reachable via gsub closure.
Garret Rieger [Mon, 20 May 2019 22:04:20 +0000 (15:04 -0700)]
[subset] For gsub subsetting only consider glyphs reachable via gsub closure.

5 years ago[subset] Add integration tests for SingleSubst.
Garret Rieger [Thu, 16 May 2019 17:57:33 +0000 (10:57 -0700)]
[subset] Add integration tests for SingleSubst.

5 years ago[subset] Iter in and out for loca
Rod Sheeter [Tue, 21 May 2019 19:38:53 +0000 (12:38 -0700)]
[subset] Iter in and out for loca

5 years ago[subset] Write loca using more idiomatic harfbuzzese
Rod Sheeter [Tue, 21 May 2019 18:14:31 +0000 (11:14 -0700)]
[subset] Write loca using more idiomatic harfbuzzese

5 years agoMerge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf
Rod Sheeter [Tue, 21 May 2019 04:29:54 +0000 (21:29 -0700)]
Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf

5 years ago[subset] Fix memory leak caused by failure to cleanup glyf accelerator
Rod Sheeter [Tue, 21 May 2019 03:40:55 +0000 (20:40 -0700)]
[subset] Fix memory leak caused by failure to cleanup glyf accelerator

5 years ago[subset] Fix null pointer deref, tidy up a bit
Rod Sheeter [Fri, 17 May 2019 02:16:52 +0000 (19:16 -0700)]
[subset] Fix null pointer deref, tidy up a bit

5 years ago[subset] Tests passing using iterator based glyf
Rod Sheeter [Fri, 17 May 2019 02:14:16 +0000 (19:14 -0700)]
[subset] Tests passing using iterator based glyf

5 years agoMerge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf
Rod Sheeter [Thu, 16 May 2019 22:14:01 +0000 (15:14 -0700)]
Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf

5 years ago[subset] Tweak hint stripping
rsheeter [Sun, 12 May 2019 06:16:40 +0000 (23:16 -0700)]
[subset] Tweak hint stripping

5 years ago[subset] Fix glyf tests except hint stripping & local test asan
rsheeter [Sun, 12 May 2019 05:06:46 +0000 (22:06 -0700)]
[subset] Fix glyf tests except hint stripping & local test asan

5 years ago[subset] Destroy blob
Rod Sheeter [Fri, 10 May 2019 23:52:19 +0000 (16:52 -0700)]
[subset] Destroy blob

5 years ago[subset] Correct flipped use short computation
Rod Sheeter [Fri, 10 May 2019 16:32:43 +0000 (09:32 -0700)]
[subset] Correct flipped use short computation

5 years ago[subset] Glyf by iter now runs but fails tests
Rod Sheeter [Fri, 10 May 2019 05:12:20 +0000 (22:12 -0700)]
[subset] Glyf by iter now runs but fails tests

5 years agoMerge branch 'glyf' of github.com:googlefonts/harfbuzz into glyf
Rod Sheeter [Fri, 10 May 2019 03:02:38 +0000 (20:02 -0700)]
Merge branch 'glyf' of github.com:googlefonts/harfbuzz into glyf

5 years ago[subset] Dinner time, checkpoint
rsheeter [Wed, 8 May 2019 23:52:00 +0000 (16:52 -0700)]
[subset] Dinner time, checkpoint

5 years ago[subset] Remove subset-glyf; want everything to point to new iter-based edition....
rsheeter [Wed, 8 May 2019 21:59:03 +0000 (14:59 -0700)]
[subset] Remove subset-glyf; want everything to point to new iter-based edition. Some of the code will resurface as impl builds out.

5 years ago[subset] Starting to sketch glyf as iter
rsheeter [Wed, 8 May 2019 21:43:18 +0000 (14:43 -0700)]
[subset] Starting to sketch glyf as iter

5 years ago[subset] Dinner time, checkpoint
rsheeter [Wed, 8 May 2019 23:52:00 +0000 (16:52 -0700)]
[subset] Dinner time, checkpoint

5 years agoMerge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf
rsheeter [Wed, 8 May 2019 23:45:35 +0000 (16:45 -0700)]
Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf

5 years agoMerge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf
rsheeter [Wed, 8 May 2019 23:39:45 +0000 (16:39 -0700)]
Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf

5 years ago[subset] Remove subset-glyf; want everything to point to new iter-based edition....
rsheeter [Wed, 8 May 2019 21:59:03 +0000 (14:59 -0700)]
[subset] Remove subset-glyf; want everything to point to new iter-based edition. Some of the code will resurface as impl builds out.

5 years ago[subset] Starting to sketch glyf as iter
rsheeter [Wed, 8 May 2019 21:43:18 +0000 (14:43 -0700)]
[subset] Starting to sketch glyf as iter

5 years ago[docs] Tweak fuzzer doc
rsheeter [Tue, 21 May 2019 03:45:11 +0000 (20:45 -0700)]
[docs] Tweak fuzzer doc

5 years ago[gen-ucd] Generate script order table
Behdad Esfahbod [Mon, 20 May 2019 21:29:13 +0000 (17:29 -0400)]
[gen-ucd] Generate script order table

5 years ago[gen-ucd] Start adding script-order
Behdad Esfahbod [Mon, 20 May 2019 21:17:38 +0000 (17:17 -0400)]
[gen-ucd] Start adding script-order

5 years ago[gen-ucd] Add gc order
Behdad Esfahbod [Mon, 20 May 2019 20:57:04 +0000 (16:57 -0400)]
[gen-ucd] Add gc order

5 years ago[gen-ucd] Flesh out a bit more
Behdad Esfahbod [Mon, 20 May 2019 19:47:49 +0000 (15:47 -0400)]
[gen-ucd] Flesh out a bit more

5 years agoAdd HB_OPTIMIZE_SIZE
Behdad Esfahbod [Mon, 20 May 2019 19:33:23 +0000 (15:33 -0400)]
Add HB_OPTIMIZE_SIZE

Part of https://github.com/harfbuzz/harfbuzz/issues/1652

5 years ago[subset] Use hb_subset_input_t inside of subset_options_t so that input defaults...
Garret Rieger [Fri, 17 May 2019 22:30:01 +0000 (15:30 -0700)]
[subset] Use hb_subset_input_t inside of subset_options_t so that input defaults are shared between the library and cli.

5 years ago[subset] Add drop-tables option to hb-subset util.
Garret Rieger [Thu, 16 May 2019 22:13:39 +0000 (15:13 -0700)]
[subset] Add drop-tables option to hb-subset util.

5 years ago[subset] Add drop tables to subset input.
Garret Rieger [Thu, 16 May 2019 18:29:15 +0000 (11:29 -0700)]
[subset] Add drop tables to subset input.

5 years ago[cff] Fix unlikely invocations
Behdad Esfahbod [Mon, 20 May 2019 15:39:07 +0000 (11:39 -0400)]
[cff] Fix unlikely invocations

5 years ago[test] Add one more
Behdad Esfahbod [Mon, 20 May 2019 15:38:02 +0000 (11:38 -0400)]
[test] Add one more

5 years ago[STAT] Fix sanitize condition
Behdad Esfahbod [Mon, 20 May 2019 15:37:16 +0000 (11:37 -0400)]
[STAT] Fix sanitize condition

Oops!

Fixes https://oss-fuzz.com/testcase-detail/5696825891225600

5 years agoDon't set _POSIX_C_SOURCE in NetBSD
Ebrahim Byagowi [Sat, 18 May 2019 14:44:48 +0000 (07:44 -0700)]
Don't set _POSIX_C_SOURCE in NetBSD

According to a harfbuzz package patch on NetBSD project
https://github.com/NetBSD/pkgsrc/blob/trunk/fonts/harfbuzz/patches/patch-src_hb-blob.cc

5 years agoOops, fix include
Behdad Esfahbod [Fri, 17 May 2019 23:21:34 +0000 (16:21 -0700)]
Oops, fix include

5 years ago[set] Use StructAtOffsetUnaligned
Behdad Esfahbod [Fri, 17 May 2019 23:20:36 +0000 (16:20 -0700)]
[set] Use StructAtOffsetUnaligned

5 years agoUpdate TESTING.md
rsheeter [Thu, 16 May 2019 22:58:49 +0000 (15:58 -0700)]
Update TESTING.md

5 years agoFix msan issue
Behdad Esfahbod [Thu, 16 May 2019 20:32:56 +0000 (13:32 -0700)]
Fix msan issue

The fact that HB_AUTO_RETURN will return rvalue-references for rvalues
is very disturbing.

Even apart from that, I'm totally lost re any hb_move needs or
hb_forward'ing to functions/templates where the type is fixed by
explicitly specifying template parameters.

==1==ERROR: AddressSanitizer: stack-use-after-return on address 0x7f6ad65e51e0 at pc 0x0000005da240 bp 0x7ffc104ab670 sp 0x7ffc104ab668
READ of size 4 at 0x7f6ad65e51e0 thread T0
SCARINESS: 55 (4-byte-read-stack-use-after-return)
     #0 0x5da23f in bool OT::Coverage::serialize<hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<OT::Coverage::iter_t, hb_set_t const&, $_7&, (void*)0>, OT::SingleSubstFormat1::subset(hb_subset_context_t*) const::'lambda'(unsigned int), (hb_function_sortedness_t)1, (void*)0>, $_20&, (hb_function_sortedness_t)1, (void*)0>, (void*)0>(hb_serialize_context_t*, hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<OT::Coverage::iter_t, hb_set_t const&, $_7&, (void*)0>, OT::SingleSubstFormat1::subset(hb_subset_context_t*) const::'lambda'(unsigned int), (hb_function_sortedness_t)1, (void*)0>, $_20&, (hb_function_sortedness_t)1, (void*)0>) harfbuzz/src/hb-ot-layout-common.hh:1055:16
     #1 0x5d88f9 in bool OT::SingleSubstFormat1::serialize<hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<OT::Coverage::iter_t, hb_set_t const&, $_7&, (void*)0>, OT::SingleSubstFormat1::subset(hb_subset_context_t*) const::'lambda'(unsigned int), (hb_function_sortedness_t)1, (void*)0>, $_20&, (hb_function_sortedness_t)1, (void*)0>, (void*)0>(hb_serialize_context_t*, hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<OT::Coverage::iter_t, hb_set_t const&, $_7&, (void*)0>, OT::SingleSubstFormat1::subset(hb_subset_context_t*) const::'lambda'(unsigned int), (hb_function_sortedness_t)1, (void*)0>, $_20&, (hb_function_sortedness_t)1, (void*)0>, unsigned int) harfbuzz/src/hb-ot-layout-gsub-table.hh:98:9

5 years agoWhitespace
Behdad Esfahbod [Thu, 16 May 2019 20:22:09 +0000 (13:22 -0700)]
Whitespace

5 years ago[subset] Remove extra iteration
Behdad Esfahbod [Thu, 16 May 2019 20:05:58 +0000 (13:05 -0700)]
[subset] Remove extra iteration

5 years ago[subset] Truncate empty gids at the end in retain-gids mode.
Garret Rieger [Wed, 15 May 2019 16:42:38 +0000 (09:42 -0700)]
[subset] Truncate empty gids at the end in retain-gids mode.

5 years agoUse hb_map(hb_add(this)) to dereference OffsetTo<>'s
Behdad Esfahbod [Thu, 16 May 2019 04:57:26 +0000 (21:57 -0700)]
Use hb_map(hb_add(this)) to dereference OffsetTo<>'s

5 years ago[algs] Rename hb_bind to hb_partial
Behdad Esfahbod [Thu, 16 May 2019 04:41:12 +0000 (21:41 -0700)]
[algs] Rename hb_bind to hb_partial

Since our API is the invers of what std::bind is, and closer to Python
functools.partial().

5 years ago[algs] Change hb_bind parameter number to be from one
Behdad Esfahbod [Thu, 16 May 2019 04:36:42 +0000 (21:36 -0700)]
[algs] Change hb_bind parameter number to be from one

To match std:;bind, even though our interfaces are very different.

5 years agoAdd back symmetric OffsetTo<>::friend operator+
Behdad Esfahbod [Thu, 16 May 2019 04:18:14 +0000 (21:18 -0700)]
Add back symmetric OffsetTo<>::friend operator+

Finally seems to be working now.