[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#216234: marked as forwarded (g++-3.3: template function triggers syntax error)



Your message dated Mon, 17 Nov 2003 11:34:48 +0100
with message-id <20031117103448.GA7413@hal.iwr.uni-heidelberg.de>
has caused the Debian Bug report #216234,
regarding g++-3.3: template function triggers syntax error
to be marked as having been forwarded to the upstream software
author(s) gcc-help@gcc.gnu.org.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

---------------------------------------
Received: (at 216234-forwarded) by bugs.debian.org; 17 Nov 2003 10:34:52 +0000
>From thimo.neubauer@iwr.uni-heidelberg.de Mon Nov 17 04:34:51 2003
Return-path: <thimo.neubauer@iwr.uni-heidelberg.de>
Received: from relay2.uni-heidelberg.de [129.206.210.211] 
	by master.debian.org with esmtp (Exim 3.35 1 (Debian))
	id 1ALgiZ-0006cO-00; Mon, 17 Nov 2003 04:34:51 -0600
Received: from mail.iwr.uni-heidelberg.de (mail.iwr.uni-heidelberg.de [129.206.104.30])
	by relay2.uni-heidelberg.de (8.12.10/8.12.10) with ESMTP id hAHAYnsR008897;
	Mon, 17 Nov 2003 11:34:49 +0100 (MET)
Received: from hal.iwr.uni-heidelberg.de (mail@hal.iwr.uni-heidelberg.de [129.206.69.248])
	by mail.iwr.uni-heidelberg.de (8.12.10/8.12.9) with ESMTP id hAHAYmfK010647;
	Mon, 17 Nov 2003 11:34:48 +0100 (MET)
Received: from thimo by hal.iwr.uni-heidelberg.de with local (Exim 3.35 #1 (Debian))
	id 1ALgiW-0001yl-00; Mon, 17 Nov 2003 11:34:48 +0100
Date: Mon, 17 Nov 2003 11:34:48 +0100
From: Thimo Neubauer <thimo@debian.org>
To: gcc-help@gcc.gnu.org
Cc: 216234-forwarded@bugs.debian.org, Matthias Klose <doko@cs.tu-berlin.de>,
        falk@debian.org
Subject: Bug when parsing template-functions?
Message-ID: <20031117103448.GA7413@hal.iwr.uni-heidelberg.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.3.28i
Sender: Thimo Neubauer <thimo.neubauer@iwr.uni-heidelberg.de>
Delivered-To: 216234-forwarded@bugs.debian.org
X-Spam-Status: No, hits=0.0 required=4.0
	tests=none
	version=2.53-bugs.debian.org_2003_11_15
X-Spam-Level: 
X-Spam-Checker-Version: SpamAssassin 2.53-bugs.debian.org_2003_11_15 (1.174.2.15-2003-03-30-exp)

Hello,

The following code shows that g++ reports a syntax error if the
method-call is inside a template-function but not if it's inside a
normal function:

-- snip --
#include <iostream>

template <int dim>
class Entity {
public:
  template <class T>
  void print(T& bla) { std::cout << bla;};

  template <int i>
  int test() { return i; }

  int other() { return 1; }
};

void foo1() {
  Entity<1> e;

  // everything works
  e.other();
  e.print("test");
  e.test<1>();
};

template <int dim>
void foo2() {
  Entity<dim> e;

  // works like above
  e.other();
  e.print("test");

  // fails with syntax error
  e.test<1>();
};

int main () {  
};
-- snip --

riff /tmp> g++ -Wall temptest2.cc
temptest2.cc: In function `void foo2()':
temptest2.cc:33: error: syntax error before `)' token
riff /tmp> g++ --version
g++ (GCC) 3.3.2 (Debian)
...

(some comments on this may be found in my report to the Debian-BTS on
http://bugs.debian.org/216234). I'd like to forward this bug to the
GCC-bug-tracking-system but am not sure if this may be the known bug

-- snip --
Two stage lookup in templates is not implemented.

    [14.6] specifies how names are looked up inside a template. G++
    does not do this correctly, but for most templates this will not
    be noticeable.
-- snip --

mentioned on http://gcc.gnu.org/bugs.html#known

Please CC me on reply, I'm not subscribed to this list.

Cheers
   Thimo



Reply to: