https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78198
--- Comment #4 from Martin Liška <marxin at gcc dot gnu.org> --- The code is rejected by clang 3.8.1: clang++ pr78198.cpp -c -std=gnu++11 pr78198.cpp:8:12: error: expected ')' D(aArgs...); ^ pr78198.cpp:8:6: note: to match this '(' D(aArgs...); ^ pr78198.cpp:8:7: error: redefinition of 'aArgs' D(aArgs...); ^ pr78198.cpp:7:74: note: previous definition is here template<typename , typename... Args> C::SingleObject MakeUnique(Args... aArgs) { ^ pr78198.cpp:16:17: error: ISO C++11 does not allow access declarations; use using declarations instead BufferList::BufferList; ^ using 3 errors generated.