This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[patch][gold] Add some typedefs
- From: Rafael Espindola <espindola at google dot com>
- To: Binutils <binutils at sourceware dot org>
- Cc: Ian Lance Taylor <iant at google dot com>, Mikolaj Zalewski <mikolajz at google dot com>
- Date: Tue, 24 Nov 2009 13:20:03 -0500
- Subject: [patch][gold] Add some typedefs
The internal::Incremental_* types are a bit long to type and I was
getting some funny indentations on a patch I am writing. The attached
patch is just a bit of refactoring. It adds a data_type type to each
reader and writer. That makes rest of the class a bit simpler.
I considered using inheritance to factor the common code a bit more.
The problem is that, if understand c++ correctly, I would have to add
using declarations to make data_type, data_size and p_ visible.
2009-11-24 Rafael Avila de Espindola <espindola@google.com>
* incremental.cc (Incremental_inputs_header,
Incremental_inputs_header_write, Incremental_inputs_entry,
Incremental_inputs_entry_write): Add a typedef with the data type.
Cheers,
--
Rafael Ãvila de EspÃndola
diff --git a/gold/incremental.cc b/gold/incremental.cc
index 2ef7c85..f542a43 100644
--- a/gold/incremental.cc
+++ b/gold/incremental.cc
@@ -90,12 +90,16 @@ struct Incremental_inputs_entry_data
template<int size, bool big_endian>
class Incremental_inputs_header
{
+ private:
+ typedef internal::Incremental_inputs_header_data data_type;
+ const data_type* p_;
+
public:
Incremental_inputs_header(const unsigned char *p)
- : p_(reinterpret_cast<const internal::Incremental_inputs_header_data*>(p))
+ : p_(reinterpret_cast<const data_type*>(p))
{ }
- static const int data_size = sizeof(internal::Incremental_inputs_header_data);
+ static const int data_size = sizeof(data_type);
elfcpp::Elf_Word
get_version() const
@@ -112,9 +116,6 @@ class Incremental_inputs_header
elfcpp::Elf_Word
get_reserved() const
{ return Convert<32, big_endian>::convert_host(this->p_->reserved); }
-
- private:
- const internal::Incremental_inputs_header_data* p_;
};
// Writer class for .gnu_incremental_inputs header. See
@@ -123,12 +124,16 @@ class Incremental_inputs_header
template<int size, bool big_endian>
class Incremental_inputs_header_write
{
+ private:
+ typedef internal::Incremental_inputs_header_data data_type;
+ data_type* p_;
+
public:
Incremental_inputs_header_write(unsigned char *p)
- : p_(reinterpret_cast<internal::Incremental_inputs_header_data*>(p))
+ : p_(reinterpret_cast<data_type*>(p))
{ }
- static const int data_size = sizeof(internal::Incremental_inputs_header_data);
+ static const int data_size = sizeof(data_type);
void
put_version(elfcpp::Elf_Word v)
@@ -145,9 +150,6 @@ class Incremental_inputs_header_write
void
put_reserved(elfcpp::Elf_Word v)
{ this->p_->reserved = Convert<32, big_endian>::convert_host(v); }
-
- private:
- internal::Incremental_inputs_header_data* p_;
};
// Reader class for an .gnu_incremental_inputs entry. See
@@ -155,12 +157,16 @@ class Incremental_inputs_header_write
template<int size, bool big_endian>
class Incremental_inputs_entry
{
+ private:
+ typedef internal::Incremental_inputs_entry_data data_type;
+ const data_type* p_;
+
public:
Incremental_inputs_entry(const unsigned char *p)
- : p_(reinterpret_cast<const internal::Incremental_inputs_entry_data*>(p))
+ : p_(reinterpret_cast<const data_type*>(p))
{ }
- static const int data_size = sizeof(internal::Incremental_inputs_entry_data);
+ static const int data_size = sizeof(data_type);
elfcpp::Elf_Word
get_filename_offset(elfcpp::Elf_Word v)
@@ -185,9 +191,6 @@ class Incremental_inputs_entry
elfcpp::Elf_Word
get_reserved(elfcpp::Elf_Word v)
{ return Convert<32, big_endian>::convert_host(this->p_->reserved); }
-
- private:
- const internal::Incremental_inputs_entry_data* p_;
};
// Writer class for an .gnu_incremental_inputs entry. See
@@ -195,12 +198,16 @@ class Incremental_inputs_entry
template<int size, bool big_endian>
class Incremental_inputs_entry_write
{
+ private:
+ typedef internal::Incremental_inputs_entry_data data_type;
+ data_type* p_;
+
public:
Incremental_inputs_entry_write(unsigned char *p)
- : p_(reinterpret_cast<internal::Incremental_inputs_entry_data*>(p))
+ : p_(reinterpret_cast<data_type*>(p))
{ }
- static const int data_size = sizeof(internal::Incremental_inputs_entry_data);
+ static const int data_size = sizeof(data_type);
void
put_filename_offset(elfcpp::Elf_Word v)
@@ -225,9 +232,6 @@ class Incremental_inputs_entry_write
void
put_reserved(elfcpp::Elf_Word v)
{ this->p_->reserved = Convert<32, big_endian>::convert_host(v); }
-
- private:
- internal::Incremental_inputs_entry_data* p_;
};
// Inform the user why we don't do an incremental link. Not called in