public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug c++/60786] New: In C++11 an explicit instantiation with an unqualified name must be in the right namespace @ 2014-04-08 12:20 redi at gcc dot gnu.org 2014-04-15 19:06 ` [Bug c++/60786] " redi at gcc dot gnu.org ` (3 more replies) 0 siblings, 4 replies; 5+ messages in thread From: redi at gcc dot gnu.org @ 2014-04-08 12:20 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60786 Bug ID: 60786 Summary: In C++11 an explicit instantiation with an unqualified name must be in the right namespace Product: gcc Version: 4.9.0 Status: UNCONFIRMED Keywords: accepts-invalid Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: redi at gcc dot gnu.org This should not be accepted in C++11 mode: namespace A { template<typename T> struct B { }; } using A::B; template class B<int>; [temp.explicit] p3: "An explicit instantiation shall appear in an enclosing namespace of its template. If the name declared in the explicit instantiation is an unqualified name, the explicit instantiation shall appear in the namespace where its template is declared or, if that namespace is inline (7.3.1), any namespace from its enclosing namespace set." This is a change from C++03: "A definition of a class template or class member template shall be in scope at the point of the explicit instantiation of the class template or class member template." ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/60786] In C++11 an explicit instantiation with an unqualified name must be in the right namespace 2014-04-08 12:20 [Bug c++/60786] New: In C++11 an explicit instantiation with an unqualified name must be in the right namespace redi at gcc dot gnu.org @ 2014-04-15 19:06 ` redi at gcc dot gnu.org 2014-04-15 19:08 ` redi at gcc dot gnu.org ` (2 subsequent siblings) 3 siblings, 0 replies; 5+ messages in thread From: redi at gcc dot gnu.org @ 2014-04-15 19:06 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60786 --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- Author: redi Date: Tue Apr 15 19:05:45 2014 New Revision: 209431 URL: http://gcc.gnu.org/viewcvs?rev=209431&root=gcc&view=rev Log: PR c++/60786 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/ 1.cc: Fix invalid explicit instantiations with unqualified names. * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/ 2.cc: Likweise. * testsuite/20_util/tuple/53648.cc: Likweise. * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc: Likewise. * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/23_containers/unordered_map/requirements/ debug_container.cc: Likewise. * testsuite/23_containers/unordered_map/requirements/ explicit_instantiation/3.cc: Likewise. * testsuite/23_containers/unordered_multimap/requirements/debug.cc: Likewise. * testsuite/23_containers/unordered_multimap/requirements/ explicit_instantiation/3.cc: Likewise. * testsuite/23_containers/unordered_multiset/requirements/debug.cc: Likewise. * testsuite/23_containers/unordered_multiset/requirements/ explicit_instantiation/3.cc: Likewise. * testsuite/23_containers/unordered_set/requirements/ debug_container.cc: Likewise. * testsuite/23_containers/unordered_set/requirements/ explicit_instantiation/3.cc: Likewise. Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc trunk/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/2.cc trunk/libstdc++-v3/testsuite/20_util/tuple/53648.cc trunk/libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc trunk/libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc trunk/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_container.cc trunk/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/3.cc trunk/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/debug.cc trunk/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/3.cc trunk/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/debug.cc trunk/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/3.cc trunk/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/debug_container.cc trunk/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/3.cc ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/60786] In C++11 an explicit instantiation with an unqualified name must be in the right namespace 2014-04-08 12:20 [Bug c++/60786] New: In C++11 an explicit instantiation with an unqualified name must be in the right namespace redi at gcc dot gnu.org 2014-04-15 19:06 ` [Bug c++/60786] " redi at gcc dot gnu.org @ 2014-04-15 19:08 ` redi at gcc dot gnu.org 2014-12-14 15:37 ` ville.voutilainen at gmail dot com 2021-08-04 20:42 ` pinskia at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: redi at gcc dot gnu.org @ 2014-04-15 19:08 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60786 --- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- I've fixed the libstdc++ tests so they don't rely on this bug ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/60786] In C++11 an explicit instantiation with an unqualified name must be in the right namespace 2014-04-08 12:20 [Bug c++/60786] New: In C++11 an explicit instantiation with an unqualified name must be in the right namespace redi at gcc dot gnu.org 2014-04-15 19:06 ` [Bug c++/60786] " redi at gcc dot gnu.org 2014-04-15 19:08 ` redi at gcc dot gnu.org @ 2014-12-14 15:37 ` ville.voutilainen at gmail dot com 2021-08-04 20:42 ` pinskia at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: ville.voutilainen at gmail dot com @ 2014-12-14 15:37 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60786 Ville Voutilainen <ville.voutilainen at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2014-12-14 CC| |ville.voutilainen at gmail dot com Ever confirmed|0 |1 Known to fail| |4.8.2, 4.9.1, 5.0 --- Comment #3 from Ville Voutilainen <ville.voutilainen at gmail dot com> --- Clang rejects the code. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/60786] In C++11 an explicit instantiation with an unqualified name must be in the right namespace 2014-04-08 12:20 [Bug c++/60786] New: In C++11 an explicit instantiation with an unqualified name must be in the right namespace redi at gcc dot gnu.org ` (2 preceding siblings ...) 2014-12-14 15:37 ` ville.voutilainen at gmail dot com @ 2021-08-04 20:42 ` pinskia at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: pinskia at gcc dot gnu.org @ 2021-08-04 20:42 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60786 Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Target Milestone|--- |7.0 Resolution|--- |DUPLICATE --- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- In GCC7+, we started having a pedantic warning (only with -pedantic or -Wpedantic): <source>:6:16: warning: explicit instantiation of 'template<class T> struct A::B' outside its namespace must use a nested-name-specifier [-Wpedantic] template class B<int>; ^~~~~~ This is a dup of bug 56480. *** This bug has been marked as a duplicate of bug 56480 *** ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-08-04 20:42 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2014-04-08 12:20 [Bug c++/60786] New: In C++11 an explicit instantiation with an unqualified name must be in the right namespace redi at gcc dot gnu.org 2014-04-15 19:06 ` [Bug c++/60786] " redi at gcc dot gnu.org 2014-04-15 19:08 ` redi at gcc dot gnu.org 2014-12-14 15:37 ` ville.voutilainen at gmail dot com 2021-08-04 20:42 ` pinskia at gcc dot gnu.org
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).