Bug#271121: marked as done (vdr-plugin-freecell: FTBFS with gcc-3.4: dependent-name ` cTBList<T>::cItem' is parsed as a non-type, but instantiation yields a type)

Debian Bug Tracking System pkg-vdr-dvb-devel@lists.alioth.debian.org
Thu, 23 Sep 2004 09:18:10 -0700


Your message dated Thu, 23 Sep 2004 12:02:07 -0400
with message-id <E1CAW2p-0007fG-00@newraff.debian.org>
and subject line Bug#271121: fixed in vdr-plugin-freecell 0.0.2-1
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(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 submit) by bugs.debian.org; 11 Sep 2004 10:53:22 +0000
>From aj@andaco.de Sat Sep 11 03:53:22 2004
Return-path: <aj@andaco.de>
Received: from c225076.adsl.hansenet.de (localhost) [213.39.225.76] 
	by spohr.debian.org with esmtp (Exim 3.35 1 (Debian))
	id 1C65VR-00018K-00; Sat, 11 Sep 2004 03:53:21 -0700
Received: from aj by localhost with local (Exim 4.34)
	id 1C65X6-0006nc-Ap; Sat, 11 Sep 2004 12:55:04 +0200
To: Debian Bug Tracking System <submit@bugs.debian.org>
From: Andreas Jochens <aj@andaco.de>
Subject: vdr-plugin-freecell: FTBFS with gcc-3.4: dependent-name ` cTBList<T>::cItem' is parsed as a non-type, but instantiation yields a type
Message-Id: <E1C65X6-0006nc-Ap@localhost>
Date: Sat, 11 Sep 2004 12:55:04 +0200
Delivered-To: submit@bugs.debian.org
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2004_03_25 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Status: No, hits=-6.5 required=4.0 tests=BAYES_10,HAS_PACKAGE 
	autolearn=no version=2.60-bugs.debian.org_2004_03_25
X-Spam-Level: 

Package: vdr-plugin-freecell
Severity: normal
Tags: patch

When building 'vdr-plugin-freecell' with gcc-3.4 I get the following error:

tools/list.h:288:   instantiated from `T& cTBList<T>::Append() [with T = cTBString]'
tools/list.h:307:   instantiated from `void cTBList<T>::Append(const T&) [with T = cTBString]'
tools/list.h:535:   instantiated from here
tools/list.h:206: error: dependent-name ` cTBList<T>::cItem' is parsed as a non-type, but instantiation yields a type
tools/list.h:206: note: say `typename  cTBList<T>::cItem' if a type is meant
tools/list.h: In member function `typename cTBList<T>::cItem* cTBList<T>::Unlink() [with T = cCard*]':
tools/list.h:398:   instantiated from `T cTBList<T>::Take() [with T = cCard*]'
tools/list.h:66:   instantiated from `T cTBList<T>::TakeFirst() [with T = cCard*]'
cards.c:64:   instantiated from here
tools/list.h:341: error: dependent-name ` cTBList<T>::cItem' is parsed as a non-type, but instantiation yields a type
tools/list.h:341: note: say `typename  cTBList<T>::cItem' if a type is meant
tools/list.h: In member function `typename cTBList<T>::cItem* cTBList<T>::NewItem(cTBList<T>::cItem*, cTBList<T>::cItem*) const [with T = cCard*]':
tools/list.h:288:   instantiated from `T& cTBList<T>::Append() [with T = cCard*]'
tools/list.h:307:   instantiated from `void cTBList<T>::Append(const T&) [with T = cCard*]'
cards.c:71:   instantiated from here
tools/list.h:206: error: dependent-name ` cTBList<T>::cItem' is parsed as a non-type, but instantiation yields a type
tools/list.h:206: note: say `typename  cTBList<T>::cItem' if a type is meant
make[1]: *** [cards.o] Error 1
make[1]: Leaving directory `/vdr-plugin-freecell-0.0.1'
make: *** [build-stamp] Error 2

With the attached patch 'vdr-plugin-freecell' can be compiled using gcc-3.4.

Regards
Andreas Jochens

diff -urN ../tmp-orig/vdr-plugin-freecell-0.0.1/tools/list.h ./tools/list.h
--- ../tmp-orig/vdr-plugin-freecell-0.0.1/tools/list.h	2004-02-11 13:33:26.000000000 +0100
+++ ./tools/list.h	2004-09-11 12:52:20.473217385 +0200
@@ -90,22 +90,22 @@
 	T &SetNextCurrent  ();
 	T &SetPrevCurrent  ();
 
