src/hb-object-private.hh |  163 +++++++++++++++++++++--------------------------
 1 file changed, 75 insertions(+), 88 deletions(-)

New commits:
commit 9d861b81f349188a4507350398786a6e94038095
Author: Behdad Esfahbod <beh...@behdad.org>
Date:   Thu Aug 14 13:15:21 2014 -0400

    Really fix clang build this time

diff --git a/src/hb-object-private.hh b/src/hb-object-private.hh
index 1befd6b..e9aac5d 100644
--- a/src/hb-object-private.hh
+++ b/src/hb-object-private.hh
@@ -95,6 +95,74 @@ struct hb_user_data_array_t
 };
 
 
+/* object */
+
+template <typename Type>
+static inline void hb_object_trace (const Type *obj, const char *function)
+{
+  obj->header.trace (function);
+}
+
+template <typename Type>
+static inline Type *hb_object_create (void)
+{
+  Type *obj = (Type *) calloc (1, sizeof (Type));
+
+  if (unlikely (!obj))
+    return obj;
+
+  hb_object_init (obj);
+  hb_object_trace (obj, HB_FUNC);
+  return obj;
+}
+template <typename Type>
+static inline void hb_object_init (Type *obj)
+{
+  obj->header.init ();
+}
+template <typename Type>
+static inline bool hb_object_is_inert (const Type *obj)
+{
+  return unlikely (obj->header.is_inert ());
+}
+template <typename Type>
+static inline Type *hb_object_reference (Type *obj)
+{
+  if (unlikely (!obj || obj->header.is_inert ()))
+    return obj;
+  hb_object_trace (obj, HB_FUNC);
+  obj->header.reference ();
+  return obj;
+}
+template <typename Type>
+static inline bool hb_object_destroy (Type *obj)
+{
+  if (unlikely (!obj || obj->header.is_inert ()))
+    return false;
+  hb_object_trace (obj, HB_FUNC);
+  return obj->header.destroy ();
+}
+template <typename Type>
+static inline bool hb_object_set_user_data (Type               *obj,
+                                           hb_user_data_key_t *key,
+                                           void *              data,
+                                           hb_destroy_func_t   destroy,
+                                           hb_bool_t           replace)
+{
+  if (unlikely (!obj || obj->header.is_inert ()))
+    return false;
+  return obj->header.set_user_data (key, data, destroy, replace);
+}
+
+template <typename Type>
+static inline void *hb_object_get_user_data (Type               *obj,
+                                            hb_user_data_key_t *key)
+{
+  if (unlikely (!obj || obj->header.is_inert ()))
+    return NULL;
+  return obj->header.get_user_data (key);
+}
+
 /* object_header */
 
 struct hb_object_header_t
@@ -106,16 +174,6 @@ struct hb_object_header_t
 
   private:
 
-  template <typename Type> friend Type *hb_object_create (void);
-  static inline void *create (unsigned int size) {
-    hb_object_header_t *obj = (hb_object_header_t *) calloc (1, size);
-
-    if (likely (obj))
-      obj->init ();
-
-    return obj;
-  }
-
   template <typename Type> friend void hb_object_init (Type *obj);
   inline void init (void) {
     ref_count.init (1);
@@ -174,68 +232,5 @@ struct hb_object_header_t
 };
 
 
-/* object */
-
-template <typename Type>
-static inline void hb_object_trace (const Type *obj, const char *function)
-{
-  obj->header.trace (function);
-}
-
-template <typename Type>
-static inline Type *hb_object_create (void)
-{
-  Type *obj = (Type *) hb_object_header_t::create (sizeof (Type));
-  hb_object_trace (obj, HB_FUNC);
-  return obj;
-}
-template <typename Type>
-static inline void hb_object_init (Type *obj)
-{
-  obj->header.init ();
-}
-template <typename Type>
-static inline bool hb_object_is_inert (const Type *obj)
-{
-  return unlikely (obj->header.is_inert ());
-}
-template <typename Type>
-static inline Type *hb_object_reference (Type *obj)
-{
-  if (unlikely (!obj || obj->header.is_inert ()))
-    return obj;
-  hb_object_trace (obj, HB_FUNC);
-  obj->header.reference ();
-  return obj;
-}
-template <typename Type>
-static inline bool hb_object_destroy (Type *obj)
-{
-  if (unlikely (!obj || obj->header.is_inert ()))
-    return false;
-  hb_object_trace (obj, HB_FUNC);
-  return obj->header.destroy ();
-}
-template <typename Type>
-static inline bool hb_object_set_user_data (Type               *obj,
-                                           hb_user_data_key_t *key,
-                                           void *              data,
-                                           hb_destroy_func_t   destroy,
-                                           hb_bool_t           replace)
-{
-  if (unlikely (!obj || obj->header.is_inert ()))
-    return false;
-  return obj->header.set_user_data (key, data, destroy, replace);
-}
-
-template <typename Type>
-static inline void *hb_object_get_user_data (Type               *obj,
-                                            hb_user_data_key_t *key)
-{
-  if (unlikely (!obj || obj->header.is_inert ()))
-    return NULL;
-  return obj->header.get_user_data (key);
-}
-
 
 #endif /* HB_OBJECT_PRIVATE_HH */
