This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/14447] New: templatizing outer class hides specialization of inner template class


The specialization of nested template class is not found if
the outer class is also a template class.  The make/run output is:
<----------- cut here -------------
cd /home/evansl/prog_dev/boost-root.ln/boost_dev/libs/managed_ptr/test/
make -k run
/usr/local/gcc-3.4-20040225/bin/g++ -ggdb -c -Wall -MMD -save-temps -v -ggdb
-I/home/evansl/prog_dev/boost-root.ln/boost_dev
-I/home/evansl/prog_dev/boost-root.ln -o nested_deduction.o nested_deduction.cpp
Reading specs from /usr/local/gcc-3.4-20040225/lib/gcc/i686-pc-linux-gnu/3.4.0/specs
Configured with: ../../gcc-3.4-20040225/configure
--prefix=/usr/local/gcc-3.4-20040225 --enable-languages=c++ : (reconfigured)
../../gcc-3.4-20040225/configure --prefix=/usr/local/gcc-3.4-20040225
--enable-languages=c++
Thread model: posix
gcc version 3.4.0 20040225 (prerelease)
 /usr/local/gcc-3.4-20040225/libexec/gcc/i686-pc-linux-gnu/3.4.0/cc1plus -E
-quiet -v -I/home/evansl/prog_dev/boost-root.ln/boost_dev
-I/home/evansl/prog_dev/boost-root.ln -MMD nested_deduction.d -MQ
nested_deduction.o -D_GNU_SOURCE nested_deduction.cpp -mtune=pentiumpro -Wall
-fworking-directory -o nested_deduction.ii
ignoring nonexistent directory
"/usr/local/gcc-3.4-20040225/lib/gcc/i686-pc-linux-gnu/3.4.0/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /home/evansl/prog_dev/boost-root.ln/boost_dev
 /home/evansl/prog_dev/boost-root.ln
 /usr/local/gcc-3.4-20040225/lib/gcc/i686-pc-linux-gnu/3.4.0/../../../../include/c++/3.4.0
 /usr/local/gcc-3.4-20040225/lib/gcc/i686-pc-linux-gnu/3.4.0/../../../../include/c++/3.4.0/i686-pc-linux-gnu
 /usr/local/gcc-3.4-20040225/lib/gcc/i686-pc-linux-gnu/3.4.0/../../../../include/c++/3.4.0/backward
 /usr/local/include
 /usr/local/gcc-3.4-20040225/include
 /usr/local/gcc-3.4-20040225/lib/gcc/i686-pc-linux-gnu/3.4.0/include
 /usr/include
End of search list.
 /usr/local/gcc-3.4-20040225/libexec/gcc/i686-pc-linux-gnu/3.4.0/cc1plus
-fpreprocessed nested_deduction.ii -quiet -dumpbase nested_deduction.cpp
-mtune=pentiumpro -auxbase-strip nested_deduction.o -ggdb -ggdb -Wall -version
-o nested_deduction.s
GNU C++ version 3.4.0 20040225 (prerelease) (i686-pc-linux-gnu)
	compiled by GNU C version 3.4.0 20040225 (prerelease).
GGC heuristics: --param ggc-min-expand=55 --param ggc-min-heapsize=47858
 as -V -Qy -o nested_deduction.o nested_deduction.s
GNU assembler version 2.14.90.0.6 (i386-linux) using BFD version 2.14.90.0.6
20030820 Debian GNU/Linux
/usr/local/gcc-3.4-20040225/bin/g++ -ggdb -L/usr/local/gcc-3.4-20040225/lib
-Wl,--rpath -Wl,/usr/local/gcc-3.4-20040225/lib  -ggdb -o nested_deduction.exe
nested_deduction.o 
running nested_deduction
./nested_deduction.exe
==>creating non_nested:
non-specialized nester_maybeparm
yes-specialized nested_deduction
==>creating non_tmpl_yes_nested:
non-specialized nester_maybeparm
yes-specialized nested_deduction
==>creating yes_tmpl_yes_nested:
non-specialized nested_deduction
<----------- cut here -----------

Where the output should actually be (as it is with intel8.0):
<------------ cut here ----------
==>creating non_nested:
non-specialized nester_maybeparm
yes-specialized nested_deduction
==>creating non_tmpl_yes_nested:
non-specialized nester_maybeparm
yes-specialized nested_deduction
==>creating yes_tmpl_yes_nested:
yes-specialized nester_maybeparm
yes-specialized nested_deduction
<------------ cut here ----------
This is also reported in last entry in 
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13088

I will attach the *.i files

-- 
           Summary: templatizing outer class hides specialization of inner
                    template class
           Product: gcc
           Version: 3.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: cppljevans at cox-internet dot com
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14447


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]