[HarfBuzz] harfbuzz: Branch 'master' - 2 commits
Behdad Esfahbod
behdad at kemper.freedesktop.org
Thu Aug 14 10:15:28 PDT 2014
src/hb-object-private.hh | 163 +++++++++++++++++++++--------------------------
1 file changed, 75 insertions(+), 88 deletions(-)
New commits:
commit 9d861b81f349188a4507350398786a6e94038095
Author: Behdad Esfahbod <behdad at 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 <behdad at 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,
More information about the HarfBuzz
mailing list