src/hb-machinery.hh        |   39 ++++++++++++++++++++++-----------------
 src/hb-null.hh             |    4 ++--
 src/hb-ot-layout-common.hh |    8 ++++----
 src/hb-ot-post-table.hh    |    6 +++---
 4 files changed, 31 insertions(+), 26 deletions(-)

New commits:
commit 8d778877b88155dec1808a994416ead0b3d98ae7
Author: Behdad Esfahbod <beh...@behdad.org>
Date:   Wed Nov 21 23:46:09 2018 -0500

    ..

diff --git a/src/hb-machinery.hh b/src/hb-machinery.hh
index 24e45441..2f57fb6b 100644
--- a/src/hb-machinery.hh
+++ b/src/hb-machinery.hh
@@ -100,24 +100,28 @@ static inline Type& StructAfter(TObject &X)
   DEFINE_INSTANCE_ASSERTION (alignof (*this) == 1 && \
                             sizeof (*this) == (size)); \
   inline unsigned int get_size (void) const { return (size); } \
-  enum { static_size = (size) }; \
-  enum { min_size = (size) }
+  enum { null_size = (size) }; \
+  enum { min_size = (size) }; \
+  enum { static_size = (size) }
 
 #define DEFINE_SIZE_UNION(size, _member) \
   DEFINE_COMPILES_ASSERTION ((void) this->u._member.static_size); \
   DEFINE_INSTANCE_ASSERTION (alignof (*this) == 1 && \
                             sizeof(this->u._member) == (size)); \
+  enum { null_size = (size) }; \
   enum { min_size = (size) }
 
 #define DEFINE_SIZE_MIN(size) \
   DEFINE_INSTANCE_ASSERTION (alignof (*this) == 1 && \
                             sizeof (*this) >= (size)); \
+  enum { null_size = (size) }; \
   enum { min_size = (size) }
 
 #define DEFINE_SIZE_ARRAY(size, array) \
   DEFINE_COMPILES_ASSERTION ((void) (array)[0].static_size); \
   DEFINE_INSTANCE_ASSERTION (alignof (*this) == 1 && \
                             sizeof (*this) == (size) + VAR * sizeof 
((array)[0])); \
+  enum { null_size = (size) }; \
   enum { min_size = (size) }
 
 #define DEFINE_SIZE_ARRAY_SIZED(size, array) \
diff --git a/src/hb-null.hh b/src/hb-null.hh
index 25a24f05..51f653d2 100644
--- a/src/hb-null.hh
+++ b/src/hb-null.hh
@@ -52,7 +52,7 @@ static inline Type const & Null (void) {
 /* Specializations for arbitrary-content Null objects expressed in bytes. */
 #define DECLARE_NULL_NAMESPACE_BYTES(Namespace, Type) \
        } /* Close namespace. */ \
