https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56840
--- Comment #4 from Jason Merrill <jason at gcc dot gnu.org> --- Author: jason Date: Sun Nov 13 06:51:23 2016 New Revision: 242348 URL: https://gcc.gnu.org/viewcvs?rev=242348&root=gcc&view=rev Log: DR 374 - specialization in outer namespace PR c++/56840 * pt.c (check_specialization_namespace): Allow any enclosing namespace. (check_unqualified_spec_or_inst): New. (check_explicit_specialization): Call it. * parser.c (cp_parser_elaborated_type_specifier) (cp_parser_class_head): Call it. Added: trunk/gcc/testsuite/g++.dg/cpp0x/explicit-inst1.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/cp-tree.h trunk/gcc/cp/decl.c trunk/gcc/cp/name-lookup.c trunk/gcc/cp/parser.c trunk/gcc/cp/pt.c trunk/gcc/testsuite/g++.dg/template/spec17.C trunk/gcc/testsuite/g++.dg/template/spec25.C trunk/gcc/testsuite/g++.dg/template/spec36.C trunk/gcc/testsuite/g++.old-deja/g++.ns/template13.C trunk/gcc/testsuite/g++.old-deja/g++.pt/explicit73.C trunk/gcc/testsuite/g++.old-deja/g++.pt/lookup10.C trunk/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc trunk/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc trunk/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc trunk/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc trunk/libstdc++-v3/testsuite/ext/numeric_traits/numeric_traits.cc trunk/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/requirements/explicit_instantiation/1.cc trunk/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/requirements/explicit_instantiation/1.cc trunk/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/requirements/explicit_instantiation/2.cc trunk/libstdc++-v3/testsuite/tr1/2_general_utilities/weak_ptr/requirements/explicit_instantiation/1.cc trunk/libstdc++-v3/testsuite/tr1/2_general_utilities/weak_ptr/requirements/explicit_instantiation/2.cc trunk/libstdc++-v3/testsuite/tr1/6_containers/hash/requirements/explicit_instantiation.cc trunk/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/explicit_instantiation.cc trunk/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/explicit_instantiation.cc trunk/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/explicit_instantiation.cc trunk/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/explicit_instantiation.cc