c++/3381: explicit template instantations fail with absolutely qualified names

Jens.Maurer@gmx.net Jens.Maurer@gmx.net
Fri Jun 22 14:16:00 GMT 2001


>Number:         3381
>Category:       c++
>Synopsis:       explicit template instantations fail with absolutely qualified names
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          rejects-legal
>Submitter-Id:   net
>Arrival-Date:   Fri Jun 22 14:16:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Jens Maurer
>Release:        gcc version 3.0
>Organization:
>Environment:
Linux 2.4.4
glibc 2.2.3
>Description:
The code below shows how explicit template instantations
fail when the name of the template starts with a
reference to the global namespace "::".

explicit-instantiation-absqual.cc:8: parse error before `;' token

Versions 2.95.3 and 3.1 20010617 show the same error.
>How-To-Repeat:
namespace N {
  template<class T>
  class A { };
}

// template class N::A<int>;   // this works (by itself)
template class ::N::A<int>;    // but this doesn't
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
 



More information about the Gcc-bugs mailing list