From 7d1a9ebbf2b6018657e88172df4356ad4733b9c6 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 29 Feb 2008 19:19:17 +0000 Subject: Remove gcc 3.2 compatibility hacks. --- gold/gold.h | 56 -------------------------------------------------------- 1 file changed, 56 deletions(-) (limited to 'gold/gold.h') 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, 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) -#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) -#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 -class Select_size { }; -template -class Select_size_endian { }; - -#define SELECT_SIZE_NAME(size) -#define SELECT_SIZE(size) , Select_size() -#define SELECT_SIZE_ONLY(size) Select_size() -#define ACCEPT_SIZE , Select_size -#define ACCEPT_SIZE_ONLY Select_size -#define ACCEPT_SIZE_EXPLICIT(size) , Select_size - -#define SELECT_SIZE_ENDIAN_NAME(size, big_endian) -#define SELECT_SIZE_ENDIAN(size, big_endian) \ - , Select_size_endian() -#define SELECT_SIZE_ENDIAN_ONLY(size, big_endian) \ - Select_size_endian() -#define ACCEPT_SIZE_ENDIAN , Select_size_endian -#define ACCEPT_SIZE_ENDIAN_ONLY Select_size_endian -#define ACCEPT_SIZE_ENDIAN_EXPLICIT(size, big_endian) \ - , Select_size_endian - -#endif // !defined(HAVE_MEMBER_TEMPLATE_SPECIFICATIONS) // General declarations. -- cgit v1.1