>Submitter-Id: net >Originator: Thimo Neubauer <[EMAIL PROTECTED]> >Organization: The Debian Project >Confidential: no >Synopsis: >Severity: non-critical >Priority: medium >Category: c++ >Class: ice-on-legal-code >Release: 3.3 CVS 20030323 System: Debian GNU/Linux (unstable) Architecture: i686 >Description: [ Reported to the Debian BTS as report #185604. Please CC [EMAIL PROTECTED] on replies. Log of report can be found at http://bugs.debian.org/185604 ]
- 3.2 CVS 20030316 rejects the code - 3.3 CVS 20030323 ICEs in the error message (the regression) - 3.4 CVS 20030316 compiles the code $ g++-3.2 bugs-185604.cc bugs-185604.cc: In function `void bar(T&) [with T = int]': bugs-185604.cc:26: instantiated from here bugs-185604.cc:18: no matching function for call to `X::bar()' $ g++-3.3 bugs-185604.cc bugs-185604.cc: In function `void bar(T&)': bugs-185604.cc:18: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions. The following program is valid C++, but does not compile: -- snip -- class X { public: template<int d> int bar () {return d;} }; template<int x> int fooo () { return x; } template<class T> void bar (T& g) { int kk = fooo<17>(); // OK X x; int k = x.bar<17>(); // Not OK } int main () { X x; int k=x.bar<17>(); // OK int n; bar(n); } -- snip -- >How-To-Repeat: >Fix: