Ответ 1
Похож на подлинную ошибку компилятора, поскольку стандарт не разрешает такой доступ в
11.2 Доступность базовых классов и базовых классов
Поиск доказательств вне самого стандарта, WhozCraig уже поднял, что clang не разрешает такой доступ.
Ищете аналогичные шаблоны, которые могут быть запутаны в gcc, существует диамон-наследование с виртуальным базовым классом A, что позволило бы такой доступ, поскольку путь большинства доступа определяет, какие меры защиты применяются.