Commit Graph

8880 Commits

Author SHA1 Message Date
Behdad Esfahbod 8d05bf7dc0 Fix cast-align error
If compiler doesn't inline StructAtOffset, this was an error since we
only disable cast-align at call-site.  So, move the cast out.

../src/hb-machinery.hh: In instantiation of 'const Type& StructAtOffset(const void*, unsigned int) [with Type = unsigned int]':
../src/hb-font.cc:146:85:   required from here
../src/hb-machinery.hh:63:12: error: cast from 'const char*' to 'const unsigned int*' increases required alignment of target type [-Werror=cast-align]
 { return * reinterpret_cast<const Type*> ((const char *) P + offset); }
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/hb-machinery.hh: In instantiation of 'Type& StructAtOffset(void*, unsigned int) [with Type = unsigned int]':
../src/hb-font.cc:147:79:   required from here
../src/hb-machinery.hh:66:12: error: cast from 'char*' to 'unsigned int*' increases required alignment of target type [-Werror=cast-align]
 { return * reinterpret_cast<Type*> ((char *) P + offset); }
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2019-01-22 12:34:05 +01:00
Behdad Esfahbod b270cee6c5 [CI] Remove gcc 4.2 bots
We don't support that version anymore.
2019-01-22 12:29:05 +01:00
Behdad Esfahbod 70a52d6bd8 Convert all other enum class consts to static constexpr
Fixes https://github.com/harfbuzz/harfbuzz/issues/1553
2019-01-22 12:17:26 +01:00
Behdad Esfahbod 5d4b0377b9 Convert unsigned enum class consts to static constexpr
Part of https://github.com/harfbuzz/harfbuzz/issues/1553
2019-01-22 12:17:26 +01:00
Behdad Esfahbod ef00654962 Convert tag enum class consts to static constexpr
Part of https://github.com/harfbuzz/harfbuzz/issues/1553
2019-01-22 12:17:26 +01:00
Behdad Esfahbod 39e1b6d03f Convert boolean enum class consts to static constexpr
Part of https://github.com/harfbuzz/harfbuzz/issues/1553
2019-01-22 12:17:26 +01:00
Behdad Esfahbod 271cb7c1c0 Make some enum constants unsigned 2019-01-22 12:17:26 +01:00
Behdad Esfahbod 3d9a6e6266 Whitespace 2019-01-22 12:17:26 +01:00
Behdad Esfahbod c81f02fd06 pragma GCC diagnostic error "-Wvla" 2019-01-22 12:17:26 +01:00
Alfie John ff98109455 Fix grammar 2019-01-22 12:00:12 +02:00
Alfie John e9c0f5e714 Grammar fix 2019-01-22 12:00:12 +02:00
Behdad Esfahbod 789396ed6b Remove wrongly added files 2019-01-22 10:51:21 +01:00
Behdad Esfahbod 380c3cffb9 Use enum for class constant 2019-01-22 10:51:20 +01:00
Behdad Esfahbod 6d042a18e7 [CFF] Use enum for tableTag 2019-01-22 10:51:20 +01:00
Behdad Esfahbod c1cbbb9459 Use static constexpr for large class constants 2019-01-22 10:51:20 +01:00
Khaled Hosny 30ae62779f Regular spaces will do 2019-01-21 16:44:48 +02:00
Alfie John ed62551d67 Adding leading space for code example 2019-01-21 10:39:48 +02:00
Alfie John 3e332544db Fix description of example 2019-01-21 10:39:48 +02:00
Alfie John 2144ca9f01 Added option to build docs to docs 2019-01-21 10:39:48 +02:00
Behdad Esfahbod 21c0713a1c Whitespace 2019-01-20 20:12:12 -05:00
Behdad Esfahbod 934d3fa2a7 Use more iter pipelines 2019-01-20 20:12:12 -05:00
Behdad Esfahbod 420d8ac350 [algs] Add hb_iter()
Makes it nicer in pipelines.
2019-01-20 20:12:12 -05:00
Behdad Esfahbod 54ec48ea20 Use iter pipelines more 2019-01-20 20:12:12 -05:00
Behdad Esfahbod 83cecd80d9 [iter] Default projection to identity 2019-01-20 20:12:12 -05:00
Behdad Esfahbod a699c6b17c [algs] Add hb_identity 2019-01-20 20:12:12 -05:00
Behdad Esfahbod 463cfb426f Fix unused-variable warnings
inline variables are not C++11, so mark them unused...
2019-01-20 20:12:12 -05:00
Behdad Esfahbod f4cbb1ee0c WIP 2019-01-20 20:12:12 -05:00
Behdad Esfahbod 471e96e55d [iter] Use forwarding references 2019-01-20 20:12:12 -05:00
Behdad Esfahbod 528ea66f24 [algs] Fix hb_first() / hb_second() 2019-01-20 20:12:12 -05:00
Behdad Esfahbod 343f5a4bfc [iter] Misc fixes to get piping almost work 2019-01-20 20:12:12 -05:00
Behdad Esfahbod 7cedf7f64c Change hb_first() and hb_second() to function objects 2019-01-20 20:12:12 -05:00
Behdad Esfahbod f35568d603 [iter] Add hb_filter()
Untested.
2019-01-20 20:12:12 -05:00
Behdad Esfahbod 1733e4702c [iter] Add hb_map()
Untested.
2019-01-20 20:12:12 -05:00
Behdad Esfahbod f7fcc47641 [iter] Make hb_zip() take const references 2019-01-20 20:12:12 -05:00
Behdad Esfahbod ede1a71b31 Minor rename 2019-01-20 20:12:12 -05:00
Behdad Esfahbod 93551669c5 Remove unused Coverage::iter_t::get_coverage() 2019-01-20 20:12:12 -05:00
Behdad Esfahbod af2067e87b Use hb_zip() moooore 2019-01-20 20:12:12 -05:00
Behdad Esfahbod 0d1fdf939d Use hb_zip() some mooore 2019-01-20 20:12:12 -05:00
Behdad Esfahbod af6c190235 Use hb_zip() some moore 2019-01-20 20:12:12 -05:00
Behdad Esfahbod 83ad0b6d0f Use hb_zip() some more 2019-01-20 20:12:12 -05:00
Behdad Esfahbod f0dd0656b8 Use hb_zip() some 2019-01-20 20:12:12 -05:00
Behdad Esfahbod 200cdb721b [iter] Rename hb_zip_t to hb_zip_iter_t 2019-01-20 20:12:12 -05:00
Behdad Esfahbod 3290c181c1 [algs] Whitespace 2019-01-20 20:12:12 -05:00
Behdad Esfahbod 014c50292b [iter] Move code 2019-01-20 20:12:12 -05:00
Behdad Esfahbod 6e3ad650d1 Rename hb-dsalgs to hb-algs 2019-01-20 20:12:12 -05:00
Behdad Esfahbod f27607580e [algs] Add hb_first() and hb_second() 2019-01-20 20:12:12 -05:00
Behdad Esfahbod a7de144df3 Implement uniform map interface
Coverage, ClassDef, hb_set_t, and hb_map_t implement.
2019-01-20 20:12:12 -05:00
Behdad Esfahbod 7987095e64 [meta] Remove hb_enable_if_t
It was only used for C++<11 which does not allow default parameters
in function templates.  Looks like we cannot support <11 anyway, so,
start cleaning up.
2019-01-20 20:12:12 -05:00
Behdad Esfahbod 15a6928436 [iter] Implement operator-> unconditionally
The right condition to check for would have been "is_struct", which
we don't have.
2019-01-20 20:12:12 -05:00
Behdad Esfahbod 8f52a827e7 Allow rvalues in hb_addressof() 2019-01-20 20:12:12 -05:00