From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1231 invoked by alias); 5 Nov 2002 20:36:03 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 1214 invoked by uid 71); 5 Nov 2002 20:36:01 -0000 Date: Tue, 05 Nov 2002 12:36:00 -0000 Message-ID: <20021105203601.1213.qmail@sources.redhat.com> To: nathan@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Wolfgang Bangerth Subject: Re: c++/3784: function not found if integer template parameter declared as unsigned in a different function Reply-To: Wolfgang Bangerth X-SW-Source: 2002-11/txt/msg00249.txt.bz2 List-Id: The following reply was made to PR c++/3784; it has been noted by GNATS. From: Wolfgang Bangerth To: gcc-bugs@gcc.gnu.org, Cc: Subject: Re: c++/3784: function not found if integer template parameter declared as unsigned in a different function Date: Tue, 5 Nov 2002 14:30:31 -0600 (CST) There's definitely going on something fishy here: ------------------------------------------------- template class X { }; template void foo1(X); template void foo2(X); int main() { X x; foo2(x); } ------------------------------------------------- This compiles fine if I remove the foo1 function that is not referenced at all. If I leave it in, I get this: tmp/g> /home/bangerth/bin/gcc-3.3x-pre/bin/c++ test.cc test.cc: In function `int main()': test.cc:9: error: no matching function for call to `foo2(X&)' Seems as if on the definition of foo1, something's erroneously overwritten. Regards Wolfgang ------------------------------------------------------------------------- Wolfgang Bangerth email: bangerth@ticam.utexas.edu www: http://www.ticam.utexas.edu/~bangerth