The gcc does not satisfy the C++ Standard. The inherited constructor of the class Derived should call the Base constructor in its mem-initializer list with the argument specified for the Derived inherited constructor.
There is written in the C++ Standard (12.9 Inheriting constructor)
8 An inheriting constructor for a class is implicitly defined when it
is odr-used (3.2) to create an object of its class type (1.8). An
implicitly-defined inheriting constructor performs the set of
initializations of the class that would be performed by a user-written
inline constructor for that class with a mem-initializer-list whose
only mem-initializer has a mem-initializer-id that names the base
class denoted in the nested-name-specifier of the using-declaration and
an expression-list as specified below, and where the
compound-statement in its function body is empty (12.6.2). If that
user-written constructor would be ill-formed, the program is
ill-formed. Each expression in the expression-list is of the form
static_cast(p), where p is the name of the corresponding
constructor parameter and T is the declared type of p.
Also according to the section (12.6.2 Initializing bases and members)
8 In a non-delegating constructor, if a given non-static data member
or base class is not designated by a mem-initializer-id (including the
case where there is no mem-initializer-list because the constructor
has noctor-initializer) and the entity is not a virtual base class of
an abstract class (10.4), then
— if the entity is a non-static data member that has a
brace-or-equal-initializer, the entity is initialized as specified in
8.5;