Mercurial > hg > graal-compiler
diff src/share/vm/memory/binaryTreeDictionary.hpp @ 6119:a297b0e14605
7172226: HotSpot fails to build with GCC 4.7 because of stricter c++ argument dependent lookup
Summary: Add "using" keyword to import base class functions from FreeList<T> to fix template name lookup in gcc 4.7
Reviewed-by: brutisso, iveresov
author | mgerdin |
---|---|
date | Mon, 04 Jun 2012 09:21:53 +0200 |
parents | f69a5d43dc19 |
children | da91efe96a93 |
line wrap: on
line diff
--- a/src/share/vm/memory/binaryTreeDictionary.hpp Fri Jun 01 15:30:44 2012 -0700 +++ b/src/share/vm/memory/binaryTreeDictionary.hpp Mon Jun 04 09:21:53 2012 +0200 @@ -60,13 +60,18 @@ TreeList<Chunk>* left() const { return _left; } TreeList<Chunk>* right() const { return _right; } - // Wrapper on call to base class, to get the template to compile. - Chunk* head() const { return FreeList<Chunk>::head(); } - Chunk* tail() const { return FreeList<Chunk>::tail(); } - void set_head(Chunk* head) { FreeList<Chunk>::set_head(head); } - void set_tail(Chunk* tail) { FreeList<Chunk>::set_tail(tail); } + // Explicitly import these names into our namespace to fix name lookup with templates + using FreeList<Chunk>::head; + using FreeList<Chunk>::set_head; - size_t size() const { return FreeList<Chunk>::size(); } + using FreeList<Chunk>::tail; + using FreeList<Chunk>::set_tail; + using FreeList<Chunk>::link_tail; + + using FreeList<Chunk>::increment_count; + NOT_PRODUCT(using FreeList<Chunk>::increment_returned_bytes_by;) + using FreeList<Chunk>::verify_chunk_in_free_list; + using FreeList<Chunk>::size; // Accessors for links in tree.