From ba43a216fdd1ee5f77f3aece4ce9dbf441bab3e6 Mon Sep 17 00:00:00 2001
From: Nat Goodspeed <nat@lindenlab.com>
Date: Thu, 22 Jan 2015 01:38:38 +0000
Subject: 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.

---
 indra/llcommon/llinitparam.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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)
-- 
cgit v1.2.3