workaround for clang3.4 or later: empty base class construction