c++/2862: gcc accepts invalid explicit instantiation syntax

wolfgang.bangerth@iwr.uni-heidelberg.de wolfgang.bangerth@iwr.uni-heidelberg.de
Fri May 18 01:16:00 GMT 2001


>Number:         2862
>Category:       c++
>Synopsis:       gcc accepts invalid explicit instantiation syntax
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    unassigned
>State:          open
>Class:          accepts-illegal
>Submitter-Id:   net
>Arrival-Date:   Fri May 18 01:16:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Wolfgang Bangerth
>Release:        unknown-1.0
>Organization:
>Environment:
gcc 2.95, gcc cvs of May 05
>Description:
gcc accepts the following syntax for explicit instantiations
of template functions with default args:
---------------------------------------
template <int dim> void f    (int=0) {};
template           void f<1> ();
---------------------------------------
This is most certainly not correct.
Regards
  Wolfgang
>How-To-Repeat:
-----/gcc-bugs> cat a.cc
template <int dim> void f    (int=0) {};
template           void f<1> ();

-----/gcc-bugs> ~/Config/gcc-ss-sun/bin/gcc -W -Wall -ansi -c a.cc -o /dev/null
-----/gcc-bugs> ~/Config/gcc-ss-sun/bin/gcc -v                                 
Reading specs from /home/atlas2/wolf/Config/gcc-ss-sun/bin/../lib/gcc-lib/sparc-sun-solaris2.7/3.0/specs
Configured with: ../gcc/configure --prefix=/home/people/wolf/Config/gcc-ss-sun --with-gnu-as --with-as=/usr/local/bin/as --with-gnu-ld --with-ld=/usr/local/bin/ld
Thread model: posix
gcc version 3.0 20010514 (prerelease)
>Fix:

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



More information about the Gcc-prs mailing list