-	friend cTBList<T> &operator+= <> (cTBList<T> &list1, const cTBList<T> &list2);
-	friend cTBList<T> &operator+= <> (cTBList<T> &list, const T &element);
+//	friend cTBList<T> &operator+= <> (cTBList<T> &list1, const cTBList<T> &list2);
+//	friend cTBList<T> &operator+= <> (cTBList<T> &list, const T &element);
 
-	friend cTBList<T> operator+ <> (const cTBList<T> &list1, const cTBList<T> &list2);
-	friend cTBList<T> operator+ <> (const T &element, const cTBList<T> &list);
-	friend cTBList<T> operator+ <> (const cTBList<T> &list, const T &element);
+//	friend cTBList<T> operator+ <> (const cTBList<T> &list1, const cTBList<T> &list2);
+//	friend cTBList<T> operator+ <> (const T &element, const cTBList<T> &list);
+//	friend cTBList<T> operator+ <> (const cTBList<T> &list, const T &element);
 
 	/*friend cSource &operator<< <> (cSource &dest, const cTBList<T> &list);
-	friend cSource &operator>> <> (cSource &dest, cTBList<T> &list);*/
+//	friend cSource &operator>> <> (cSource &dest, cTBList<T> &list);*/
 };
 
 // Template Implementation (inline funcs)
 
 template<class T>
 inline int cTBList<T>::Find (const T & i) {
-	cTBList<T>::cItem *item = m_First;
+	typename cTBList<T>::cItem *item = m_First;
 	int index = 0;
 
 	while (item && (item->Data != i)) {
@@ -203,7 +203,7 @@
 
 template<class T>
 typename cTBList<T>::cItem *cTBList<T>::NewItem (cTBList<T>::cItem *pBefore, cTBList<T>::cItem *pAfter) const {
-	cTBList<T>::cItem *item = new cTBList<T>::cItem;
+	typename cTBList<T>::cItem *item = new typename cTBList<T>::cItem;
 
 	item->Next = pAfter;
 	item->Prev = pBefore;
@@ -235,7 +235,7 @@
 	if ((int)idx == m_CurPos)
 		return m_Current;
 
-	cTBList<T>::cItem *item;
+	typename cTBList<T>::cItem *item;
 	int dist = idx - m_CurPos;
 	bool direct;
 
@@ -271,7 +271,7 @@
 
 template<class T>
 T &cTBList<T>::Prepend () {
-	cTBList<T>::cItem *item = NewItem(NULL, m_First);
+	typename cTBList<T>::cItem *item = NewItem(NULL, m_First);
 
 	m_First = m_Current = item;
 	if (!m_Last)
@@ -285,7 +285,7 @@
 
 template<class T>
 T &cTBList<T>::Append () {
-	cTBList<T>::cItem *item = NewItem(m_Last, NULL);
+	typename cTBList<T>::cItem *item = NewItem(m_Last, NULL);
 
 	m_Last = m_Current = item;
 	if (!m_First)
@@ -317,13 +317,13 @@
 		return true;
 	}
 
-	cTBList<T>::cItem *nextItem = Locate(idx);
+	typename cTBList<T>::cItem *nextItem = Locate(idx);
 	if (!nextItem)
 		return false;
 
-	cTBList<T>::cItem *prevItem = nextItem->Prev;
+	typename cTBList<T>::cItem *prevItem = nextItem->Prev;
 
-	cTBList<T>::cItem *item = NewItem(prevItem, nextItem);
+	typename cTBList<T>::cItem *item = NewItem(prevItem, nextItem);
 	item->Data = i;
 
 	m_CurPos = idx;
@@ -338,7 +338,7 @@
 	if (!m_Current)
 		return NULL;
 
-	cTBList<T>::cItem *item = m_Current;
+	typename cTBList<T>::cItem *item = m_Current;
 	if (item == m_First) {
 		if (m_First = item->Next)
 			m_First->Prev = NULL;
@@ -370,7 +370,7 @@
 		if (Find(i) == -1)
 			return false;
 
-	cTBList<T>::cItem *item = Unlink();
+	typename cTBList<T>::cItem *item = Unlink();
 	if (!item)
 		return false;
 
@@ -383,7 +383,7 @@
 	if (!Locate(idx))
 		return false;
 
-	cTBList<T>::cItem *item = Unlink();
+	typename cTBList<T>::cItem *item = Unlink();
 	if (!item)
 		return false;
 
@@ -412,13 +412,13 @@
 
 template<class T>
 void cTBList<T>::Clear () {
-	cTBList<T>::cItem *item = m_First;
+	typename cTBList<T>::cItem *item = m_First;
 
 	m_First = m_Last = m_Current = NULL;
 	m_Count = 0;
 	m_CurPos = -1;
 
-	cTBList<T>::cItem *Prev;
+	typename cTBList<T>::cItem *Prev;
 	while (item) {
 		Prev = item;
 		item = item->Next;

---------------------------------------
Received: (at 271121-close) by bugs.debian.org; 23 Sep 2004 16:08:02 +0000
>From katie@ftp-master.debian.org Thu Sep 23 09:08:02 2004
Return-path: <katie@ftp-master.debian.org>
Received: from newraff.debian.org [208.185.25.31] (mail)
	by spohr.debian.org with esmtp (Exim 3.35 1 (Debian))
	id 1CAW8Y-0003lT-00; Thu, 23 Sep 2004 09:08:02 -0700
Received: from katie by newraff.debian.org with local (Exim 3.35 1 (Debian))
	id 1CAW2p-0007fG-00; Thu, 23 Sep 2004 12:02:07 -0400
From: Debian VDR Team <pkg-vdr-dvb-devel@lists.alioth.debian.org>
To: 271121-close@bugs.debian.org
X-Katie: $Revision: 1.51 $
Subject: Bug#271121: fixed in vdr-plugin-freecell 0.0.2-1
Message-Id: <E1CAW2p-0007fG-00@newraff.debian.org>
Sender: Archive Administrator <katie@ftp-master.debian.org>
Date: Thu, 23 Sep 2004 12:02:07 -0400
Delivered-To: 271121-close@bugs.debian.org
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2004_03_25 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Status: No, hits=-6.0 required=4.0 tests=BAYES_00,HAS_BUG_NUMBER 
	autolearn=no version=2.60-bugs.debian.org_2004_03_25
X-Spam-Level: 

Source: vdr-plugin-freecell
Source-Version: 0.0.2-1

We believe that the bug you reported is fixed in the latest version of
vdr-plugin-freecell, which is due to be installed in the Debian FTP archive:

vdr-plugin-freecell_0.0.2-1.diff.gz
  to pool/main/v/vdr-plugin-freecell/vdr-plugin-freecell_0.0.2-1.diff.gz
vdr-plugin-freecell_0.0.2-1.dsc
  to pool/main/v/vdr-plugin-freecell/vdr-plugin-freecell_0.0.2-1.dsc
vdr-plugin-freecell_0.0.2-1_i386.deb
  to pool/main/v/vdr-plugin-freecell/vdr-plugin-freecell_0.0.2-1_i386.deb
vdr-plugin-freecell_0.0.2.orig.tar.gz
  to pool/main/v/vdr-plugin-freecell/vdr-plugin-freecell_0.0.2.orig.tar.gz



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 271121@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Debian VDR Team <pkg-vdr-dvb-devel@lists.alioth.debian.org> (supplier of updated vdr-plugin-freecell package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Tue, 21 Sep 2004 20:16:00 +0200
Source: vdr-plugin-freecell
Binary: vdr-plugin-freecell
Architecture: source i386
Version: 0.0.2-1
Distribution: unstable
Urgency: low
Maintainer: Debian VDR Team <pkg-vdr-dvb-devel@lists.alioth.debian.org>
Changed-By: Debian VDR Team <pkg-vdr-dvb-devel@lists.alioth.debian.org>
Description: 
 vdr-plugin-freecell - Plugin to vdr that implements the card game "Freecell"
Closes: 271121
Changes: 
 vdr-plugin-freecell (0.0.2-1) unstable; urgency=low
 .
   * Tobias Grimm <tg@e-tobi.net>
     - new upstream release
 .
 vdr-plugin-freecell (0.0.1-6) unstable; urgency=low
 .
   * Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de>
     - Added patch from Andreas Jochens <aj@andaco.de> to be able to
       compile the plugin with gcc-3.4 (closes: #271121)
Files: 
 47501280654b926cb8959d75c49be19a 758 misc extra vdr-plugin-freecell_0.0.2-1.dsc
 b69d0862086cdb879df9473f3f914115 41576 misc extra vdr-plugin-freecell_0.0.2.orig.tar.gz
 537d60722ba2c8d301d89b003588bc28 3695 misc extra vdr-plugin-freecell_0.0.2-1.diff.gz
 cd367caf2c07ce7fa1eff57e8aa81259 43532 misc extra vdr-plugin-freecell_0.0.2-1_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFBUvAYgeVih7XOVJcRAvV1AJ9wRkJTTTyTk+IMTdUqsnSUV4/XbwCfSrbf
47L0dOKTxA1dcqtH53DW6E8=
=YBXD
-----END PGP SIGNATURE-----