Gcc ошибка с лямбда-захватом этого в списке инициализации с виртуальным наследованием?

Следующий код segfaults под gcc-4.9, 5.4 и 6.3 с std = С++ 11, но компилируется и работает отлично под clang-3.7 и VS2015 Update 3.

struct A
{
    int Func() { return x++; }
    int x = 5;
};

struct B
{
    B(int) {}
};

struct Derived : public virtual A, public B
{
    Derived()
      : A()
      // , B(this->Func()) // This works!
      , B([this](){ return this->Func(); }()) // But this segfaults.
    {
    }
};

int main()
{
    Derived c;
}

Это ошибка в gcc? Удаление виртуального наследования фиксирует segfault.