以下のコードにおいて

class hoge {
};

template<typename type_>
class foo {
    class bar {
    };
    static bar static_member_;
};
template<typename type_> typename foo<type_>::bar foo<type_>::static_member_;

class foo<hoge>を明示的インスタンス化します。

template class foo<hoge>;

以下のコマンドでfoo<hoge>::static_member_がインスタンス化されているかを確認します。

objdump --demangle -t hoge|grep static_member_

以下の出力からfoo<hoge>::static_member_がインスタンス化されていることが確認できました。
0000000000601029 u O .bss 0000000000000001 foo<hoge>::static_member_

次にclass fooを基底クラスとするclass derivedを考えます。

template<typename type_>
class derived :public foo<type_>
{
};
// template class foo<hoge>;
template class derived<hoge>;

class foo<hoge>の明示的インスタンス化を削除して、class derived<hoge>を明示的インスタンス化します。
 同様にfoo<hoge>::static_member_がインスタンス化されているか確認しましたが、インスタンス化されていませんでした。
 この結果から派生クラスの明示的インスタンス化をしても基底クラスはインスタンス化されないように見えます。
質問
テンプレートクラスの明示的インスタンス化構文を派生クラスに適用した場合、基底クラスまではインスタンス化されない。この挙動はC++の仕様でしょうか?

使用しているコンパイラは
'gcc version 5.4.1 20160904 (Ubuntu 5.4.1-2ubuntu1~16.04)'
です。