summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2015-01-22 01:38:38 +0000
committerNat Goodspeed <nat@lindenlab.com>2015-01-22 01:38:38 +0000
commitba43a216fdd1ee5f77f3aece4ce9dbf441bab3e6 (patch)
tree22cb00552249144053b77ac73ea50c7bf06a90da
parentad7e7fc342bccc95badc1b97f04a1f80c984fb82 (diff)
Disambiguate constructor's initialization call to its base class.
A particular LLInitParam::TypeValuesHelper specialization is derived from a different TypeValuesHelper specialization. The subclass constructor TypeValuesHelper(...) has previously forwarded the call to its base-class constructor with: TypeValuesHelper(val): TypeValuesHelper(val) {} This is the first time I've looked at that; I'm a bit surprised that previous compilers blithely accept it, and apparently understand the intent. gcc 4.7 complains that we would need to turn on -std=c++11 to support delegating constructors; obviously the second TypeValuesHelper is now assumed to be the class being defined, rather than its base class. Fortunately the class already has typedefs for both specializations, fully qualified with all template parameters, so I simply replaced the second TypeValuesHelper reference with base_t.
-rwxr-xr-xindra/llcommon/llinitparam.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/indra/llcommon/llinitparam.h b/indra/llcommon/llinitparam.h
index be3552cb46..c65b05f610 100755
--- a/indra/llcommon/llinitparam.h
+++ b/indra/llcommon/llinitparam.h
@@ -435,7 +435,7 @@ namespace LLInitParam
typedef self_t type_value_t;
TypeValuesHelper(const std::string& val)
- : TypeValuesHelper(val)
+ : base_t(val)
{}
void operator ()(const std::string& name)