Set Stringpool zero_null option via a call, not a default constructor

argument.
This commit is contained in:
Ian Lance Taylor 2007-09-21 06:12:32 +00:00
parent ca3a67a5cf
commit a8b2552e07
3 changed files with 13 additions and 9 deletions

View File

@ -169,8 +169,8 @@ class Output_merge_string : public Output_merge_base
{
public:
Output_merge_string()
: Output_merge_base(sizeof(Char_type)), stringpool_(false), hashtable_()
{ }
: Output_merge_base(sizeof(Char_type)), stringpool_(), hashtable_()
{ this->stringpool_.set_no_zero_null(); }
// Add an input section.
bool

View File

@ -13,9 +13,9 @@ namespace gold
{
template<typename Stringpool_char>
Stringpool_template<Stringpool_char>::Stringpool_template(bool zero_null)
Stringpool_template<Stringpool_char>::Stringpool_template()
: string_set_(), strings_(), strtab_size_(0), next_index_(1),
zero_null_(zero_null)
zero_null_(true)
{
}

View File

@ -58,14 +58,18 @@ class Stringpool_template
// is never a valid key value.
typedef size_t Key;
// Create a Stringpool. ZERO_NULL is true if we should reserve
// offset 0 to hold the empty string when converting the stringpool
// to a string table. ZERO_NULL should be true if you want a proper
// ELF SHT_STRTAB section.
Stringpool_template(bool zero_null = true);
// Create a Stringpool.
Stringpool_template();
~Stringpool_template();
// Indicate that we should not reserve offset 0 to hold the empty
// string when converting the stringpool to a string table. This
// should not be called for a proper ELF SHT_STRTAB section.
void
set_no_zero_null()
{ this->zero_null_ = false; }
// Add the string S to the pool. This returns a canonical permanent
// pointer to the string in the pool. If PKEY is not NULL, this
// sets *PKEY to the key for the string.