aboutsummaryrefslogtreecommitdiff
path: root/gold/gold.h
diff options
context:
space:
mode:
Diffstat (limited to 'gold/gold.h')
-rw-r--r--gold/gold.h56
1 files changed, 0 insertions, 56 deletions
diff --git a/gold/gold.h b/gold/gold.h
index 520f2e3..ad26d46 100644
--- a/gold/gold.h
+++ b/gold/gold.h
@@ -104,62 +104,6 @@ extern "C" ssize_t pread(int, void*, size_t, off_t);
namespace gold
{
-// This is a hack to work around a problem with older versions of g++.
-// The problem is that they don't support calling a member template by
-// specifying the template parameters. It works to pass in an
-// argument for argument dependent lookup.
-
-// To use this, the member template method declaration should put
-// ACCEPT_SIZE or ACCEPT_SIZE_ENDIAN after the last parameter. If the
-// method takes no parameters, use ACCEPT_SIZE_ONLY or
-// ACCEPT_SIZE_ENDIAN_ONLY.
-
-// When calling the method, instead of using fn<size>, use fn
-// SELECT_SIZE_NAME or SELECT_SIZE_ENDIAN_NAME. And after the last
-// argument, put SELECT_SIZE(size) or SELECT_SIZE_ENDIAN(size,
-// big_endian). If there is only one argment, use the _ONLY variants.
-
-#ifdef HAVE_MEMBER_TEMPLATE_SPECIFICATIONS
-
-#define SELECT_SIZE_NAME(size) <size>
-#define SELECT_SIZE(size)
-#define SELECT_SIZE_ONLY(size)
-#define ACCEPT_SIZE
-#define ACCEPT_SIZE_ONLY
-#define ACCEPT_SIZE_EXPLICIT(size)
-
-#define SELECT_SIZE_ENDIAN_NAME(size, big_endian) <size, big_endian>
-#define SELECT_SIZE_ENDIAN(size, big_endian)
-#define SELECT_SIZE_ENDIAN_ONLY(size, big_endian)
-#define ACCEPT_SIZE_ENDIAN
-#define ACCEPT_SIZE_ENDIAN_ONLY
-#define ACCEPT_SIZE_ENDIAN_EXPLICIT(size, big_endian)
-
-#else // !defined(HAVE_MEMBER_TEMPLATE_SPECIFICATIONS)
-
-template<int size>
-class Select_size { };
-template<int size, bool big_endian>
-class Select_size_endian { };
-
-#define SELECT_SIZE_NAME(size)
-#define SELECT_SIZE(size) , Select_size<size>()
-#define SELECT_SIZE_ONLY(size) Select_size<size>()
-#define ACCEPT_SIZE , Select_size<size>
-#define ACCEPT_SIZE_ONLY Select_size<size>
-#define ACCEPT_SIZE_EXPLICIT(size) , Select_size<size>
-
-#define SELECT_SIZE_ENDIAN_NAME(size, big_endian)
-#define SELECT_SIZE_ENDIAN(size, big_endian) \
- , Select_size_endian<size, big_endian>()
-#define SELECT_SIZE_ENDIAN_ONLY(size, big_endian) \
- Select_size_endian<size, big_endian>()
-#define ACCEPT_SIZE_ENDIAN , Select_size_endian<size, big_endian>
-#define ACCEPT_SIZE_ENDIAN_ONLY Select_size_endian<size, big_endian>
-#define ACCEPT_SIZE_ENDIAN_EXPLICIT(size, big_endian) \
- , Select_size_endian<size, big_endian>
-
-#endif // !defined(HAVE_MEMBER_TEMPLATE_SPECIFICATIONS)
// General declarations.