All of lore.kernel.org
 help / color / mirror / Atom feed
From: Giulio Benetti <giulio.benetti@benettiengineering.com>
To: Bernd Kuhls <bernd.kuhls@t-online.de>, buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH 1/1] package/harfbuzz: fix build with gcc < 7
Date: Thu, 21 Jul 2022 01:21:09 +0200	[thread overview]
Message-ID: <1ea32636-a741-d7c8-1326-77fa90200ee4@benettiengineering.com> (raw)
In-Reply-To: <20220720171756.307458-1-bernd.kuhls@t-online.de>

Hi Bernd,

On 20/07/22 19:17, Bernd Kuhls wrote:
> Fixes various build errors
> 
> In file included from ../src/hb-kern.hh:32:0,
>                   from ../src/hb-ot-shape-fallback.cc:32:
> ../src/hb-ot-layout-gpos-table.hh:50:117: error: specialization of 'template<class context_t> static typename context_t::return_t OT::Layout::GPOS_impl::PosLookup::dispatch_recurse_func(context_t*, unsigned int)' in different namespace [-fpermissive]
> 
> introduced by bumping harfbuzz to 4.4.1 in
> 03022329e02332c22f44e0e0a9b17d8454ba26ae
> 
> The build error was not yet caught by the autobuilders but can be
> reproduced using this defconfig:
> http://autobuild.buildroot.org/results/3fe7526b685368007ae0f66e15ef2b27d30d5063/
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>

Thank you for the patch. I've confused the your patch(GPOS) with already
committed patch(GSUB). I've reproduced the bug and with this patch it's 
fixed, so:

Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>

Best regards!
-- 
Giulio Benetti
Benetti Engineering sas

