From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22067 invoked by alias); 3 Jun 2004 22:27:22 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 22046 invoked by uid 48); 3 Jun 2004 22:27:21 -0000 Date: Thu, 03 Jun 2004 22:27:00 -0000 From: "rdelashmit at soe dot sony dot com" To: gcc-bugs@gcc.gnu.org Message-ID: <20040603222719.15814.rdelashmit@soe.sony.com> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug c++/15814] New: functions with namespace qualifiers in templated functions which are dependent on the templated type search for the function at parse time instead of instantiation time X-Bugzilla-Reason: CC X-SW-Source: 2004-06/txt/msg00390.txt.bz2 List-Id: This occurs with 3.4.0 and 3.5.0(cvs as of 6/3/2004), but not with 2.95.3, 3.2.3, or 3.3.3. Code to reproduce is below. As I understand it, Foo::baz (value) in the code below should find the function at instantiation time, because it is dependant on the template parameter ValueType, but errors out at parse time instead. If baz(value) rather than Foo::baz(value) is used, this appears to work correctly. namespace Foo { template void bar(ValueType value) { #if 1 Foo::baz(value); // this version does not compile #else baz(value); // this version compiles #endif } void baz(int) {} } void test() { Foo::bar(0); } -- Summary: functions with namespace qualifiers in templated functions which are dependent on the templated type search for the function at parse time instead of instantiation time Product: gcc Version: 3.5.0 Status: UNCONFIRMED Severity: enhancement Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rdelashmit at soe dot sony dot com CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15814