Work around invalid gcc warning (explicit cast apparently lost).

This commit is contained in:
Jason Evans 2016-05-13 21:18:10 +00:00
parent 47d106f97b
commit fbb1d85eb3
2 changed files with 42 additions and 0 deletions

View File

@ -46,6 +46,38 @@ index c4a44e3..4626e9b 100644
+ in FreeBSD 11.0.</para> + in FreeBSD 11.0.</para>
+ </refsect1> + </refsect1>
</refentry> </refentry>
diff --git a/include/jemalloc/internal/arena.h b/include/jemalloc/internal/arena.h
index b1de2b6..da6b6d2 100644
--- a/include/jemalloc/internal/arena.h
+++ b/include/jemalloc/internal/arena.h
@@ -718,8 +718,13 @@ arena_miscelm_get_mutable(arena_chunk_t *chunk, size_t pageind)
JEMALLOC_ALWAYS_INLINE const arena_chunk_map_misc_t *
arena_miscelm_get_const(const arena_chunk_t *chunk, size_t pageind)
{
+#if 1 /* Work around gcc bug. */
+ arena_chunk_t *mchunk = (arena_chunk_t *)chunk;
+ return (arena_miscelm_get_mutable(mchunk, pageind));
+#else
return (arena_miscelm_get_mutable((arena_chunk_t *)chunk, pageind));
+#endif
}
JEMALLOC_ALWAYS_INLINE size_t
@@ -778,8 +783,13 @@ arena_mapbitsp_get_mutable(arena_chunk_t *chunk, size_t pageind)
JEMALLOC_ALWAYS_INLINE const size_t *
arena_mapbitsp_get_const(const arena_chunk_t *chunk, size_t pageind)
{
+#if 1 /* Work around gcc bug. */
+ arena_chunk_t *mchunk = (arena_chunk_t *)chunk;
+ return (arena_mapbitsp_get_mutable(mchunk, pageind));
+#else
return (arena_mapbitsp_get_mutable((arena_chunk_t *)chunk, pageind));
+#endif
}
JEMALLOC_ALWAYS_INLINE size_t
diff --git a/include/jemalloc/internal/jemalloc_internal.h.in b/include/jemalloc/internal/jemalloc_internal.h.in diff --git a/include/jemalloc/internal/jemalloc_internal.h.in b/include/jemalloc/internal/jemalloc_internal.h.in
index 51bf897..7de22ea 100644 index 51bf897..7de22ea 100644
--- a/include/jemalloc/internal/jemalloc_internal.h.in --- a/include/jemalloc/internal/jemalloc_internal.h.in

View File

@ -718,8 +718,13 @@ arena_miscelm_get_mutable(arena_chunk_t *chunk, size_t pageind)
JEMALLOC_ALWAYS_INLINE const arena_chunk_map_misc_t * JEMALLOC_ALWAYS_INLINE const arena_chunk_map_misc_t *
arena_miscelm_get_const(const arena_chunk_t *chunk, size_t pageind) arena_miscelm_get_const(const arena_chunk_t *chunk, size_t pageind)
{ {
#if 1 /* Work around gcc bug. */
arena_chunk_t *mchunk = (arena_chunk_t *)chunk;
return (arena_miscelm_get_mutable(mchunk, pageind));
#else
return (arena_miscelm_get_mutable((arena_chunk_t *)chunk, pageind)); return (arena_miscelm_get_mutable((arena_chunk_t *)chunk, pageind));
#endif
} }
JEMALLOC_ALWAYS_INLINE size_t JEMALLOC_ALWAYS_INLINE size_t
@ -778,8 +783,13 @@ arena_mapbitsp_get_mutable(arena_chunk_t *chunk, size_t pageind)
JEMALLOC_ALWAYS_INLINE const size_t * JEMALLOC_ALWAYS_INLINE const size_t *
arena_mapbitsp_get_const(const arena_chunk_t *chunk, size_t pageind) arena_mapbitsp_get_const(const arena_chunk_t *chunk, size_t pageind)
{ {
#if 1 /* Work around gcc bug. */
arena_chunk_t *mchunk = (arena_chunk_t *)chunk;
return (arena_mapbitsp_get_mutable(mchunk, pageind));
#else
return (arena_mapbitsp_get_mutable((arena_chunk_t *)chunk, pageind)); return (arena_mapbitsp_get_mutable((arena_chunk_t *)chunk, pageind));
#endif
} }
JEMALLOC_ALWAYS_INLINE size_t JEMALLOC_ALWAYS_INLINE size_t