From 7a1f3177c92556c4ca224d28fc881686845c5052 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 14 Jul 2014 16:24:07 +0200 Subject: util/Cast: reimplement as template without macro --- src/tag/TagPool.cxx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/tag') diff --git a/src/tag/TagPool.cxx b/src/tag/TagPool.cxx index 0b6bc956c..29f605337 100644 --- a/src/tag/TagPool.cxx +++ b/src/tag/TagPool.cxx @@ -87,10 +87,13 @@ calc_hash(TagType type, const char *p) return hash ^ type; } -static inline constexpr TagPoolSlot * +#if defined(__clang__) || GCC_CHECK_VERSION(4,7) + constexpr +#endif +static inline TagPoolSlot * tag_item_to_slot(TagItem *item) { - return ContainerCast(item, TagPoolSlot, item); + return &ContainerCast(*item, &TagPoolSlot::item); } static inline TagPoolSlot ** -- cgit v1.2.3