diff options
Diffstat (limited to 'gold/object.h')
-rw-r--r-- | gold/object.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gold/object.h b/gold/object.h index 7c27b7b..36cf949 100644 --- a/gold/object.h +++ b/gold/object.h @@ -92,8 +92,6 @@ class Object template<int size, bool big_endian> Sized_target<size, big_endian>* sized_target(); -#else - virtual Target* sized_target() = 0; #endif // Read the symbol and relocation information. @@ -248,7 +246,13 @@ class Sized_object : public Object // Return the appropriate Sized_target structure. Sized_target<size, big_endian>* sized_target() - { return this->Object::sized_target<size, big_endian>(); } + { +#ifdef HAVE_MEMBER_TEMPLATE_SPECIFICATIONS + return this->Object::sized_target<size, big_endian>(); +#else + return static_cast<Sized_target<size, big_endian>*>(this->target()); +#endif + } private: // This object may not be copied. @@ -290,7 +294,7 @@ class Input_objects { public: Input_objects() - : object_list_() + : object_list_(), any_dynamic_(false) { } // The type of the list of input objects. |