> ---
>   .../0004-GPOS-Fix-build-on-GCC-7.patch        | 97 +++++++++++++++++++
>   1 file changed, 97 insertions(+)
>   create mode 100644 package/harfbuzz/0004-GPOS-Fix-build-on-GCC-7.patch
> 
> diff --git a/package/harfbuzz/0004-GPOS-Fix-build-on-GCC-7.patch b/package/harfbuzz/0004-GPOS-Fix-build-on-GCC-7.patch
> new file mode 100644
> index 0000000000..ead6fc024f
> --- /dev/null
> +++ b/package/harfbuzz/0004-GPOS-Fix-build-on-GCC-7.patch
> @@ -0,0 +1,97 @@
> +From 3238cb744bb570a75326ab4438968c59069e9af2 Mon Sep 17 00:00:00 2001
> +From: Kleis Auke Wolthuizen <github@kleisauke.nl>
> +Date: Wed, 6 Jul 2022 13:18:14 +0200
> +Subject: [PATCH] [GPOS] Fix build on GCC < 7
> +
> +[Retrieved (and backported) from:
> +https://github.com/harfbuzz/harfbuzz/commit/3238cb744bb570a75326ab4438968c59069e9af2]
> +Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> +---
> + src/OT/Layout/GPOS/GPOS.hh     | 17 ++++++++++-------
> + src/hb-ot-layout-gpos-table.hh |  6 ++++--
> + 2 files changed, 14 insertions(+), 9 deletions(-)
> +
> +diff --git a/src/OT/Layout/GPOS/GPOS.hh b/src/OT/Layout/GPOS/GPOS.hh
> +index 7fb97d7568..23b0b090a2 100644
> +--- a/src/OT/Layout/GPOS.hh
> ++++ b/src/OT/Layout/GPOS.hh
> +@@ -7,6 +7,9 @@
> + #include "GPOS/PosLookup.hh"
> +
> + namespace OT {
> ++
> ++using Layout::GPOS_impl::PosLookup;
> ++
> + namespace Layout {
> +
> + static void
> +@@ -25,10 +28,10 @@ struct GPOS : GSUBGPOS
> + {
> +   static constexpr hb_tag_t tableTag = HB_OT_TAG_GPOS;
> +
> +-  using Lookup = GPOS_impl::PosLookup;
> ++  using Lookup = PosLookup;
> +
> +-  const GPOS_impl::PosLookup& get_lookup (unsigned int i) const
> +-  { return static_cast<const GPOS_impl::PosLookup &> (GSUBGPOS::get_lookup (i)); }
> ++  const PosLookup& get_lookup (unsigned int i) const
> ++  { return static_cast<const PosLookup &> (GSUBGPOS::get_lookup (i)); }
> +
> +   static inline void position_start (hb_font_t *font, hb_buffer_t *buffer);
> +   static inline void position_finish_advances (hb_font_t *font, hb_buffer_t *buffer);
> +@@ -37,11 +40,11 @@ struct GPOS : GSUBGPOS
> +   bool subset (hb_subset_context_t *c) const
> +   {
> +     hb_subset_layout_context_t l (c, tableTag, c->plan->gpos_lookups, c->plan->gpos_langsys, c->plan->gpos_features);
> +-    return GSUBGPOS::subset<GPOS_impl::PosLookup> (&l);
> ++    return GSUBGPOS::subset<PosLookup> (&l);
> +   }
> +
> +   bool sanitize (hb_sanitize_context_t *c) const
> +-  { return GSUBGPOS::sanitize<GPOS_impl::PosLookup> (c); }
> ++  { return GSUBGPOS::sanitize<PosLookup> (c); }
> +
> +   HB_INTERNAL bool is_blocklisted (hb_blob_t *blob,
> +                                    hb_face_t *face) const;
> +@@ -51,7 +54,7 @@ struct GPOS : GSUBGPOS
> +     for (unsigned i = 0; i < GSUBGPOS::get_lookup_count (); i++)
> +     {
> +       if (!c->gpos_lookups->has (i)) continue;
> +-      const GPOS_impl::PosLookup &l = get_lookup (i);
> ++      const PosLookup &l = get_lookup (i);
> +       l.dispatch (c);
> +     }
> +   }
> +@@ -59,7 +62,7 @@ struct GPOS : GSUBGPOS
> +   void closure_lookups (hb_face_t      *face,
> +                         const hb_set_t *glyphs,
> +                         hb_set_t       *lookup_indexes /* IN/OUT */) const
> +-  { GSUBGPOS::closure_lookups<GPOS_impl::PosLookup> (face, glyphs, lookup_indexes); }
> ++  { GSUBGPOS::closure_lookups<PosLookup> (face, glyphs, lookup_indexes); }
> +
> +   typedef GSUBGPOS::accelerator_t<GPOS> accelerator_t;
> + };
> +diff --git a/src/hb-ot-layout-gpos-table.hh b/src/hb-ot-layout-gpos-table.hh
> +index f5059cfa83..8fe987fc50 100644
> +--- a/src/hb-ot-layout-gpos-table.hh
> ++++ b/src/hb-ot-layout-gpos-table.hh
> +@@ -32,8 +32,8 @@
> + #include "OT/Layout/GPOS.hh"
> +
> + namespace OT {
> +-
> +-using Layout::GPOS_impl::PosLookup;
> ++namespace Layout {
> ++namespace GPOS_impl {
> +
> + // TODO(garretrieger): Move into new layout directory.
> + /* Out-of-class implementation for methods recursing */
> +@@ -68,6 +68,8 @@ inline bool PosLookup::dispatch_recurse_func<hb_ot_apply_context_t> (hb_ot_apply
> + }
> + #endif
> +
> ++} /* namespace GPOS_impl */
> ++} /* namespace Layout */
> + } /* namespace OT */
> +
> +

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  reply	other threads:[~2022-07-20 23:28 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-20 17:17 [Buildroot] [PATCH 1/1] package/harfbuzz: fix build with gcc < 7 Bernd Kuhls
2022-07-20 23:21 ` Giulio Benetti [this message]
2022-07-22 17:24 ` Arnout Vandecappelle
     [not found] <20220712162712.1582871-1-fontaine.fabrice__39469.849776809$1657643442$gmane$org@gmail.com>
2022-07-17 11:10 ` Bernd Kuhls
  -- strict thread matches above, loose matches on Subject: below --
2022-07-12 16:27 Fabrice Fontaine
2022-07-12 21:08 ` Giulio Benetti
2022-07-20 11:50 ` Thomas Petazzoni via buildroot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1ea32636-a741-d7c8-1326-77fa90200ee4@benettiengineering.com \
    --to=giulio.benetti@benettiengineering.com \
    --cc=bernd.kuhls@t-online.de \
    --cc=buildroot@buildroot.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.