-       extern HB_INTERNAL const unsigned char 
_hb_Null_##Namespace##_##Type[Namespace::Type::min_size]; \
+       extern HB_INTERNAL const unsigned char 
_hb_Null_##Namespace##_##Type[Namespace::Type::null_size]; \
        template <> \
        /*static*/ inline const Namespace::Type& Null<Namespace::Type> (void) { 
\
          return *reinterpret_cast<const Namespace::Type *> 
(_hb_Null_##Namespace##_##Type); \
@@ -60,7 +60,7 @@ static inline Type const & Null (void) {
        namespace Namespace { \
        static_assert (true, "Just so we take semicolon after.")
 #define DEFINE_NULL_NAMESPACE_BYTES(Namespace, Type) \
-       const unsigned char 
_hb_Null_##Namespace##_##Type[Namespace::Type::min_size]
+       const unsigned char 
_hb_Null_##Namespace##_##Type[Namespace::Type::null_size]
 
 /* Specializations for arbitrary-content Null objects expressed as struct 
initializer. */
 #define DECLARE_NULL_INSTANCE(Type) \
commit 8cfeed99486e87c3217dc141bc24b7768a460f32
Author: Behdad Esfahbod <beh...@behdad.org>
Date:   Wed Nov 21 23:42:31 2018 -0500

    Minor

diff --git a/src/hb-machinery.hh b/src/hb-machinery.hh
index c209efe2..24e45441 100644
--- a/src/hb-machinery.hh
+++ b/src/hb-machinery.hh
@@ -107,12 +107,12 @@ static inline Type& StructAfter(TObject &X)
   DEFINE_COMPILES_ASSERTION ((void) this->u._member.static_size); \
   DEFINE_INSTANCE_ASSERTION (alignof (*this) == 1 && \
                             sizeof(this->u._member) == (size)); \
-  static const unsigned int min_size = (size)
+  enum { min_size = (size) }
 
 #define DEFINE_SIZE_MIN(size) \
   DEFINE_INSTANCE_ASSERTION (alignof (*this) == 1 && \
                             sizeof (*this) >= (size)); \
-  static const unsigned int min_size = (size)
+  enum { min_size = (size) }
 
 #define DEFINE_SIZE_ARRAY(size, array) \
   DEFINE_COMPILES_ASSERTION ((void) (array)[0].static_size); \
commit e5d954a2fb0c390ea67e83763e3c3a47caa2eb50
Author: Behdad Esfahbod <beh...@behdad.org>
Date:   Wed Nov 21 23:30:50 2018 -0500

    Minor

diff --git a/src/hb-machinery.hh b/src/hb-machinery.hh
index df5023bd..c209efe2 100644
--- a/src/hb-machinery.hh
+++ b/src/hb-machinery.hh
@@ -104,8 +104,8 @@ static inline Type& StructAfter(TObject &X)
   enum { min_size = (size) }
 
 #define DEFINE_SIZE_UNION(size, _member) \
+  DEFINE_COMPILES_ASSERTION ((void) this->u._member.static_size); \
   DEFINE_INSTANCE_ASSERTION (alignof (*this) == 1 && \
-                            0*sizeof(this->u._member.static_size) + \
                             sizeof(this->u._member) == (size)); \
   static const unsigned int min_size = (size)
 
@@ -115,9 +115,9 @@ static inline Type& StructAfter(TObject &X)
   static const unsigned int min_size = (size)
 
 #define DEFINE_SIZE_ARRAY(size, array) \
+  DEFINE_COMPILES_ASSERTION ((void) (array)[0].static_size); \
   DEFINE_INSTANCE_ASSERTION (alignof (*this) == 1 && \
                             sizeof (*this) == (size) + VAR * sizeof 
((array)[0])); \
-  DEFINE_COMPILES_ASSERTION ((void) (array)[0].static_size); \
   enum { min_size = (size) }
 
 #define DEFINE_SIZE_ARRAY_SIZED(size, array) \
commit e987059c618e03d2346c31ed64429d67ce0e367a
Author: Behdad Esfahbod <beh...@behdad.org>
Date:   Wed Nov 21 23:25:06 2018 -0500

    Minor

diff --git a/src/hb-machinery.hh b/src/hb-machinery.hh
index acd3aedd..df5023bd 100644
--- a/src/hb-machinery.hh
+++ b/src/hb-machinery.hh
@@ -90,7 +90,8 @@ static inline Type& StructAfter(TObject &X)
 /* Check that _code compiles in a method environment */
 #define _DEFINE_COMPILES_ASSERTION1(_line, _code) \
   inline void _compiles_assertion_on_line_##_line (void) const \
-  { _code; }
+  { _code; } \
+  static_assert (true, "") /* So we require semicolon here. */
 # define _DEFINE_COMPILES_ASSERTION0(_line, _code) _DEFINE_COMPILES_ASSERTION1 
(_line, _code)
 # define DEFINE_COMPILES_ASSERTION(_code) _DEFINE_COMPILES_ASSERTION0 
(__LINE__, _code)
 
@@ -116,7 +117,7 @@ static inline Type& StructAfter(TObject &X)
 #define DEFINE_SIZE_ARRAY(size, array) \
   DEFINE_INSTANCE_ASSERTION (alignof (*this) == 1 && \
                             sizeof (*this) == (size) + VAR * sizeof 
((array)[0])); \
-  DEFINE_COMPILES_ASSERTION ((void) (array)[0].static_size) \
+  DEFINE_COMPILES_ASSERTION ((void) (array)[0].static_size); \
   enum { min_size = (size) }
 
 #define DEFINE_SIZE_ARRAY_SIZED(size, array) \
commit a2b6d308a40d737f54a79f00bc7ace226bad5aaf
Author: Behdad Esfahbod <beh...@behdad.org>
Date:   Wed Nov 21 23:23:49 2018 -0500

    Remove DEFINE_SIZE_ARRAY2

diff --git a/src/hb-machinery.hh b/src/hb-machinery.hh
index ccd66d1a..acd3aedd 100644
--- a/src/hb-machinery.hh
+++ b/src/hb-machinery.hh
@@ -123,12 +123,6 @@ static inline Type& StructAfter(TObject &X)
   inline unsigned int get_size (void) const { return (size - (array).min_size 
+ (array).get_size ()); } \
   DEFINE_SIZE_ARRAY(size, array)
 
-#define DEFINE_SIZE_ARRAY2(size, array1, array2) \
-  DEFINE_INSTANCE_ASSERTION (alignof (*this) == 1 && \
-                            sizeof (*this) == (size) + sizeof 
(this->array1[0]) + sizeof (this->array2[0])); \
-  DEFINE_COMPILES_ASSERTION ((void) (array1)[0].static_size; (void) 
(array2)[0].static_size) \
-  static const unsigned int min_size = (size)
-
 
 /*
  * Dispatch
diff --git a/src/hb-ot-layout-common.hh b/src/hb-ot-layout-common.hh
index 55b05b51..46c2f182 100644
--- a/src/hb-ot-layout-common.hh
+++ b/src/hb-ot-layout-common.hh
@@ -802,11 +802,11 @@ struct Lookup
   HBUINT16     lookupFlag;             /* Lookup qualifiers */
   ArrayOf<Offset16>
                subTable;               /* Array of SubTables */
-  HBUINT16     markFilteringSetX[VAR]; /* Index (base 0) into GDEF mark glyph 
sets
+/*HBUINT16     markFilteringSetX[VAR];*//* Index (base 0) into GDEF mark glyph 
sets
                                         * structure. This field is only 
present if bit
                                         * UseMarkFilteringSet of lookup flags 
is set. */
   public:
-  DEFINE_SIZE_ARRAY2 (6, subTable, markFilteringSetX);
+  DEFINE_SIZE_ARRAY (6, subTable);
 };
 
 typedef OffsetListOf<Lookup> LookupList;
@@ -1568,9 +1568,9 @@ struct VarData
   HBUINT16             itemCount;
   HBUINT16             shortCount;
   ArrayOf<HBUINT16>    regionIndices;
-  UnsizedArrayOf<HBUINT8>bytesX;
+/*UnsizedArrayOf<HBUINT8>bytesX;*/
   public:
-  DEFINE_SIZE_ARRAY2 (6, regionIndices, bytesX);
+  DEFINE_SIZE_ARRAY (6, regionIndices);
 };
 
 struct VariationStore
diff --git a/src/hb-ot-post-table.hh b/src/hb-ot-post-table.hh
index f80303cc..98df3e78 100644
--- a/src/hb-ot-post-table.hh
+++ b/src/hb-ot-post-table.hh
@@ -61,12 +61,12 @@ struct postV2Tail
   ArrayOf<HBUINT16>    glyphNameIndex; /* This is not an offset, but is the
                                         * ordinal number of the glyph in 'post'
                                         * string tables. */
-  UnsizedArrayOf<HBUINT8>
-                       namesX;         /* Glyph names with length bytes 
[variable]
+/*UnsizedArrayOf<HBUINT8>
+                       namesX;*/       /* Glyph names with length bytes 
[variable]
                                         * (a Pascal string). */
 
   public:
-  DEFINE_SIZE_ARRAY2 (2, glyphNameIndex, namesX);
+  DEFINE_SIZE_ARRAY (2, glyphNameIndex);
 };
 
 struct post
commit 2656644887e77a9d814bb12374af3c26b42fd935
Author: Behdad Esfahbod <beh...@behdad.org>
Date:   Wed Nov 21 23:23:21 2018 -0500

    Check alignof() structs are 1

diff --git a/src/hb-machinery.hh b/src/hb-machinery.hh
index 3a180a3b..ccd66d1a 100644
--- a/src/hb-machinery.hh
+++ b/src/hb-machinery.hh
@@ -96,21 +96,26 @@ static inline Type& StructAfter(TObject &X)
 
 
 #define DEFINE_SIZE_STATIC(size) \
-  DEFINE_INSTANCE_ASSERTION (sizeof (*this) == (size)); \
+  DEFINE_INSTANCE_ASSERTION (alignof (*this) == 1 && \
+                            sizeof (*this) == (size)); \
   inline unsigned int get_size (void) const { return (size); } \
   enum { static_size = (size) }; \
   enum { min_size = (size) }
 
 #define DEFINE_SIZE_UNION(size, _member) \
-  DEFINE_INSTANCE_ASSERTION (0*sizeof(this->u._member.static_size) + 
sizeof(this->u._member) == (size)); \
+  DEFINE_INSTANCE_ASSERTION (alignof (*this) == 1 && \
+                            0*sizeof(this->u._member.static_size) + \
+                            sizeof(this->u._member) == (size)); \
   static const unsigned int min_size = (size)
 
 #define DEFINE_SIZE_MIN(size) \
-  DEFINE_INSTANCE_ASSERTION (sizeof (*this) >= (size)); \
+  DEFINE_INSTANCE_ASSERTION (alignof (*this) == 1 && \
+                            sizeof (*this) >= (size)); \
   static const unsigned int min_size = (size)
 
 #define DEFINE_SIZE_ARRAY(size, array) \
-  DEFINE_INSTANCE_ASSERTION (sizeof (*this) == (size) + VAR * sizeof 
((array)[0])); \
+  DEFINE_INSTANCE_ASSERTION (alignof (*this) == 1 && \
+                            sizeof (*this) == (size) + VAR * sizeof 
((array)[0])); \
   DEFINE_COMPILES_ASSERTION ((void) (array)[0].static_size) \
   enum { min_size = (size) }
 
@@ -119,7 +124,8 @@ static inline Type& StructAfter(TObject &X)
   DEFINE_SIZE_ARRAY(size, array)
 
 #define DEFINE_SIZE_ARRAY2(size, array1, array2) \
-  DEFINE_INSTANCE_ASSERTION (sizeof (*this) == (size) + sizeof 
(this->array1[0]) + sizeof (this->array2[0])); \
+  DEFINE_INSTANCE_ASSERTION (alignof (*this) == 1 && \
+                            sizeof (*this) == (size) + sizeof 
(this->array1[0]) + sizeof (this->array2[0])); \
   DEFINE_COMPILES_ASSERTION ((void) (array1)[0].static_size; (void) 
(array2)[0].static_size) \
   static const unsigned int min_size = (size)
 
commit 6321fdf7040ce48e3de8d34fdcc57caa6433cb66
Author: Behdad Esfahbod <beh...@behdad.org>
Date:   Wed Nov 21 23:19:00 2018 -0500

    Whitespace

diff --git a/src/hb-machinery.hh b/src/hb-machinery.hh
index 3c11243f..3a180a3b 100644
--- a/src/hb-machinery.hh
+++ b/src/hb-machinery.hh
@@ -115,8 +115,8 @@ static inline Type& StructAfter(TObject &X)
   enum { min_size = (size) }
 
 #define DEFINE_SIZE_ARRAY_SIZED(size, array) \
-       inline unsigned int get_size (void) const { return (size - 
(array).min_size + (array).get_size ()); } \
-       DEFINE_SIZE_ARRAY(size, array)
+  inline unsigned int get_size (void) const { return (size - (array).min_size 
+ (array).get_size ()); } \
+  DEFINE_SIZE_ARRAY(size, array)
 
 #define DEFINE_SIZE_ARRAY2(size, array1, array2) \
   DEFINE_INSTANCE_ASSERTION (sizeof (*this) == (size) + sizeof 
(this->array1[0]) + sizeof (this->array2[0])); \
_______________________________________________
HarfBuzz mailing list
HarfBuzz@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/harfbuzz

Reply via email to