commit 272226f294382b0c6921b36e0e67fc53daa765d3
Author: Behdad Esfahbod <beh...@behdad.org>
Date:   Thu Aug 14 13:11:33 2014 -0400

    Revert "Fix build on clang after previous commit"
    
    This reverts commit 9c80cbc87f23040a334e30c750f64523d9ef10c8.

diff --git a/src/hb-object-private.hh b/src/hb-object-private.hh
index 373cff4..1befd6b 100644
--- a/src/hb-object-private.hh
+++ b/src/hb-object-private.hh
@@ -106,8 +106,7 @@ struct hb_object_header_t
 
   private:
 
-  template <typename Type> friend
-  static inline Type *hb_object_create (void);
+  template <typename Type> friend Type *hb_object_create (void);
   static inline void *create (unsigned int size) {
     hb_object_header_t *obj = (hb_object_header_t *) calloc (1, size);
 
@@ -117,27 +116,23 @@ struct hb_object_header_t
     return obj;
   }
 
-  template <typename Type> friend
-  static inline void hb_object_init (Type *obj);
+  template <typename Type> friend void hb_object_init (Type *obj);
   inline void init (void) {
     ref_count.init (1);
     user_data.init ();
   }
 
-  template <typename Type> friend
-  static inline bool hb_object_is_inert (const Type *obj);
+  template <typename Type> friend bool hb_object_is_inert (const Type *obj);
   inline bool is_inert (void) const {
     return unlikely (ref_count.is_invalid ());
   }
 
-  template <typename Type> friend
-  static inline Type *hb_object_reference (Type *obj);
+  template <typename Type> friend Type *hb_object_reference (Type *obj);
   inline void reference (void) {
     ref_count.inc ();
   }
 
-  template <typename Type> friend
-  static inline bool hb_object_destroy (Type *obj);
+  template <typename Type> friend bool hb_object_destroy (Type *obj);
   inline bool destroy (void) {
     if (ref_count.dec () != 1)
       return false;
@@ -148,12 +143,11 @@ struct hb_object_header_t
     return true;
   }
 
-  template <typename Type> friend
-  static inline bool hb_object_set_user_data (Type               *obj,
-                                             hb_user_data_key_t *key,
-                                             void *              data,
-                                             hb_destroy_func_t   destroy,
-                                             hb_bool_t           replace);
+  template <typename Type> friend bool hb_object_set_user_data (Type           
    *obj,
+                                                               
hb_user_data_key_t *key,
+                                                               void *          
    data,
+                                                               
hb_destroy_func_t   destroy,
+                                                               hb_bool_t       
    replace);
   inline bool set_user_data (hb_user_data_key_t *key,
                             void *              data,
                             hb_destroy_func_t   destroy_func,
@@ -161,15 +155,13 @@ struct hb_object_header_t
     return user_data.set (key, data, destroy_func, replace);
   }
 
-  template <typename type> friend
-  static inline void *hb_object_get_user_data (type               *obj,
-                                              hb_user_data_key_t *key);
+  template <typename type> friend void *hb_object_get_user_data (type          
     *obj,
+                                                                
hb_user_data_key_t *key);
   inline void *get_user_data (hb_user_data_key_t *key) {
     return user_data.get (key);
   }
 
-  template <typename Type> friend
-  static inline void hb_object_trace (const Type *obj, const char *function);
+  template <typename Type> friend void hb_object_trace (const Type *obj, const 
char *function);
   inline void trace (const char *function) const {
     if (unlikely (!this)) return;
     DEBUG_MSG (OBJECT, (void *) this,
_______________________________________________
HarfBuzz mailing list
HarfBuzz@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/harfbuzz

Reply via email to