diff --git a/src/hb-ot-layout-gsub-private.h b/src/hb-ot-layout-gsub-private.h
index 1f44fb9..c642476 100644
--- a/src/hb-ot-layout-gsub-private.h
+++ b/src/hb-ot-layout-gsub-private.h
@@ -200,7 +200,7 @@
 					 * greater than 0. */
   GlyphID	substitute[];		/* String of GlyphIDs to substitute */
 };
-DEFINE_NULL_ASSERT_SIZE (Sequence, 2);
+ASSERT_SIZE (Sequence, 2);
 
 struct MultipleSubstFormat1 {
 
@@ -272,7 +272,7 @@
   GlyphID	alternate[];		/* Array of alternate GlyphIDs--in
 					 * arbitrary order */
 };
-DEFINE_NULL_ASSERT_SIZE (AlternateSet, 2);
+ASSERT_SIZE (AlternateSet, 2);
 
 struct AlternateSubstFormat1 {
 
@@ -438,7 +438,7 @@
 					 * with the second  component--ordered
 					 * in writing direction */
 };
-DEFINE_NULL_ASSERT_SIZE (Ligature, 4);
+ASSERT_SIZE (Ligature, 4);
 
 struct LigatureSet {
 
@@ -466,7 +466,7 @@
 					 * LigatureSet table--ordered by
 					 * preference */
 };
-DEFINE_NULL_ASSERT_SIZE (LigatureSet, 2);
+ASSERT_SIZE (LigatureSet, 2);
 
 struct LigatureSubstFormat1 {
 
@@ -538,7 +538,7 @@
   USHORT	lookupListIndex;	/* Lookup to apply to that
 					 * position--zero--based */
 };
-DEFINE_NULL_ASSERT_SIZE (SubstLookupRecord, 4);
+ASSERT_SIZE (SubstLookupRecord, 4);
 
 struct SubRule {
 
@@ -612,7 +612,7 @@
   SubstLookupRecord substLookupRecord[];/* Array of SubstLookupRecords--in
 					 * design order */
 };
-DEFINE_NULL_ASSERT_SIZE (SubRule, 4);
+ASSERT_SIZE (SubRule, 4);
 
 struct SubRuleSet {
 
@@ -639,7 +639,7 @@
 					 * tables--from beginning of SubRuleSet
 					 * table--ordered by preference */
 };
-DEFINE_NULL_ASSERT_SIZE (SubRuleSet, 2);
+ASSERT_SIZE (SubRuleSet, 2);
 
 struct ContextSubstFormat1 {
 
@@ -752,7 +752,7 @@
   SubstLookupRecord substLookupRecord[];/* Array of SubstLookupRecords--in
 					 * design order */
 };
-DEFINE_NULL_ASSERT_SIZE (SubClassRule, 4);
+ASSERT_SIZE (SubClassRule, 4);
 
 struct SubClassSet {
 
@@ -783,7 +783,7 @@
 					 * tables--from beginning of
 					 * SubClassSet--ordered by preference */
 };
-DEFINE_NULL_ASSERT_SIZE (SubClassSet, 2);
+ASSERT_SIZE (SubClassSet, 2);
 
 struct ContextSubstFormat2 {
 
@@ -958,7 +958,7 @@
   SubstLookupRecord substLookupRecord[];/* Array of SubstLookupRecords--in
 					 * design order) */
 };
-DEFINE_NULL_ASSERT_SIZE (ChainSubRule, 8);
+ASSERT_SIZE (ChainSubRule, 8);
 
 struct ChainSubRuleSet {
   /* TODO */
@@ -970,7 +970,7 @@
 					 * ChainSubRuleSet table--ordered
 					 * by preference */
 };
-DEFINE_NULL_ASSERT_SIZE (ChainSubRuleSet, 2);
+ASSERT_SIZE (ChainSubRuleSet, 2);
 
 struct ChainContextSubstFormat1 {
   /* TODO */
@@ -1017,7 +1017,7 @@
   SubstLookupRecord substLookupRecord[];/* Array of SubstLookupRecords--in
 					 * design order) */
 };
-DEFINE_NULL_ASSERT_SIZE (ChainSubClassRule, 8);
+ASSERT_SIZE (ChainSubClassRule, 8);
 
 struct ChainSubClassSet {
   /* TODO */
@@ -1030,7 +1030,7 @@
 					 * ChainSubClassSet--ordered by
 					 * preference */
 };
-DEFINE_NULL_ASSERT_SIZE (ChainSubClassSet, 2);
+ASSERT_SIZE (ChainSubClassSet, 2);
 
 struct ChainContextSubstFormat2 {
   /* TODO */
@@ -1338,7 +1338,6 @@
     return ret;
   }
 };
-DEFINE_NULL_ALIAS (SubstLookup, Lookup);
 
 
 /*
@@ -1363,7 +1362,6 @@
   }
 
 };
-DEFINE_NULL_ALIAS (GSUB, GSUBGPOS);
 
 
 
