Skip to content
Snippets Groups Projects
  • Nat Goodspeed's avatar
    ba43a216
    Disambiguate constructor's initialization call to its base class. · ba43a216
    Nat Goodspeed authored
    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.
    ba43a216
    History
    Disambiguate constructor's initialization call to its base class.
    Nat Goodspeed authored
    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.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.